Cog on linux (was: Re: [squeak-dev] Re: UI lockup in Squeak 4.1)

Levente Uzonyi leves at elte.hu
Tue Jul 13 16:46:41 UTC 2010


On Tue, 13 Jul 2010, Rob Withers wrote:

>
> --------------------------------------------------
> From: "Andreas Raab" <andreas.raab at gmx.de>
> Sent: Tuesday, July 13, 2010 11:29 AM
> To: "The general-purpose Squeak developers list" 
> <squeak-dev at lists.squeakfoundation.org>
> Subject: [squeak-dev] Re: UI lockup in Squeak 4.1
>
>> On 7/13/2010 6:39 AM, Rob Withers wrote:
>>> The low-space watcher is running, at least before the problem starts. I
>>> do eventually run out of memory, but the uninterruptable state happens
>>> before this.
>> 
>> In which case you want to do the following:
>> * Launch your app and wait until it's in the "growing state"
>> * Hit F2 and from the VM's preference menu choose "Debug" and then "Print 
>> all processes"
>> 
>> This will dump a list of all the call stacks of all processes. One of them 
>> is the culprit consuming memory and you'll probably be able to tell quickly 
>> from just looking at it (if not, you can email the output here but it 
>> typically takes a domain expert to understand what's going wrong).
>> 
>
> Thanks for this pointer, Andreas.
>
> This time it was a Cog VM which spasmed, which I use for my client (Squeak 
> 4.1 for server for use with linux vm - I have no ability to compile a linux 
> Cog vm:  would love if someone posted one that could be launched headless for 
> my webhost).

Cog works, but i think you're trying to use the -headless switch, which 
(is deprecated) and tells the vm to use the X11 display, but with no 
window. Servers usually don't have X11, so it won't work. You better use 
-vm-display-null (and -vm-sound-null). Try squeak --help for further 
useful options (like tuning Cog).


Levente

>
> It started running at 100% and I did your F2 -> Debug Options -> Print all 
> processes.  It started dumping a LOT to the Debug Console, then it froze, 
> still at 100%, but no increase in memory now and it went (Not Responding) and 
> greyed out the window.
>
> Luckily, I was able to see enough of the stack that was causing problems. It 
> is infinitely looping in this method:
>
> LanguageEnvironment class>>#localeID: localeID
> 	^self knownEnvironments at: localeID ifAbsent: [self localeID: 
> (LocaleID isoLanguage: 'en')]
>
> This has nothing to do with my code, except I must be calling something that 
> enters this loop.  It happens in both Cog (Windows) and Squeak4.1 (Linux 
> <headless> and Windows).
>
> Not sure how to fix this.
>
> Rob
>
>> Cheers,
>>   - Andreas
>> 
>
>



More information about the Squeak-dev mailing list