quality@glassfish.java.net

Re: My first tests with FishCAT ...ouch

From: Jan Luehe <Jan.Luehe_at_Sun.COM>
Date: Wed, 18 Nov 2009 14:31:07 -0800

Hi Jose,

I'd like to give you a quick update on the bugs you filed this morning:

Thanks to Shing Wai's excellent blog on how to run MySQL with GlassFish
(see http://blogs.sun.com/swchan/entry/jdbcrealm_in_glassfish_with_mysql),
I was able to setup MySQL and configure it with your user and password.

As I deploy your app, I see the exception for which you've filed IT 11082:

  org.hibernate.cache.CacheException:
  org.jboss.cache.lock.TimeoutException: Unable to acquire lock on Fqn
  [/org/internna/iwebmvc/model/Document/ENTITY] after [20000]
  milliseconds for requestor
  
[Thread[org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-9,5,Grizzly]]!
  Lock held by [GlobalTransaction:<null>:0]

but deployment ultimately succeeds.

I am now also able to access your index page. When I click on the
FILTERED GRID link, I noticed the server is getting into what looks
like an infinite loop, possibly as it is compiling JSP with tag
files. This confirms your observation that you never get any response back.

This is most likely a bug in our JSP compiler. I'm in the process of
determining why it is getting into an infinite loop.

When I undeploy your app while the JSP compiler is still spinning in the
infinite loop, I get the same exception as you did:

[#|2009-11-19T05:57:10.686+0800|SEVERE|glassfishv3.0|null|_ThreadID=26;_ThreadName=Thread-1;|java.lang.IllegalStateException:
WebappClassLoader unable to load resource [java.lang.String], because it
has not yet been started, or was already stopped
        at
org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1357)
        at
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:185)
        at
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:123)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
        at java.lang.Class.getDeclaredMethods(Class.java:1791)
        at java.beans.Introspector$1.run(Introspector.java:1272)
        at java.security.AccessController.doPrivileged(Native Method)
        at
java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1270)
        at
java.beans.Introspector.getTargetMethodInfo(Introspector.java:1136)
        at java.beans.Introspector.getBeanInfo(Introspector.java:387)
        at java.beans.Introspector.getBeanInfo(Introspector.java:159)
        at
org.apache.jasper.compiler.Generator$TagHandlerInfo.<init>(Generator.java:3902)
        at
org.apache.jasper.compiler.Generator$GenerateVisitor.getTagHandlerInfo(Generator.java:2241)
        at
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1640)


which should be expected, because the JSP compiler is still in the
process of
compiling, so if we pull out the WebappClassLoader from underneath it
(by stopping it as part of the undeployment), that's what we get. :)

So this ultimately looks like a problem in our JSP compiler.
I'll let you know as soon as I find what's causing it to get into an
infinite loop.

Thanks,

Jan