[kaffe] Problems with class loader and jthreads
Godmar Back
gback@stanford.edu
Mon, 5 Aug 2002 08:49:06 -0600 (MDT)
jthread_disable_stop is used to defer a thread's termination
to ensure the thread is stopped when it is safe to do so.
You could be missing a jthread_enable_stop somewhere (which would
make threads unstoppable), or the recursion could be legimate.
What's your stacktrace?
- Godmar
>
> hi,
>
> I've written a patch that lets SystemClassLoader
> extend from URLClassLoader and adds limited (just
> CodeSources without certificates) ProtectionDomain
> handling to class loading. It lets the bootstrap class
> loader take care of classes in java and kaffe
> packages, while using SystemClassLoader to load the
> rest.
>
> Trivial programs work, but compiling classes from our
> regression tests suite crashes with my patch with:
>
> slowLockMutex(**lkp=0x84a5be8, where=0xbfffb9d8,
> th=0x811a030)
> getHeavyLock(**lkp=0x84a5be8, *lk=0xbfffc0dc,
> th=0x811a030)
> got new lock
> kaffe-bin: jthread.c:1181: jthread_disable_stop:
> Assertion `currentJThread->stopCounter < 10' failed.
>
>
> The assert has an associated commented :
> /* XXX Shouldn't recurse that much... ever...
> hopefully. */
> assert(currentJThread->stopCounter <
> 10);
>
> As I have no experience hacking on jthreads, I'm
> wondering if someone could explain me what
> jthread_disable_stop is used for, what it has to do
> with recursion, and what a possible source for the
> recursion could be?
>
> thanks for any suggestions,
>
> dalibor topic
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Health - Feel better, live better
> http://health.yahoo.com
>
> _______________________________________________
> kaffe mailing list
> kaffe@kaffe.org
> http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
>