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

Chris Muller asqueaker at gmail.com
Wed Jul 14 17:39:22 UTC 2010


More information, I cannot launch even if I specify with -plugins
argument, with or without a trailing slash:

(without)

$ squeak -plugins /opt/4dst/thirdparty/squeak/lib/squeak/3.9-7 deluxe.image
could not find display driver vm-display-X11; either:
  - check that /opt/4dst/thirdparty/squeak/lib/squeak/3.9-7//vm-display-X11.so
exists, or
  - use the '-plugins <path>' option to tell me where it is, or
  - remove DISPLAY from your environment.
Aborted (core dumped)

(with)

$ squeak -plugins /opt/4dst/thirdparty/squeak/lib/squeak/3.9-7/ deluxe.image
could not find display driver vm-display-X11; either:
  - check that /opt/4dst/thirdparty/squeak/lib/squeak/3.9-7//vm-display-X11.so
exists, or
  - use the '-plugins <path>' option to tell me where it is, or
  - remove DISPLAY from your environment.
Aborted (core dumped)

Make sure it exists:

$ ls -l /opt/4dst/thirdparty/squeak/lib/squeak/3.9-7/vm-display-X11.so
ls: cannot access
/opt/4dst/thirdparty/squeak/lib/squeak/3.9-7/vm-display-X11.so: No
such file or directory

What?!  Oh, mine doesn't have ".so" on the end:

$ ls -l /opt/4dst/thirdparty/squeak/lib/squeak/3.9-7/vm-display-X11
-rwxr-xr-x 1 cmm ae 242110 2010-07-14 12:08
/opt/4dst/thirdparty/squeak/lib/squeak/3.9-7/vm-display-X11

Ok, so it's looking for it with a ".so" extension?  Copy to it to .so:

(in /opt/4dst/thirdparty/squeak/lib/squeak/3.9-7):

$ cp -a vm-display-X11 vm-display-X11.so

Same problem..  :-(



On Wed, Jul 14, 2010 at 12:26 PM, Chris Muller <asqueaker at gmail.com> wrote:
> Just to avoid any confusion:
>
>> $ squeak -version
>> 3.9-7 #1 Wed Jul 14 12:07:56 CDT 2010 gcc 4.3.3
>> Croquet Closure Cog VM [CoInterpreter VMMaker-oscog.20]
>> Linux chrisT60p 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59
>> UTC 2009 i686 GNU/Linux
>> plugin path: /opt/4dst/thirdparty/squeak/lib/squeak/3.9-7/ [default:
>> /opt/4dst/thirdparty/squeak/lib/squeak/3.9-7/]
>
> In my attempt to keep the discussion generic, I said I had put it in
> /usr/local/lib/squeak, but I actually did put it in
> /opt/4dst/thirdparty/squeak.
>
> But this does not change the discussion in terms of the problem I'm having..
>
>
>
> On Wed, Jul 14, 2010 at 12:22 PM, Chris Muller <asqueaker at gmail.com> wrote:
>> I followed these instructions to the letter, and get the same result I
>> got a few weeks ago.  I posted a question then, but no responses.  May
>> I try again?
>>
>> Everything seems to go just fine throughout these build instructions.
>> For the final step, I put it in /usr/local/lib.
>>
>>    make install prefix=/usr/local/lib/squeak
>>
>> and I made sure /usr/local/lib/squeak exists before doing the make install.
>>
>> The make install appears to work fine, and I am able to see squeak -version:
>>
>> $ squeak -version
>> 3.9-7 #1 Wed Jul 14 12:07:56 CDT 2010 gcc 4.3.3
>> Croquet Closure Cog VM [CoInterpreter VMMaker-oscog.20]
>> Linux chrisT60p 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59
>> UTC 2009 i686 GNU/Linux
>> plugin path: /opt/4dst/thirdparty/squeak/lib/squeak/3.9-7/ [default:
>> /opt/4dst/thirdparty/squeak/lib/squeak/3.9-7/]
>>
>> However, when I try to launch an image:
>>
>>  squeak my.image
>>
>> The image does not launch and I get the following:
>>
>>    could not find display driver vm-display-X11; either:
>>      - check that /usr/local/lib/squeak/3.9-7//vm-display-X11.so
>> exists, or
>>      - use the '-plugins <path>' option to tell me where it is, or
>>      - remove DISPLAY from your environment.
>>
>> notice the double-slash in reference to the plugins location.  Perhaps
>> that's the problem, but what's the correct solution?
>>
>> Any advice is greatly appreciated..
>>
>>  - Chris
>>
>>
>>
>> On Tue, Jul 13, 2010 at 4:04 PM, Levente Uzonyi <leves at elte.hu> wrote:
>>> On Tue, 13 Jul 2010, Rob Withers wrote:
>>>
>>>> Thanks Levente.  Unfortunately it did not work:
>>>>
>>>> ./lib/squeak/3.9-7/squeak: /lib/libc.so.6: version `GLIBC_2.11' not found
>>>> (required by ./lib/squeak/3.9-7/squeak)
>>>
>>> Seems like you have to build it yourself. Fortunately it's very easy, since
>>> Eliot commits the generated sources to the svn repo. So you can build a
>>> CogVM/StackVM without VMMaker. Here is how:
>>>
>>> "How to build the Cog Croquet VM on Unix
>>> -------------------------------
>>> 1. Install the tools (gcc, X11-devel, etc (e.g. libpng, libX11 & libxt
>>> source))
>>> 2. Check out the following sources from svn (if you haven't already - if
>>> you're
>>>   reading this in unixbuild its likely you've already got the sources)
>>>     svn co http://www.squeakvm.org/svn/squeak/branches/Cog/platforms
>>>     svn co http://www.squeakvm.org/svn/squeak/branches/Cog/src
>>>     svn co http://www.squeakvm.org/svn/squeak/branches/Cog/unixbuild
>>> 3. Open a shell, cd into the unixbuild/bld directory and execute
>>>     ../../platforms/unix/config/configure CFLAGS="-g -O2 -msse2
>>> -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0"
>>> LIBS=-lpthread
>>>     make install prefix=WhereYouWantTheVmToGo
>>> 4. At the end of it you'll get a new VM in the path provided via -prefix"
>>>
>>>
>>> Levente
>>>
>>>>
>>>> Rob
>>>>
>>>>
>>>>
>>>> ________________________________
>>>> From: Levente Uzonyi <leves at elte.hu>
>>>> To: The general-purpose Squeak developers list
>>>> <squeak-dev at lists.squeakfoundation.org>
>>>> Sent: Tue, July 13, 2010 3:21:43 PM
>>>> Subject: Re: Cog on linux (was: Re: [squeak-dev] Re: UI lockup in Squeak
>>>> 4.1)
>>>>
>>>> On Tue, 13 Jul 2010, Rob Withers wrote:
>>>>
>>>>> --------------------------------------------------
>>>>> From: "Levente Uzonyi" <leves at elte.hu>
>>>>> Sent: Tuesday, July 13, 2010 12:46 PM
>>>>> To: "The general-purpose Squeak developers list"
>>>>> <squeak-dev at lists.squeakfoundation.org>
>>>>> Subject: Cog on linux (was: Re: [squeak-dev] Re: UI lockup in Squeak 4.1)
>>>>>
>>>>>> 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).
>>>>>>
>>>>>
>>>>> I am trying to use the -headless switch.  Good to know it is deprecated.
>>>>>  So you happen to have a Cog for linux binary (version 17 - 20), which I
>>>>> could use?
>>>>
>>>> I have one, but I'm not sure it will work on your server. You can find it
>>>> here: http://leves.web.elte.hu/squeak/cog17.tar.gz . It's built on ubuntu
>>>> 10.04 and is optimized for core2.
>>>>
>>>>
>>>> Levente
>>>>
>>>>>
>>>>> Thanks,
>>>>> Rob
>>>>>
>>>>>>
>>>>>> 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