[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