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

Reply via email to