[Seaside] HIGH CPU - not frozen, but s...l....o....w seaside image

Florian Minjat florian.minjat at emn.fr
Wed Mar 21 17:13:43 UTC 2007


I didn't manage to get information from my image last time. So I just 
killed it and launched it with nohup to be sure I can debug it next times.
And it just hanged now.
I could get the debug from gdb :
[...]
-1520847412 Semaphore>critical:
-1520847840 Delay>schedule
-1520847932 Delay>wait
-1520848024 EventSensor>wait2ms
-1520848116 EventSensor>primMousePt
-1520848300 InputSensor>mousePoint
-1520848392 InputSensor>cursorPoint
-1520848484 SmartRefStream>nextPut:
-1521068232 [] in DOLBDD>saveBDDOnFilesPrefix:
-1521068660 BlockContext>on:do:
-1521068752 DOLBDD>saveBDDOnFilesPrefix:
[...]

So the bug comes from SmartRefStream>nextPut: which display a progress 
bar even when the image is headless and can't get a position from the 
cursor.
No idea why it didn't hang before though.
No idea why there isn't a timeout with an Exception...

I just stripped SmartRefStream>nextPut: from the progress bar thing, 
hopping it will solve my problem. But there should be other parts in 
the image where the same behavior may arise.

Florian

Adrian Lienhard wrote:
> I guess, the UI is frozen and alt-. does not work anymore (or you run 
> headless)...
> 
> Then, I suggest to printAllStacks(), printCurrentStack() (or similar), 
> and do a backtrace with gdb when the image is in a bad state. This 
> should give you more datapoints.
> 
> Please keep us up to date or ask for more help if necessary.
> 
> Adrian
> 
> Btw., any unusual high memory consumption of such an image?
> 
> 
> On Mar 19, 2007, at 13:29 , Florian Minjat wrote:
> 
>> I have almost the same problem...
>>
>> I am running Squeak3.9 with Seaside2.7a1-mb.205. I use squeak as a 
>> transparent persistant object database and save the image every 
>> 12hours. Everything works fine.
>>
>> BUT after some days, sometimes two days, sometimes one week, the image 
>> finish to hang strangely : everything works fine in the seaside app, 
>> you can use the application normally perhaps a little slower than 
>> usual, but it could be my network. But any attempt to save the image, 
>> or update the code via monticello, or use a SmartRefStream to save a 
>> part of the image using a Seaside app just makes my browser load until 
>> timeout (with WAVersionUploader for example). If I check the process 
>> using top, I just see Squeak at 99.9% CPU. If I use the WAScreenshot 
>> app to look at the UI, there is no debugger, no error, nothing out of 
>> the ordinary...
>>
>> This is very bad because when it ends like this, I have no choice to 
>> kill squeak and loose all the data since the last save of the image. 
>> And when I restart with the last save, everything is ok ant squeak is 
>> quick and very responsive. Until the next times it hangs...
>>
>> Every 12 hours I 'clean' the image before saving it with this code :
>>     WARegistry clearAllHandlers.
>>     MCFileBasedRepository flushAllCaches.
>>     Smalltalk garbageCollect.
>>
>> I run this code and the save of the image inside an on:do: Error block 
>> with log of the stack in case of an Error, but I get nothing.
>>
>> I don't know what to add to be sure the image will stay healthy. 
>> Should I save then kill  and restart the image each night ?
>>
>> How can I track or inspect or debug the image in such a state to find 
>> out what is happening?
>>
>> Thanks in advance for any suggestion, I am a little lost with no clue 
>> there.
>>
>> Florian
>>
>> Philippe Marschall wrote:
>>> 2007/3/16, Brad Fuller <brad at sonaural.com>:
>>>> I have an image that seemed to not respond, and was running about 99%
>>>> (from top).  I tried ATL+. to see if that would help from VNC, but 
>>>> isn't
>>>> that just for UI issues?
>>> No
>>>> What are good ways to found out what is
>>>> happening to an image that is taking up all CPU time?
>>> Process explorer or gdb.
>>>> After a while, it went down to about 45% and has slowed to a whopping
>>>> but steady 40%. So, I'm just going to wait until it settles down.
>>>>
>>>> In the meantime, I'd like to find out what was going on. This is a
>>>> remote, headless seaside image (latest production) and 3.9 Final.
>>>>
>>>> Any advice is much appreciated!
>>>>
>>>> thanks,
>>>> brad
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Seaside mailing list
>>>> Seaside at lists.squeakfoundation.org
>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>>
>>> _______________________________________________
>>> Seaside mailing list
>>> Seaside at lists.squeakfoundation.org
>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>> _______________________________________________
>> Seaside mailing list
>> Seaside at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> 
> _______________________________________________
> Seaside mailing list
> Seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> 



More information about the seaside mailing list