Crash during update?
Alexander Lazarević
Alexander at Lazarevic.de
Wed Oct 29 16:56:09 UTC 2003
Am Mittwoch, 29. Oktober 2003 17:07 schrieb Joshua 'Schwa' Gargus:
> I just noticed this, too. I have a self-compiled 3.6g VM, running on Linux
> on an Athlon. The update goes fine on Windows.
I see the crash happening at the beginning of the gc mark phase when the
ephemeron queue gets initialized. Shouldn't that code be the same on linux
and windows?
Alex
/* Mark phase of the mark and sweep garbage collector. Set the mark
bits of all reachable objects. Free chunks are untouched by this
process. Assume: All non-free objects are initially unmarked. Root
objects were unmarked when they were made roots. (Make sure this
stays true!!). */
int markPhase(void) {
register struct foo * foo = &fum;
int oop;
int i;
int classFormat;
int keyMarked;
int anyNew;
int oop1;
int ephemeron;
int ephemeronKey;
int nilOop;
int header;
foo->freeContexts = NilContext;
/* initialize the ephemeron queue */
foo->freeLargeContexts = NilContext;
foo->lastEphemeron = foo->nilObj;
foo->theEphemeronKeyOffset = 0;
if ((lengthOf(foo->specialObjectsOop)) >= ClassEphemeron) {
foo->theClassEphemeron = longAt(((((char *) foo->specialObjectsOop)) +
BaseHeaderSize) + (ClassEphemeron << 2));
/**** BOOOM ****/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 155 bytes
Desc: signature
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20031029/09d92442/attachment.pgp
More information about the Squeak-dev
mailing list
|