> Hi everyone. hi,
> i'm currently modifying kaffe's verifier (not posted yet because i'm > trying to get it more or less bug-for-bug compatible with Sun...they don't > really follow their own damn spec too closely, it turns out) and class > loader to take advantage of a GJ-like signature for running generic code > faster. Could you post it anyways? Itd be nice to take a look at it. > the problem comes when the GJ Signature attribute is malformed. the > method readAttribute() in readClass.c returns false, and > > kaffe-bin: mem/gc-incremental.c:1064: gcFree: Assertion `!!!"Attempt to > explicitly free nonfixed object"' failed. > > is what i get. So, I'm not seeing this, could you use gdb and give us a back trace? I am seeing another error though, libraries/clib/native/SystemClassLoader.c has a broken conditional: if (!strcmp(info.classname, "java.lang.NoClassDefFoundError")) { ... } else if ((info.type & KERR_EXCEPTION) && !strcmp(info.classname, "java.lang.NoClassDefFoundError")) { } It looks like patch just messed up, the second 'if' is the correct conditional, but its block is empty. So, the block should be deleted and the conditional moved up: if ((info.type & KERR_EXCEPTION) && !strcmp(info.classname, "java.lang.NoClassDefFoundError")) { ... } > this is bad because that means whenever a class file is > corrupted a little bit (or at least the attributes in a class file are > corrupted) and readAttribute returns false, this pretty bad thing happens. > > to reproduce this, simply add the following case to readAttribute: > > else if (!strcmp(name->data, "Signature")) { > return false; > } Are you using the current CVS? > cheers, > ~rob tim stack _______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe