Joe Bohn wrote:
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.
Follow-up: I was just successful in starting the server using
bin/start-server.sh. This was with an image that was built this morning
... the same image from the previous hang I reported using geronimo.sh.
It could be that the hang we are seeing in both geronimo.sh and
start-server are the same and somewhat random. My attempt using
start-server was after I had killed the previous process that hung with
geronimo.sh run. Typically the server will successfully start for me on
the second attempt with geronimo.sh run after an initial hang.
Perhaps there is something going on with the initial startup (allocating
log files or whatever...) that is slowing things down just enough to hit
the deadlock that isn't typically hit on a subsequent attempt when those
"one time" processes don't happen?
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.