Salut,
On 17/12/09 2:07 PM, saturon wrote:
> Hi all,
>
> I am just stumbling into this strange ThreadDeath issue when sending a
> XML Post request to my Jersey Backend.
>
> My Setup is GFv2.1 on Debian Lenny, java 1.6.0_12, Jersey 1.1.2.
>
> The XML contains a xsd-date which might be not correct. But surely this
> should not be a reason for GF/Jersey to just stop the webapp?
>
> Has anyone seen such problems?
euh! That's an ugly one. It means one component in GlassFish is
referencing a ClassLoader that was associated with a web application,
but the web application has been undeployed and the classloader becomes
invalid (the error message is misleading).
>
> I did deploy without restarting before this issue occurred, however the
> webservice was consuming similar post requests for about 20 Minutes
> before the error occurred.
Can you file an issue in GlassFish and attach a test case? It's either a
problem in Jersey (I doubt) or the XML code that hold an invalid reference.
A+
-- Jeanfrancois
>
> Thanks Ben
>
>
>
> [#|2009-12-17T19:34:34.155+0100|INFO|sun-appserver2.1|javax.enterprise.system.stream.out|_ThreadID=15;_ThreadName=httpSSLWorkerThread-6080-0;|2009-12-17
> 19:34:34,154 INFO: my.MyResource(103) - Request:POST
> _http://localhost:8055/my/resources/foo-list/_
>
> |#]
>
> [#|2009-12-17T19:34:34.198+0100|INFO|sun-appserver2.1|org.apache.catalina.loader.WebappClassLoader|_ThreadID=15;_ThreadName=httpSSLWorkerThread-6080-0;|PWC1635:
> Illegal access: this web application instance has been stopped already
> (the eventual following stack trace is caused by an error thrown for
> debugging purposes as well as to attempt to terminate the thread which
> caused the illegal access, and has no functional impact)|#]
>
> [#|2009-12-17T19:34:34.200+0100|SEVERE|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=15;_ThreadName=httpSSLWorkerThread-6080-0;_RequestID=a824c445-f83d-439a-a0d1-a87d2c310e8e;|StandardWrapperValve[ServletAdaptor]:
> PWC1406: Servlet.service() for servlet ServletAdaptor threw exception
>
> java.lang.ThreadDeath
> at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1411)
>
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> at
> org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl$Parser.<init>(Unknown
> Source)
> at
> org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl.<init>(Unknown
> Source)
> at
> org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl.newXMLGregorianCalendar(Unknown
> Source)
> at
> com.sun.xml.bind.DatatypeConverterImpl._parseDateTime(DatatypeConverterImpl.java:352)
>
> at
> com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$5.parse(RuntimeBuiltinLeafInfoImpl.java:269)
>
> at
> com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$5.parse(RuntimeBuiltinLeafInfoImpl.java:271)
>
> at
> com.sun.xml.bind.v2.runtime.reflect.TransducedAccessor$CompositeTransducedAccessorImpl.parse(TransducedAccessor.java:241)
>
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.LeafPropertyLoader.text(LeafPropertyLoader.java:61)
>
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.text(UnmarshallingContext.java:462)
>
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.processText(SAXConnector.java:168)
>
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.endElement(SAXConnector.java:141)
>
> at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
> at
> org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown
> Source)
> at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
> Source)
> at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
> Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
> at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:211)
>
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:184)
>
> at
> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:120)
>
> at
> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:103)
>
> at
> com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider.readFrom(XMLRootElementProvider.java:112)
>
> at
> com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider.readFrom(AbstractRootElementProvider.java:105)
>
> at
> com.sun.jersey.spi.container.ContainerRequest.getEntity(ContainerRequest.java:410)
>
> at
> com.sun.jersey.server.impl.model.method.dispatch.EntityParamDispatchProvider$EntityInjectable.getValue(EntityParamDispatchProvider.java:139)
>
> at
> com.sun.jersey.server.impl.inject.InjectableValuesProvider.getInjectableValues(InjectableValuesProvider.java:43)
>
> at
> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$EntityParamInInvoker.getParams(AbstractResourceMethodDispatchProvider.java:126)
>
> at
> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:173)
>
> at
> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
>
> at
> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)
>
> at
> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)
>
> at
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)
>
> at
> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)
>
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)
>
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)
>
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)
>
> at
> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)
>
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)
>
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at
> org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
>
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
>
> at
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
>
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
>
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
>
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
>
> at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
> at
> com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
>
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
>
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
>
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
>
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
>
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
>
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
>
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
> at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288)
> at
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647)
>
> at
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579)
>
> at
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831)
>
> at
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
>
> at
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
>
> at
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
>
> at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
> at
> com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
>
>