On 29/11/2013, at 1:07 PM, john skaller wrote: > There is a leak somewhere in the webserver.
Well this is a bit weird: Actually collect actually collected 26 objects, still allocated: 1011 roots, 656 objects, 42215 bytes fthread socket 17 close delay .. fthread socket 18 shutdown now fthread 18 terminating! got connection 18 spawning fthread to handle connection 18 Waiting for connection Spawned fthread running for socket 18 got line from socket 18: GET /share/src/web/tools_flx.fdoc HTTP/1.1 well formed get... base= file=share/src/web/tools_flx.fdoc Loaded fdoc file share/src/web/tools_flx.fdoc, len=2543 Serve fdoc share/src/web/tools_flx.fdoc as xhtml Unable to understand @command '' Unable to understand @command '' Package: "gmp" Package file basename is gmp.fpc Can't find gmp.fpc in path list('/usr/local/lib/felix/felix-1.1.9dev/host/config') Unable to understand @command '' Unable to understand @command '' Actually collect actually collected 26 objects, still allocated: 1000 roots, 659 objects, 42220 bytes fthread socket 18 close delay .. fthread socket 17 shutdown now fthread 17 terminating! fthread socket 18 shutdown now fthread 18 terminating! Actually collect actually collected 24 objects, still allocated: 238 roots, 461 objects, 27777 bytes Actually collect actually collected 24 objects, still allocated: 2 roots, 461 objects, 27777 bytes Actually collect actually collected 24 objects, still allocated: 2 roots, 461 objects, 27777 bytes Actually collect actually collected 24 objects, still allocated: 2 roots, 461 objects, 27777 bytes .... 1000 or so page hits ... ackage file basename is gmp.fpc Can't find gmp.fpc in path list('/usr/local/lib/felix/felix-1.1.9dev/host/config') Unable to understand @command '' Unable to understand @command '' fthread socket 19 close delay .. fthread socket 17 shutdown now fthread 17 terminating! got connection 17 spawning fthread to handle connection 17 Waiting for connection Spawned fthread running for socket 17 got line from socket 17: GET /share/src/web/tools_flx.fdoc HTTP/1.1 well formed get... base= file=share/src/web/tools_flx.fdoc Loaded fdoc file share/src/web/tools_flx.fdoc, len=2543 Serve fdoc share/src/web/tools_flx.fdoc as xhtml Unable to understand @command '' Actually collect actually collected 27 objects, still allocated: 1020 roots, 659 objects, 47369 bytes Unable to understand @command '' Package: "gmp" Package file basename is gmp.fpc Can't find gmp.fpc in path list('/usr/local/lib/felix/felix-1.1.9dev/host/config') Unable to understand @command '' Unable to understand @command '' fthread socket 17 close delay .. fthread socket 18 shutdown now fthread 18 terminating! fthread socket 19 shutdown now fthread 19 terminating! fthread socket 17 shutdown now fthread 17 terminating! Actually collect actually collected 24 objects, still allocated: 466 roots, 461 objects, 28778 bytes Actually collect actually collected 24 objects, still allocated: 2 roots, 461 objects, 28778 bytes Actually collect actually collected 24 objects, still allocated: 2 roots, 461 objects, 28778 bytes Actually collect actually collected 24 objects, still allocated: 2 roots, 461 objects, 28778 bytes Now, I know I wrote most of this code... still I don't understand why there are so many roots! The roots are stored in an STL map. It's insane to have more roots than objects allocated!! Still at the end .. we're back to 2 roots and 461 objects, but some more bytes! And suddenly, unlike the last time I did this, each collection is reaping 24 objects instead of 2. No idea why! The only thing running at the end there is the fthread which calls the collector. That involves a few traced objects, but 24 doesn't make sense. And now we have 28.7K bytes allocated instead of 27.7K so one object is getting bigger (at least), since the same number are left over. Only varrays or char arrays can get bigger. Another run: thread 19 terminating! Actually collect actually collected 24 objects, still allocated: 18107 roots, 191 objects, 18480 bytes Actually collect actually collected 24 objects, still allocated: 3 roots, 190 objects, 18476 bytes Actually collect actually collected 24 objects, still allocated: 2 roots, 190 objects, 18476 bytes Actually collect actually collected 24 objects, still allocated: 2 roots, 190 objects, 18476 bytes Actually collect actually collected 24 objects, still allocated: 2 roots, 190 objects, 18476 bytes Come now .. you cannot have 18K roots and only 191 objects! Something is screwed up :) Actually collect actually collected 24 objects, still allocated: 106538 roots, 335 objects, 24905 bytes Actually collect actually collected 24 objects, still allocated: 147 roots, 190 objects, 19477 bytes Actually collect actually collected 24 objects, still allocated: 2 roots, 190 objects, 19477 bytes -- john skaller skal...@users.sourceforge.net http://felix-lang.org ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language