[BUG HUNT!]ImageSegment loading troubles revisited
goran.krampe at bluefish.se
goran.krampe at bluefish.se
Fri Jul 2 08:04:56 UTC 2004
Hi Ian and all!
I have been posting incoherently about having trouble loading
ImageSegments :) - but then "zpg" (can't remember name, sorry) appeared
on IRC and had the exact same issue on OpenBSD!
The issue is that primitive 99 fails, which is called in
ImageSegment>>loadSegmentFrom:outPointers: and which is defined in
Interpreter>>primitiveLoadImageSegment.
"zpg" dug into gdb and managed to track it down to the two calls to
#oopHasAcceptableClass: (which btw, is only called from this method) -
if he commented them out it worked. But that is of course not a
solution. ;)
I then proceeded to look at that code and noticed that it relies on
instvar endOfMemory, this triggered me into testing if running squeak
with "-memory 30m" changed anything - and sure, then it works!
So... all you VM gurus out there. What the heck is going on? Ian? Help!!
:)
Noteworthy:
I use GCC 3.3.3, but zgp uses 2.95 something. I run Linux 2.6.7, he uses
OpenBSD. I have tried both 3.6 VM, 3.7b-5 VM, and the precompiled 3.6
VM, same results. I have also tried recompiling (many times) the VM
without any optimization whatsoever - no difference. I actually think
this may have something to do with how the 2.6 kernel (and OpenBSD?)
handles memory layout or something. A bit weird that only we have
stumbled on this.
regards, Göran
PS. I am installing insight (gdb thingy I think) right now to try
pinpointing it further.
More information about the Squeak-dev
mailing list
|