On Wed, 14 Jul 2010, Frank Shearar wrote:
On 2010/07/13 23:04, Levente Uzonyi 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
- 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"
Are there any additional requirements like gcc version, for instance?
I ask because I get errors on the above instructions, on FreeBSD 6.4, running gcc 3.4.6. I can attach configure's output and whatnot, if you're interested.
If configure failed, then please attach the output and continue this thread on the vm-dev list.
Levente
frank
Levente
Rob
From: Levente Uzonyi leves@elte.hu To: The general-purpose Squeak developers list squeak-dev@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@elte.hu Sent: Tuesday, July 13, 2010 12:46 PM To: "The general-purpose Squeak developers list" squeak-dev@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@gmx.de Sent: Tuesday, July 13, 2010 11:29 AM To: "The general-purpose Squeak developers list" squeak-dev@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 >