I stuck a sleep() in before the undeploy and this seems to have
worked-around the problem and thus confirmed my suspicion.
It is showing up a further problem - though not in Jetty:
13:30:14,538 INFO [EjbModule] Destroying
13:30:14,600 ERROR [Log4jService$ThrowableListenerLoggingAdapter]
unhandled throwable
java.lang.NullPointerException
at
org.jboss.ejb.plugins.EntityInstanceCache.freeContext(EntityInstanceCache.java:120)
at
org.jboss.ejb.plugins.AbstractInstanceCache$1.execute(AbstractInstanceCache.java:617)
at org.jboss.util.WorkerQueue$QueueLoop.run(WorkerQueue.java:206)
at java.lang.Thread.run(Thread.java:479)
13:30:14,604 INFO [EjbModule] Remove JSR-77 EJB Module:
jboss.management.single:J2EEApplication=jbosstest-web.ear,J2EEServer=Single,j2eeType=EJBModule,name=cts.jar
13:30:14,605 INFO [EJBModule] Stopping
13:30:14,605 INFO [EJBModule] Stopped
13:30:14,605 INFO [EjbModule] Destroyed
A sleep() is obviously not a decent solution.
We can alter Jetty or alter the testsuite.
Bearing in mind that modifying Jetty to finish up all requests before
undeploying is a feature that we are looking at (along with holding up
requests during a redeploy), but is not a quick bugfix I think that we
should make a mental to explicitly test
undeployment-whilst-processing-request at a later date and fix the
testsuite to wait for all requests to return before undeploying.
What are your thoughts ?
Jules
Jules Gosnell wrote:
> Scott,
>
> This appears to be caused by a race between Jetty responding to the
> request to the JSP and the testsuite undeploying it.
>
> Looking at my request and server logs I can see that a request was made
> for include_ejb.jsp during the second before the call to undeploy
> jbosstest-web.ear.
>
> It looks like, by the time Jetty has got the JSP compiled and tries to
> run it, it has been undeployed.
>
> Jetty could handle this more gracefully - agreed (and we are thinking
> about it).
>
> Is it possible that the testsuite is making it's requests asynchronously
> and undeploying it's ear before all requests have finished ?
>
>
> Jules
>
>
> Scott M Stark wrote:
>
>> When the org.jboss.test.web.test.WebIntegrationUnitTestCase is run
>> against
>> the 3.0 branch the undeployment of the war is causing the NPE shown here:
>>
>> 17:38:01,062 INFO [MainDeployer] Undeployed
>> file:/D:/usr/local/src/cvsroot/JBos
>> s3.0/jboss-all/testsuite/output/lib/jbosstest-web.ear
>> 17:38:02,656 ERROR [STDERR] java.lang.NullPointerException
>> 17:38:02,656 ERROR [STDERR] at
>> org.mortbay.jetty.servlet.ServletHandler$Cont
>> ext.getResource(ServletHandler.java:910)
>> 17:38:02,671 ERROR [STDERR] at
>> org.apache.jasper.JspEngineContext.getResourc
>> e(JspEngineContext.java:366)
>> 17:38:02,671 ERROR [STDERR] at
>> org.apache.jasper.compiler.JspCompiler.isOutD
>> ated(JspCompiler.java:179)
>> 17:38:02,687 ERROR [STDERR] at
>> org.apache.jasper.compiler.Compiler.compile(C
>> ompiler.java:121)
>> 17:38:02,687 ERROR [STDERR] at
>> org.apache.jasper.servlet.JspServlet.loadJSP(
>> JspServlet.java:557)
>> 17:38:02,687 ERROR [STDERR] at
>> org.apache.jasper.servlet.JspServlet$JspServl
>> etWrapper.loadIfNecessary(JspServlet.java:177)
>> 17:38:02,703 ERROR [STDERR] at
>> org.apache.jasper.servlet.JspServlet$JspServl
>> etWrapper.service(JspServlet.java:189)
>> 17:38:02,703 ERROR [STDERR] at
>> org.apache.jasper.servlet.JspServlet.serviceJ
>> spFile(JspServlet.java:382)
>> 17:38:02,703 ERROR [STDERR] at
>> org.apache.jasper.servlet.JspServlet.service(
>> JspServlet.java:474)
>> 17:38:02,703 ERROR [STDERR] at
>> javax.servlet.http.HttpServlet.service(HttpSe
>> rvlet.java:853)
>> 17:38:02,703 ERROR [STDERR] at
>> org.mortbay.jetty.servlet.ServletHolder.handl
>> e(ServletHolder.java:326)
>> 17:38:02,718 ERROR [STDERR] at
>> org.mortbay.jetty.servlet.Dispatcher.dispatch
>> (Dispatcher.java:259)
>> 17:38:02,718 ERROR [STDERR] at
>> org.mortbay.jetty.servlet.Dispatcher.include(
>> Dispatcher.java:171)
>> 17:38:02,718 ERROR [STDERR] at
>> org.apache.jasper.runtime.JspRuntimeLibrary.i
>> nclude(JspRuntimeLibrary.java:820)
>> 17:38:02,718 ERROR [STDERR] at
>> org.apache.jsp.include_0005fejb$jsp._jspServi
>> ce(include_0005fejb$jsp.java:61)
>> 17:38:02,718 ERROR [STDERR] at
>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
>> 17:38:02,718 ERROR [STDERR] at
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>> 17:38:02,734 ERROR [STDERR] at
>> org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
>>
>> va:202)
>> 17:38:02,734 ERROR [STDERR] at
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
>> 17:38:02,734 ERROR [STDERR] at
>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
>> 17:38:02,734 ERROR [STDERR] at
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>> 17:38:02,734 ERROR [STDERR] at
>> org.mortbay.jetty.servlet.ServletHolder.handleServletHolder.java:326)
>> 17:38:02,750 ERROR [STDERR] at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:595)
>> 17:38:02,750 ERROR [STDERR] at
>> org.mortbay.http.HttpContext.handle(HttpContext.java:1357)
>> 17:38:02,750 ERROR [STDERR] at
>> org.mortbay.http.HttpContext.handle(HttpContext.java:1309)
>> 17:38:02,750 ERROR [STDERR] at
>> org.mortbay.http.HttpServer.service(HttpServer.java:744)
>> 17:38:02,750 ERROR [STDERR] at
>> org.jboss.jetty.Jetty.service(Jetty.java:525)
>> 17:38:02,750 ERROR [STDERR] at
>> org.mortbay.http.HttpConnection.service(HttpConnection.java:743)
>> 17:38:02,765 ERROR [STDERR] at
>> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:916)
>> 17:38:02,765 ERROR [STDERR] at
>> org.mortbay.http.HttpConnection.handle(HttpConnection.java:758)
>> 17:38:02,765 ERROR [STDERR] at
>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:145)
>> 17:38:02,765 ERROR [STDERR] at
>> org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:287)
>> 17:38:02,765 ERROR [STDERR] at
>> org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:715)
>> 17:38:02,765 ERROR [STDERR] at java.lang.Thread.run(Thread.java:479)
>> 17:38:02,781 WARN [Jetty] WARNING: Servlet Exception for
>> /jbosstest/restricted/
>> include_ejb.jsp
>>
>> xxxxxxxxxxxxxxxxxxxxxxxx
>> Scott Stark
>> Chief Technology Officer
>> JBoss Group, LLC
>> xxxxxxxxxxxxxxxxxxxxxxxx
>>
>>
>> _______________________________________________________________
>> Hundreds of nodes, one monster rendering program.
>> Now that's a super model! Visit http://clustering.foundries.sf.net/
>>
>> _______________________________________________
>> Jboss-development mailing list
>> [EMAIL PROTECTED]
>> https://lists.sourceforge.net/lists/listinfo/jboss-development
>>
>
>
>
>
> _______________________________________________________________
> Hundreds of nodes, one monster rendering program.
> Now that's a super model! Visit http://clustering.foundries.sf.net/
>
> _______________________________________________
> Jboss-development mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development
>
_______________________________________________________________
Hundreds of nodes, one monster rendering program.
Now that's a super model! Visit http://clustering.foundries.sf.net/
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development