Hi Chris and all!
When bulk loading 40000 objects I discovered this small bug - the fix is the inserted line "self resetLastClean" below. Obviously if we decide to clean after 30 seconds - then we need to reset lastClean. Otherwise it will start cleaning like a mad man after 30 seconds, which I of course experienced. :)
Hmmm, I just noticed Chris has discovered this already.
We have also experienced another problem on and off - but I haven't pin pointed it yet and it only appears when meddling around in development (halts and debuggers etc). The effect is that Squeak suddenly feel sluggish - and yes, behold - Magma is creating Processes like a machine gun. Running this snippet in fast sequence 5-10 times usually cleans them up enough to get it to stop:
(Process allInstances select: [:p | p isSuspended]) do: [:pp | pp terminate; install: nil]
It appears to be some issue in the proxy stuff. If noone else has seen it I can try to find the suspect method.
regards, Göran
shouldRemoveGarbageCollectedEntries | count size | Time millisecondClockValue - lastClean > 30000 ifFalse: [ ^ false ]. self resetLastClean. size := count := 0. objects keysAndValuesDo: [ : eachOid : eachObject | size := size + 1. eachObject ifNotNil: [ count := count + 1 ] ]. ^ size > (count * 2)
Hi Göran, I guess you and I were finally affected by the same bug at the same time (resetLastClean), thanks and let me know what other things you find.
As for the machine-gun Processes, my guess is you are running into the "non-debuggerable situation" I ran into and asked on Squeak-dev about 18-months ago:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-January/087592.h...
There were a couple of suggestions in this thread that may help you track down the root cause of this problem.
Thanks for letting me know though, and if you find out more information, please let me know and we'll get it fixed!
- Chris
--- goran@krampe.se wrote:
Hi Chris and all!
When bulk loading 40000 objects I discovered this small bug - the fix is the inserted line "self resetLastClean" below. Obviously if we decide to clean after 30 seconds - then we need to reset lastClean. Otherwise it will start cleaning like a mad man after 30 seconds, which I of course experienced. :)
Hmmm, I just noticed Chris has discovered this already.
We have also experienced another problem on and off - but I haven't pin pointed it yet and it only appears when meddling around in development (halts and debuggers etc). The effect is that Squeak suddenly feel sluggish - and yes, behold - Magma is creating Processes like a machine gun. Running this snippet in fast sequence 5-10 times usually cleans them up enough to get it to stop:
(Process allInstances select: [:p | p isSuspended]) do: [:pp | pp terminate; install: nil]
It appears to be some issue in the proxy stuff. If noone else has seen it I can try to find the suspect method.
regards, Göran
shouldRemoveGarbageCollectedEntries | count size | Time millisecondClockValue - lastClean > 30000 ifFalse: [ ^ false ]. self resetLastClean. size := count := 0. objects keysAndValuesDo: [ : eachOid : eachObject | size := size + 1. eachObject ifNotNil: [ count := count + 1 ] ]. ^ size > (count * 2) _______________________________________________ Magma mailing list Magma@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/magma
magma@lists.squeakfoundation.org