Kevan Miller wrote:
On Nov 14, 2007, at 12:54 AM, Jason Dillon wrote:
I just tried to boot up the server today (trunk) and it just appears
to hang after:
Booting Geronimo Kernel (in Java 1.5.0_13)...
And then eventually times out.
Anyone know what is going on? I have a few changes to the GShell
integration, but I don't really like to commit them when w/o my
changes it doesn't work.
:-(
Hmmm. Can you grab a stack trace while it's timing out? kill -3 <java-pid>
My trunk build is a bit dated, but starts fine for me...
I've had problems on my Mac with G 2.0.2 and the Leopard 1.5 JSE.
There's a deadlock during startup between main thread and the finalizer
thread involving the OpenJPA javaagent. We worked around this problem
once before. I'm not sure what changed between 2.0.1 and 2.0.2 to cause
the problem. I tried a simple work-around, but didn't work... I haven't
had much time to dig any further...
The server hangs occasionally on me with trunk on Tiger 10.4.10 when
starting the server via "bin/geronimo.sh run". I can't explain it, but
it seems to happen most consistently on an image that I just built and
expanded from the zip for the first time. I haven't tried
"bin/start-server.sh" but I'll give it a shot.
My hang using bin/geronimo.sh run is also a hang between main thread and
the finalizer thread but seems to involve TransformerCollection rather
than OpenJPA javaagent.
Here are the details:
Found one Java-level deadlock:
=============================
"Finalizer":
waiting to lock monitor 0x01807ab8 (object 0x06a740e8, a
sun.misc.Launcher$AppClassLoader),
which is held by "main"
"main":
waiting to lock monitor 0x01807a28 (object 0x0a584ae8, a [[I),
which is held by "Finalizer"
Java stack information for the threads listed above:
===================================================
"Finalizer":
at
org.apache.geronimo.transformer.TransformerCollection.transform(TransformerCollection.java:35)
at
sun.instrument.TransformerManager.transform(TransformerManager.java:122)
at
sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:155)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:82)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
"main":
at java.lang.ClassLoader.findBootstrapClass(Native Method)
at java.lang.ClassLoader.findBootstrapClass0(ClassLoader.java:891)
at java.lang.ClassLoader.loadClass(ClassLoader.java:301)
- locked <0x06a76398> (a sun.misc.Launcher$ExtClassLoader)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
- locked <0x06a740e8> (a sun.misc.Launcher$AppClassLoader)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
- locked <0x06a740e8> (a sun.misc.Launcher$AppClassLoader)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
- locked <0x06a740e8> (a sun.misc.Launcher$AppClassLoader)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
- locked <0x06a740e8> (a sun.misc.Launcher$AppClassLoader)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
- locked <0x06a740e8> (a sun.misc.Launcher$AppClassLoader)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
- locked <0x06a740e8> (a sun.misc.Launcher$AppClassLoader)
Found 1 deadlock.