[kaffe] BUG: assertion failure with freenet on kaffe-cvs
Christian
chth@gmx.net
Sun Mar 30 07:19:01 2003
Hi,
The assertion in
./kaffe/kaffevm/systems/unix-jthreads/jthread.c lines 1934
jmutex_unlock(jmutex *lock)
{
intsDisable();
lock->holder = NULL;
if (lock->waiting != 0) {
jthread* tid;
tid = lock->waiting;
lock->waiting = tid->nextQ;
assert(tid->status != THREAD_RUNNING);
is sometimes triggered, while in
./kaffe/kaffevm/systems/unix-jthreads/jthread.c lines 1286
jmutex_lock(&threadLock);
jtid = newThreadCtx(threadStackSize);
if (!jtid) {
jmutex_unlock(&threadLock);
jthread_enable_stop();
return 0;
}
jtid->priority = pri;
jtid->jlThread = jlThread;
jtid->status = THREAD_SUSPENDED; // HERE
the jtid->status is set to THREAD_SUSPENDED.
I didnt digged much into the kaffe source-code, so the question:
Is tid->status==jtid->status in that context?
If yes the assertion test is not correct.
If no .. mhm theres a bug somehere else.
btw: kaffe compiled with --disable-debug (no assertions) seems to work
fine so far, so i concluded that it might be that only the assertion is
wrong.
cheers
Christian
PS: i'm not subscribed to this list, CC: responses to me directly