hi
I just pass a message. A french guy got a lot of problem to make squeakmap working with the latest 3.7 vm. Is it a well-known problem? -------- Message original -------- Sujet: [BUG]UndefinedObject(Object)>>doesNotUnderstand: #do: Date: Thu, 19 Aug 2004 15:34:55 +0200 (CEST) De: damien.cassou@laposte.net Pour: damien.cassou@laposte.net
here insert explanation of what you were doing, suspect changes you've made and so forth.
19 August 2004 3:34:40 pm
VM: unix - a SmalltalkImage Image: Squeak3.7gamma [latest update: #5985]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /home/quetzalcoatl/squeak-3.7 Trusted Dir /home/quetzalcoatl/squeak-3.7/secure Untrusted Dir /home/quetzalcoatl/squeak-3.7/untrusted
UndefinedObject(Object)>>doesNotUnderstand: #do: Receiver: nil Arguments and temporary variables: aMessage: do: [] in ImageSegment>>comeFullyUpOnReload: {[:importedObject | impo...etc... Receiver's instance variables: nil
ImageSegment>>comeFullyUpOnReload: Receiver: an ImageSegment Arguments and temporary variables: smartRefStream: a SmartRefStream a ByteArray(39 70 114 111 109 32 83 113 117 10...etc... mapFakeClassesToReal: an IdentityDictionary(Fake37SMSqueakMap->SMSqueakMap ) ccFixups: true receiverClasses: an IdentitySet() rootsToUnhiberhate: nil myProject: nil importedObject: nil aFake: nil Receiver's instance variables: arrayOfRoots: nil segment: a WordArrayForSegment(1929386342 423113227 2164979344 2161840573 31614...etc... outPointers: #(Fake37SMSqueakMap nil 'sm' true Dictionary SMFileCache Array an ...etc... state: #imported segmentName: nil fileName: nil endMarker: SmartRefStream(ReferenceStream)>>next userRootCnt: 1 renamedClasses: nil
SmartRefStream(DataStream)>>next Receiver: a SmartRefStream a ByteArray(39 70 114 111 109 32 83 113 117 101 97 107 51 46 54 32 111 10...etc... Arguments and temporary variables: type: 16 selector: #readShortInst anObject: an ImageSegment isARefType: true pos: nil internalObject: nil Receiver's instance variables: byteStream: a RWBinaryOrTextStream a ByteArray(39 70 114 111 109 32 83 113 117 ...etc... topCall: #marked basePos: 151 references: an IdentityDictionary() objects: an IdentityDictionary(5->#('class structure' a Dictionary(#Array->#(0)...etc... currentReference: 2959 fwdRefEnds: an IdentityDictionary() blockers: an IdentityDictionary() skipping: an IdentitySet() insideASegment: false structures: a Dictionary(#Array->#(0) #ArrayedCollection->#(0) #Association->#(...etc... steady: a Set(Integer UUID SMDocument Symbol SMCategorizableObject String Seque...etc... reshaped: nil renamed: a Dictionary(#FlasherMorph->#Flasher ) renamedConv: a Dictionary(1->#SMSqueakMap 5->#Dictionary 6->#SMFileCache 7->#Ar...etc... superclasses: a Dictionary(#Array->#ArrayedCollection #ArrayedCollection->#Sequ...etc... progressBar: nil objCount: nil classInstVars: nil
SmartRefStream(ReferenceStream)>>next Receiver: a SmartRefStream a ByteArray(39 70 114 111 109 32 83 113 117 101 97 107 51 46 54 32 111 10...etc... Arguments and temporary variables: curPosn: 2959 skipToPosn: nil haveIt: false theObject: false wasSkipping: nil Receiver's instance variables: byteStream: a RWBinaryOrTextStream a ByteArray(39 70 114 111 109 32 83 113 117 ...etc... topCall: #marked basePos: 151 references: an IdentityDictionary() objects: an IdentityDictionary(5->#('class structure' a Dictionary(#Array->#(0)...etc... currentReference: 2959 fwdRefEnds: an IdentityDictionary() blockers: an IdentityDictionary() skipping: an IdentitySet() insideASegment: false structures: a Dictionary(#Array->#(0) #ArrayedCollection->#(0) #Association->#(...etc... steady: a Set(Integer UUID SMDocument Symbol SMCategorizableObject String Seque...etc... reshaped: nil renamed: a Dictionary(#FlasherMorph->#Flasher ) renamedConv: a Dictionary(1->#SMSqueakMap 5->#Dictionary 6->#SMFileCache 7->#Ar...etc... superclasses: a Dictionary(#Array->#ArrayedCollection #ArrayedCollection->#Sequ...etc... progressBar: nil objCount: nil classInstVars: nil
--- The full stack --- UndefinedObject(Object)>>doesNotUnderstand: #do: ImageSegment>>comeFullyUpOnReload: SmartRefStream(DataStream)>>next SmartRefStream(ReferenceStream)>>next - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SmartRefStream>>next SmartRefStream>>scanFrom: ObjectScanner>>scanFrom: [] in RWBinaryOrTextStream(PositionableStream)>>fileInAnnouncing: {[val := (self peekFor: $!) ifTrue: [(Compiler evaluate: self nextChunk l...]} BlockContext>>on:do: [] in RWBinaryOrTextStream(PositionableStream)>>fileInAnnouncing: {[:bar | [self atEnd] whileFalse: [bar value: self position. self skipS...]} ...etc...
Bonjour,
This is only a guess, but it looks like some kind of problem loading image segments from disk. Try getting rid of the sm cache directory, and maybe it will work.
$ cd /home/quetzalcotl/squeak-3.7 $ mv sm sm.save $ squeak
- Dave
On Sat, Aug 28, 2004 at 12:42:57PM +0200, stéphane ducasse wrote:
hi
I just pass a message. A french guy got a lot of problem to make squeakmap working with the latest 3.7 vm. Is it a well-known problem? -------- Message original -------- Sujet: [BUG]UndefinedObject(Object)>>doesNotUnderstand: #do: Date: Thu, 19 Aug 2004 15:34:55 +0200 (CEST) De: damien.cassou@laposte.net Pour: damien.cassou@laposte.net
here insert explanation of what you were doing, suspect changes you've made and so forth.
19 August 2004 3:34:40 pm
VM: unix - a SmalltalkImage Image: Squeak3.7gamma [latest update: #5985]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /home/quetzalcoatl/squeak-3.7 Trusted Dir /home/quetzalcoatl/squeak-3.7/secure Untrusted Dir /home/quetzalcoatl/squeak-3.7/untrusted
UndefinedObject(Object)>>doesNotUnderstand: #do: Receiver: nil Arguments and temporary variables: aMessage: do: [] in ImageSegment>>comeFullyUpOnReload: {[:importedObject | impo...etc... Receiver's instance variables:
I already suggested that to him without success. I will wait until goran is back.
Stef
On 28 août 04, at 14:33, David T. Lewis wrote:
Bonjour,
This is only a guess, but it looks like some kind of problem loading image segments from disk. Try getting rid of the sm cache directory, and maybe it will work.
$ cd /home/quetzalcotl/squeak-3.7 $ mv sm sm.save $ squeak
- Dave
On Sat, Aug 28, 2004 at 12:42:57PM +0200, stéphane ducasse wrote:
hi
I just pass a message. A french guy got a lot of problem to make squeakmap working with the latest 3.7 vm. Is it a well-known problem? -------- Message original -------- Sujet: [BUG]UndefinedObject(Object)>>doesNotUnderstand: #do: Date: Thu, 19 Aug 2004 15:34:55 +0200 (CEST) De: damien.cassou@laposte.net Pour: damien.cassou@laposte.net
here insert explanation of what you were doing, suspect changes you've made and so forth.
19 August 2004 3:34:40 pm
VM: unix - a SmalltalkImage Image: Squeak3.7gamma [latest update: #5985]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /home/quetzalcoatl/squeak-3.7 Trusted Dir /home/quetzalcoatl/squeak-3.7/secure Untrusted Dir /home/quetzalcoatl/squeak-3.7/untrusted
UndefinedObject(Object)>>doesNotUnderstand: #do: Receiver: nil Arguments and temporary variables: aMessage: do: [] in ImageSegment>>comeFullyUpOnReload: {[:importedObject | impo...etc... Receiver's instance variables:
"David T. Lewis" lewis@mail.msen.com wrote:
Bonjour,
This is only a guess, but it looks like some kind of problem loading image segments from disk.
It looks like the same problem I occasionally get because the squeak object memory wraps over the 2Gb line; a small part of the segment loading prim goes bad if the addresses seem to be -ve int values. I'm sure we discussed this on-list some time ago but I can't actually find relevant mails right now. It is quite remarkable how few problems are caused by this effect.
tim -- Tim Rowledge, tim@sumeru.stanford.edu, http://sumeru.stanford.edu/tim Logic: The art of being wrong with confidence...
On Sat, Aug 28, 2004 at 05:58:11PM -0700, Tim Rowledge wrote:
"David T. Lewis" lewis@mail.msen.com wrote:
Bonjour,
This is only a guess, but it looks like some kind of problem loading image segments from disk.
It looks like the same problem I occasionally get because the squeak object memory wraps over the 2Gb line; a small part of the segment loading prim goes bad if the addresses seem to be -ve int values. I'm sure we discussed this on-list some time ago but I can't actually find relevant mails right now. It is quite remarkable how few problems are caused by this effect.
Ah, yes, that's probably it. If I recall, the problem showed up for people running the newer Linux 2.6 kernels (maybe only on 64 bit machines? I'm not sure). If I remember right, I think that it was possible to work around the problem by forcing the VM to use a fixed memory allocation, something like "squeak -memory 40m myimage". I don't happen to have a Linux 2.6 system or a 64 bit machine to confirm this, but it's worth trying the " -memory" option to see if it helps.
Damien, essayez ceci:
$ squeak -memory 40m squeak.image
Dave
Not simply a Linux problem - if this is the ImageSegment issue I think you guys are referring to (apologies if not) then the problem appeared under OpenBSD 3.5 too; code sharing between L2.6 and OBSD3.5 kernels is of course non-existent.
But yeah, the quick-'n'-dirty hack is to avoid dynamic allocation by specifying a fixed heap, iirc. Goran and I submitted a few messages reporting such problems in July, with regards to SM update problems, based around ImageSegment negative pointers.
Goran's post: http://lists.squeakfoundation.org/pipermail/squeak-dev/2004-July/ 079498.html Mine: http://lists.squeakfoundation.org/pipermail/squeak-dev/2004-July/ 079505.html
Hope that helps.
Regards, Marc
On Sunday, August 29, 2004, at 04:41 am, David T. Lewis wrote:
[...]
Ah, yes, that's probably it. If I recall, the problem showed up for people running the newer Linux 2.6 kernels (maybe only on 64 bit machines? I'm not sure). If I remember right, I think that it was possible to work around the problem by forcing the VM to use a fixed memory allocation, something like "squeak -memory 40m myimage". I don't happen to have a Linux 2.6 system or a 64 bit machine to confirm this, but it's worth trying the " -memory" option to see if it helps.
Damien, essayez ceci:
$ squeak -memory 40m squeak.image
Dave
David T. Lewis a écrit :
On Sat, Aug 28, 2004 at 05:58:11PM -0700, Tim Rowledge wrote:
"David T. Lewis" lewis@mail.msen.com wrote:
Bonjour,
This is only a guess, but it looks like some kind of problem loading image segments from disk.
It looks like the same problem I occasionally get because the squeak object memory wraps over the 2Gb line; a small part of the segment loading prim goes bad if the addresses seem to be -ve int values. I'm sure we discussed this on-list some time ago but I can't actually find relevant mails right now. It is quite remarkable how few problems are caused by this effect.
Ah, yes, that's probably it. If I recall, the problem showed up for people running the newer Linux 2.6 kernels (maybe only on 64 bit machines? I'm not sure). If I remember right, I think that it was possible to work around the problem by forcing the VM to use a fixed memory allocation, something like "squeak -memory 40m myimage". I don't happen to have a Linux 2.6 system or a 64 bit machine to confirm this, but it's worth trying the " -memory" option to see if it helps.
Damien, essayez ceci:
$ squeak -memory 40m squeak.image
Dave
$ squeak -version 3.7b-5 #1 Mon Jul 19 20:31:04 PDT 2004 gcc 3.3.4 Squeak3.7beta of '1 April 2004' [latest update: #5868] Linux gadget.dnsalias.net 2.4.26 #15 Wed Jun 23 08:06:00 PDT 2004 i686 GNU/Linux default plugin location: /usr/lib/squeak/3.7b-5/*.so $ uname -r 2.6.4-ck1 $ squeak -memory 40m squeak.image I test this command, but squeak bug immediately. I have joined, the debug.log.
Thanks
On Sun, Aug 29, 2004 at 09:32:33PM +0200, Damien Cassou wrote:
David T. Lewis a écrit :
On Sat, Aug 28, 2004 at 05:58:11PM -0700, Tim Rowledge wrote:
"David T. Lewis" lewis@mail.msen.com wrote:
Damien, essayez ceci:
$ squeak -memory 40m squeak.image
$ squeak -version 3.7b-5 #1 Mon Jul 19 20:31:04 PDT 2004 gcc 3.3.4 Squeak3.7beta of '1 April 2004' [latest update: #5868] Linux gadget.dnsalias.net 2.4.26 #15 Wed Jun 23 08:06:00 PDT 2004 i686 GNU/Linux default plugin location: /usr/lib/squeak/3.7b-5/*.so $ uname -r 2.6.4-ck1 $ squeak -memory 40m squeak.image I test this command, but squeak bug immediately. I have joined, the debug.log.
I think that your system is trying to start Squeak with a script file. Perhaps you did this:
$ squeak -memory 40m squeak.image script => evaluate "script" on startup => BOOM
Or perhaps this:
$ squeak -memory 40m squeak.* => squeak memory 40m squeak.image squeak.something => evavluate "squeak.something" => BOOM
Try to run Squeak with the exact name of the image file.
Essayez d'employer le nom exact "squeak.image", pas "squeak*".
Dave
David T. Lewis a écrit :
On Sun, Aug 29, 2004 at 09:32:33PM +0200, Damien Cassou wrote:
David T. Lewis a écrit :
On Sat, Aug 28, 2004 at 05:58:11PM -0700, Tim Rowledge wrote:
"David T. Lewis" lewis@mail.msen.com wrote:
Damien, essayez ceci:
$ squeak -memory 40m squeak.image
$ squeak -version 3.7b-5 #1 Mon Jul 19 20:31:04 PDT 2004 gcc 3.3.4 Squeak3.7beta of '1 April 2004' [latest update: #5868] Linux gadget.dnsalias.net 2.4.26 #15 Wed Jun 23 08:06:00 PDT 2004 i686 GNU/Linux default plugin location: /usr/lib/squeak/3.7b-5/*.so $ uname -r 2.6.4-ck1 $ squeak -memory 40m squeak.image I test this command, but squeak bug immediately. I have joined, the debug.log.
I think that your system is trying to start Squeak with a script file. Perhaps you did this:
$ squeak -memory 40m squeak.image script => evaluate "script" on startup => BOOM
Or perhaps this:
$ squeak -memory 40m squeak.* => squeak memory 40m squeak.image squeak.something => evavluate "squeak.something" => BOOM
Try to run Squeak with the exact name of the image file.
Essayez d'employer le nom exact "squeak.image", pas "squeak*".
Dave
Sorry, I did exactely what you wrote.
squeak -memory 40m squeak.image
Damien
On Mon, Aug 30, 2004 at 08:13:39AM +0200, Damien Cassou wrote:
David T. Lewis a écrit :
On Sun, Aug 29, 2004 at 09:32:33PM +0200, Damien Cassou wrote:
David T. Lewis a écrit :
Damien, essayez ceci:
$ squeak -memory 40m squeak.image
$ squeak -version 3.7b-5 #1 Mon Jul 19 20:31:04 PDT 2004 gcc 3.3.4 Squeak3.7beta of '1 April 2004' [latest update: #5868] Linux gadget.dnsalias.net 2.4.26 #15 Wed Jun 23 08:06:00 PDT 2004 i686 GNU/Linux default plugin location: /usr/lib/squeak/3.7b-5/*.so $ uname -r 2.6.4-ck1 $ squeak -memory 40m squeak.image I test this command, but squeak bug immediately. I have joined, the debug.log.
I think that your system is trying to start Squeak with a script file. Perhaps you did this:
$ squeak -memory 40m squeak.image script => evaluate "script" on startup => BOOM
Or perhaps this:
$ squeak -memory 40m squeak.* => squeak memory 40m squeak.image squeak.something => evavluate "squeak.something" => BOOM
Try to run Squeak with the exact name of the image file.
Essayez d'employer le nom exact "squeak.image", pas "squeak*".
Dave
Sorry, I did exactely what you wrote.
squeak -memory 40m squeak.image
Oh, well ... I'm sorry it did not work. Perhaps someone else has an idea? See previous email from Damien for the debug log.
The original problem seemed to be related to loading image segments, so I had suggested running with "-memory 40m" to restrict memory ranges. This apparently got us by the original problem, but now Damien is seeing a problem (unrelated???) that looked to me like it might be due to Squeak trying to read a startup script file with binary data in it. No joy, and I'm out of ideas.
Reply in French and/or simple English if possible.
Dave
I can give one of you an access to my computer through ssh with X forwarded. I can give an access through vnc too, but I need to learn how to configure it.
Damien
Hi Damien!
I would have responded earlier if I hadn't been away in China. I am the SqueakMap "guy".
Damien Cassou damien.cassou@laposte.net wrote:
Damien Cassou a écrit :
I can give one of you an access to my computer through ssh with X forwarded. I can give an access through vnc too, but I need to learn how to configure it.
Nobody is interested by this connection to test the bug with squeakMap ?
Well, I have looked over your debug.log and this problem is not related to SM. It seems that Squeak is trying to install a script file that normally is given on the command line after the image name.
But you clearly stated that the last thing on the command line was the image name "squeak.image". So this is a bit baffling. I run 3.7-b5 on 2.6.8 and do not have this issue.
If your image is named "squeak.image" I think you don't need to give it on the command line. Does it work without it?
regards, Göran
Well, I have looked over your debug.log and this problem is not related to SM. It seems that Squeak is trying to install a script file that normally is given on the command line after the image name.
But you clearly stated that the last thing on the command line was the image name "squeak.image". So this is a bit baffling. I run 3.7-b5 on 2.6.8 and do not have this issue.
If your image is named "squeak.image" I think you don't need to give it on the command line. Does it work without it?
Here are my tests :
$ squeak -version 3.7b-5 #1 Tue Apr 6 20:36:57 CEST 2004 gcc egcs-2.91.66 Squeak3.7beta of '1 April 2004' [latest update: #5868] Linux pingu.inria.fr 2.2.19-6.2.7 #1 Thu Jun 14 07:51:10 EDT 2001 i686 default plugin location: /usr/local/lib/squeak/3.7b-5/*.so
Image Squeak 3.7 gamma 5985
$ mv Squeak3.7gamma1.image squeak.image $ mv Squeak3.7gamma1.changes squeak.changes $ squeak (it works but not for SM, same bug) $ squeak -memory 40m (no problem at all) $ squeak -memory 40m squeak.image (no problem at all - As you can see, the previously reported bug doesn't happen, squeak does not want to launch a script anymore, I don't understand)
Thanks
Damien
Hi!
Damien Cassou damien.cassou@laposte.net wrote: [SNIP]
Here are my tests :
$ squeak -version 3.7b-5 #1 Tue Apr 6 20:36:57 CEST 2004 gcc egcs-2.91.66 Squeak3.7beta of '1 April 2004' [latest update: #5868] Linux pingu.inria.fr 2.2.19-6.2.7 #1 Thu Jun 14 07:51:10 EDT 2001 i686 default plugin location: /usr/local/lib/squeak/3.7b-5/*.so
Image Squeak 3.7 gamma 5985
$ mv Squeak3.7gamma1.image squeak.image $ mv Squeak3.7gamma1.changes squeak.changes $ squeak (it works but not for SM, same bug) $ squeak -memory 40m (no problem at all) $ squeak -memory 40m squeak.image (no problem at all - As you can see, the previously reported bug doesn't happen, squeak does not want to launch a script anymore, I don't understand)
Thanks
Damien
Ok, so then the issue is "gone" for now?
regards, Göran
goran.krampe@bluefish.se a écrit :
Hi!
Damien Cassou damien.cassou@laposte.net wrote: [SNIP]
Here are my tests :
$ squeak -version 3.7b-5 #1 Tue Apr 6 20:36:57 CEST 2004 gcc egcs-2.91.66 Squeak3.7beta of '1 April 2004' [latest update: #5868] Linux pingu.inria.fr 2.2.19-6.2.7 #1 Thu Jun 14 07:51:10 EDT 2001 i686 default plugin location: /usr/local/lib/squeak/3.7b-5/*.so
Image Squeak 3.7 gamma 5985
$ mv Squeak3.7gamma1.image squeak.image $ mv Squeak3.7gamma1.changes squeak.changes $ squeak (it works but not for SM, same bug) $ squeak -memory 40m (no problem at all) $ squeak -memory 40m squeak.image (no problem at all - As you can see, the previously reported bug doesn't happen, squeak does not want to launch a script anymore, I don't understand)
Thanks
Damien
Ok, so then the issue is "gone" for now?
It seems
I run 3.7-b5 on 2.6.8 and do not have this issue.
There is a person who has a problem with your kernel and Squeak. Please reade the post "kernel, Squeak and memory" (08/27/2004 by Jan B. Krejci). Yesterday, he tells me that he has to boot another kernel to use squeak.
Thanks
Damien
David T. Lewis a écrit :
Bonjour,
This is only a guess, but it looks like some kind of problem loading image segments from disk. Try getting rid of the sm cache directory, and maybe it will work.
$ cd /home/quetzalcotl/squeak-3.7 $ mv sm sm.save $ squeak
Hi,
it Doesn't help since I have tried with a fresh and clean directory. Sorry :-(
squeak-dev@lists.squeakfoundation.org