kaffe dumps core in thread regression tests
Davor Cubranic
cubranic at cs.ubc.ca
Thu May 14 14:43:53 PDT 1998
Again, Solaris 2.6, running regression tests on latest snapshot. Kaffe
passes three and fails on the other two (dumping core in the process).
(Running as interpreter, not JIT.)
This is the session output for the first failing case:
-n CatchDeath ...
Abort - core dumped
error running
Should have got:
Caught java.lang.ThreadDeath
Caught java.lang.ThreadDeath
Caught java.lang.ThreadDeath
But got instead:
Caught java.lang.ThreadDeath
Caught java.lang.ThreadDeath
locks.c:191: failed assertion `lk->holder == (*Kaffe_ThreadInterface.currentNative)()'
gdb trace of the core file:
#0 0xef7072e0 in _libc_kill ()
#1 0xef6ba558 in abort ()
#2 0x11b34 in __eprintf (string=0xef79e288 "%s:%u: failed assertion `%s'\n",
expression=0xef79e2a8 "locks.c", line=191,
filename=0xef79e2d8 "lk->holder == (*Kaffe_ThreadInterface.currentNative)()")
#3 0xef78df1c in _unlockMutex (addr=0x9ee68) at locks.c:191
#4 0xef79cff4 in virtualMachine (meth=0xfddc8, arg=0x153c30, retval=0x153f10,
tid=0x1233e0) at kaffe.def:2444
#5 0xef79ce10 in virtualMachine (meth=0x85ae8, arg=0x153df0, retval=0x153f10,
tid=0x1233e0) at kaffe.def:2320
#6 0xef78f0b8 in callMethodV (meth=0x85ae8, func=0x85ae8, obj=0x1233e0,
args=0x153ff8, ret=0x153f10) at support.c:447
#7 0xef78e570 in do_execute_java_method_v (obj=0x1233e0,
method_name=0xef79e250 "run", signature=0x1233e0 "", mb=0x85ae8,
isStaticCall=0, argptr=0x153ff8) at support.c:79
#8 0xef78e5b8 in do_execute_java_method (obj=0x1233e0,
method_name=0xef79e250 "run", signature=0xef79e1f8 "()V", mb=0x0,
isStaticCall=0) at support.c:91
#9 0xef78d8ec in firstStartThread (arg=0x0) at thread.c:208
#10 0xef799aa0 in Tcreate (tid=0x5c8, func=0x574)
at ./systems/unix-internal/internal.c:723
#11 0xef78d664 in startThread (tid=0xa2500) at thread.c:106
#12 0xef5573b4 in java_lang_Thread_sleep (time=0x00000000000001f4)
at Thread.c:40
#13 0xef78da74 in sleepThread (time=0x00000000000001f4) at thread.c:259
#14 0xef5573b4 in java_lang_Thread_sleep (time=0x00000000000001f4)
at Thread.c:40
#15 0xef78ed0c in callMethodA (meth=0x0, func=0x0, obj=0xefffe9c2,
args=0xefffeba8, ret=0xefffeeb8) at support.c:319
#16 0xef79a734 in virtualMachine (meth=0x85868, arg=0xefffeba8,
retval=0xefffeeb8, tid=0xa2500) at ./intrp/machine.c:113
#17 0xef79cbc8 in virtualMachine (meth=0xf4478, arg=0xefffed98,
retval=0xefffeeb8, tid=0xa2500) at kaffe.def:2270
#18 0xef78f0b8 in callMethodV (meth=0xf4478, func=0xf4478, obj=0xefffee11,
args=0xeffff09c, ret=0xefffeeb8) at support.c:447
#19 0xef78e678 in do_execute_java_class_method_v (cname=0xeffff030 "",
method_name=0x13030 "main", signature=0x13038 "([Ljava/lang/String;)V",
argptr=0xeffff098) at support.c:120
#20 0xef78e6c0 in do_execute_java_class_method (cname=0xeffff266 "CatchDeath",
method_name=0x13030 "main", signature=0x13038 "([Ljava/lang/String;)V")
at support.c:132
Second failed case:
-n ThreadStop ...
Abort - core dumped
error running
Should have got:
Test 1: Stop a thread that's blocked on itself
Target (BlockThread) running...
Locked ...
Success. Target is dead.
Sleeping while still holding on to target
Releasing target lock
Handling my own: java.lang.ThreadDeath
Am I alive? Answer: false
Test 2: Stop a thread that's blocked in a monitor
Target (MonitorThread) running...
Success. Target is dead.
Test 3: Stop a thread that's running
Target (RunThread) running...
Success. Target is dead.
Test 4: Stop a thread that's done
Success. Target is dead.
Test 5: Stop a thread that's never been run
Success. Target is dead.
Test 6: Have a thread stop itself
Success. Target is dead.
All tests completed
But got instead:
Test 1: Stop a thread that's blocked on itself
Target (BlockThread) running...
Locked ...
locks.c:191: failed assertion `lk->holder == (*Kaffe_ThreadInterface.currentNative)()'
gdb trace of the core file:
#0 0xef7072e0 in _libc_kill ()
(gdb) where
#0 0xef7072e0 in _libc_kill ()
#1 0xef6ba558 in abort ()
#2 0x11b34 in __eprintf (string=0xef79e288 "%s:%u: failed assertion `%s'\n",
expression=0xef79e2a8 "locks.c", line=191,
filename=0xef79e2d8 "lk->holder == (*Kaffe_ThreadInterface.currentNative)()")
#3 0xef78df1c in _unlockMutex (addr=0xdfc30) at locks.c:191
#4 0xef79cff4 in virtualMachine (meth=0x1225e0, arg=0x141df0,
retval=0x141f10, tid=0x123828) at kaffe.def:2444
#5 0xef78f0b8 in callMethodV (meth=0x1225e0, func=0x1225e0, obj=0x123828,
args=0x141ff8, ret=0x141f10) at support.c:447
#6 0xef78e570 in do_execute_java_method_v (obj=0x123828,
method_name=0xef79e250 "run", signature=0x123828 "", mb=0x1225e0,
isStaticCall=0, argptr=0x141ff8) at support.c:79
#7 0xef78e5b8 in do_execute_java_method (obj=0x123828,
method_name=0xef79e250 "run", signature=0xef79e1f8 "()V", mb=0x0,
isStaticCall=0) at support.c:91
#8 0xef78d8ec in firstStartThread (arg=0x0) at thread.c:208
#9 0xef799aa0 in Tcreate (tid=0x752e0, func=0x77418)
at ./systems/unix-internal/internal.c:723
#10 0xef78d664 in startThread (tid=0x4109) at thread.c:106
#11 0x7743e in ?? ()
#12 0xc in ?? ()
Davor
More information about the kaffe
mailing list