[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[news.eclipse.tools] URGENT: Need help with Class Loader hang

I have a class that works fine stand-alone, but not when loaded from a
plugin to the Eclipse IDE.  The main thread is starting another thread
as a worker, and waits for it to initialize using the Object.Wait()
method (which will wait indefinitely for a notify).

The secondary thread is in its initialization, but gets hung up during
the loading of a class.  This is the stack at the time of the hang:

        PluginDescriptor.isPluginActivated()
        PluginClassLoader.findClassParentsSelf(String, boolean,
DelegatingURLClassLoader, boolean)
        PluginClassLoader(DelegatingURLClassLoader).loadClass(String,
boolean, DelegatingURLClassLoader, Vector, boolean)
        PluginClassLoader(DelegatingURLClassLeader).loadClass(String,
boolean)
        Class1Impl.getInterface()
        Class2.getInterface()
        Class2.initialize(Thread)
        Class1.run()

Upon exiting from Class2.initialize(), the first thread would be
notified and resume running.... but as it is, this thread never exits
from the isPluginActivated() method.  What is especially strange is that
the isPluginActivated() method looks like it should only return a simple
value from a field.... certainly nothing that should be blocking.  The
thread is still showing as "Alive", so I can't see why it wouldn't come
back from the loadClass call.

Once again, I don't have this problem running stand-alone, but the
PluginClassLoader code wouldn't be involved at all in that case.  Please
help if you can!  Thanks....

Jeffrey S. Kobal
IBM Corporation