Thanks! Martin
On Tue, Nov 11, 2008 at 12:02, Yuri Gaevsky <[EMAIL PROTECTED]> wrote: > Hi, Martin. > > Several months ago we excluded this test from JCK6b due to reasons you've > described. > > Thanks, > -Yuri > > Martin Buchholz wrote: >> >> Executive summary: Invalid test case; please file a JCK bug and add to >> the JCK exclude list. >> >> Whiile running the JCK, >> we had random crashes due to memory corruption in the JCK test >> >> JCK-runtime-6b/tests/vm/jvmti/GetConstantPool/gcpl001/gcpl00104/gcpl00104.c >> >> The test suffers from multiple memory corruption bugs. >> >> E.g. in this piece of code >> >> size = 5; >> ..... >> cp_info = (gcpl00104_Integer_info*) >> malloc(sizeof(gcpl00104_Integer_info)); >> if (cp_info != NULL) { >> cp_info->tag = cp_bytes[*offset]; >> lprintf(env, "0x"); >> for (i = 1; i < size; i++) { >> cp_info->bytes[i] = cp_bytes[*offset + i]; >> lprintf(env, "%0*X", 2, (int) cp_info->bytes[i]); >> } >> >> the test case is writing to cp_info->bytes[4], >> but bytes is of type char[4], so that's (possibly) >> one past the end of the malloc'ed region. >> >> Other functions in this test have similar bugs. >> >> Whether you actually see a crash is strongly dependent on your malloc >> implementation. >> valgrind was able to pinpoint the cause; to valgrindise the JDK, you >> need the flag >> --trace-children >> >> Thanks, >> >> Martin >