[jboss-jira] [JBoss JIRA] Commented: (AS7-837) Web parsing may fail due to XMLInputFactory could not be instantiated

Jason Greene (JIRA) jira-events at lists.jboss.org
Wed May 25 11:20:01 EDT 2011


    [ https://issues.jboss.org/browse/AS7-837?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12604345#comment-12604345 ] 

Jason Greene commented on AS7-837:
----------------------------------

That solution isn't thread safe. 

OK I think I understand the problem now: 
 java.lang.IllegalStateException: Bundle uninstalled: interceptor-endpoint:0.0.0
	at javax.xml.stream.FactoryFinder.newInstance(FactoryFinder.java:158) [:1.6.0_21]

The JDK JAXP factory attempts to use TCCL, and if it gets a ClassNotFoundException, it will fall back to the System classloader. The problem is that this leaked CL is throwing IllegalStateException, which breaks the chaining.

The solution is really that we should be cleaning up TCCL.

> Web parsing may fail due to XMLInputFactory could not be instantiated
> ---------------------------------------------------------------------
>
>                 Key: AS7-837
>                 URL: https://issues.jboss.org/browse/AS7-837
>             Project: Application Server 7
>          Issue Type: Bug
>            Reporter: Thomas Diesler
>            Assignee: Thomas Diesler
>             Fix For: 7.0.0.CR1
>
>
> when running all osgi integration tests like this
> $ mvn -DskipTests=false -Dtest=osgi/**/*TestCase test
> I see the ServletIntegrationTestCase fail due to
> {code}
> 15:57:51,063 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) Starting deployment of "web-osgi-client.war"
> 15:57:51,071 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC00001: Failed to start service jboss.deployment.unit."web-osgi-client.war".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit."web-osgi-client.war".PARSE: Failed to process phase PARSE of deployment "web-osgi-client.war"
> 	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:121)
> 	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1675)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_21]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_21]
> 	at java.lang.Thread.run(Thread.java:619) [:1.6.0_21]
> Caused by: javax.xml.stream.FactoryFinder$ConfigurationError: Provider __redirected.__XMLInputFactory could not be instantiated: java.lang.IllegalStateException: Bundle uninstalled: interceptor-endpoint:0.0.0
> 	at javax.xml.stream.FactoryFinder.newInstance(FactoryFinder.java:158) [:1.6.0_21]
> 	at javax.xml.stream.FactoryFinder.find(FactoryFinder.java:186) [:1.6.0_21]
> 	at javax.xml.stream.XMLInputFactory.newInstance(XMLInputFactory.java:123) [:1.6.0_21]
> 	at org.jboss.as.web.deployment.WebParsingDeploymentProcessor.deploy(WebParsingDeploymentProcessor.java:62)
> 	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:115)
> 	... 4 more
> {code}
> The FactoryFinder seems to access an invalid classloader

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list