Lots of NPE when parsing documents at start time
------------------------------------------------

                 Key: CXF-1687
                 URL: https://issues.apache.org/jira/browse/CXF-1687
             Project: CXF
          Issue Type: Bug
            Reporter: Guillaume Nodet
            Priority: Trivial
             Fix For: 2.1.2


I've noticed lots of NPE with the following stack trace:

Signal [EMAIL PROTECTED] daemon, priority=9, in group 'system', status: 
'RUNNING'

[EMAIL PROTECTED] daemon, priority=8, in group 'system', status: 'WAIT'
          at java.lang.Object.wait(Object.java:-1)
          at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
          at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
          at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

Reference [EMAIL PROTECTED] daemon, priority=10, in group 'system', status: 
'WAIT'
          at java.lang.Object.wait(Object.java:-1)
          at java.lang.Object.wait(Object.java:474)
          at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)

[EMAIL PROTECTED], priority=5, in group 'main', status: 'RUNNING'
          at 
org.apache.cxf.staxutils.W3CDOMStreamWriter.writeComment(W3CDOMStreamWriter.java:162)
          at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:338)
          at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:313)
          at 
org.apache.cxf.bus.spring.TunedDocumentLoader.loadFastinfosetDocument(TunedDocumentLoader.java:146)
          at 
org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.fastInfosetLoadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:164)
          at 
org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.loadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:126)
          at 
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:280)
          at 
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:131)
          at 
org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:108)
          at 
org.apache.cxf.bus.spring.BusApplicationContext.loadBeanDefinitions(BusApplicationContext.java:256)
          at 
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:101)
          at 
org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:389)
          at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:324)
          at 
org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:87)
          at 
org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:103)
          at 
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:94)
          at 
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:69)
          at 
org.apache.servicemix.cxfse.CxfSeComponent.doInit(CxfSeComponent.java:73)
          at 
org.apache.servicemix.common.AsyncBaseLifeCycle.init(AsyncBaseLifeCycle.java:193)
          at 
org.apache.servicemix.common.SyncLifeCycleWrapper.init(SyncLifeCycleWrapper.java:44)
          at 
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.init(ComponentMBeanImpl.java:201)
          at 
org.apache.servicemix.jbi.container.JBIContainer.activateComponent(JBIContainer.java:1,150)
          at 
org.apache.servicemix.jbi.container.JBIContainer.activateComponent(JBIContainer.java:1,112)
          at 
org.apache.servicemix.jbi.container.JBIContainer.activateComponent(JBIContainer.java:1,071)
          at 
org.apache.servicemix.jbi.container.JBIContainer.activateComponent(JBIContainer.java:1,059)
          at 
org.apache.servicemix.jbi.container.SpringJBIContainer.getComponentForEndpoint(SpringJBIContainer.java:175)
          at 
org.apache.servicemix.jbi.container.SpringJBIContainer.initEndpoints(SpringJBIContainer.java:151)
          at 
org.apache.servicemix.jbi.container.SpringJBIContainer.afterPropertiesSet(SpringJBIContainer.java:106)
          at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1,201)
          at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1,171)
          at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425)
          at 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
          at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
          at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
          at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
          at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
          at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
          at 
org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:161)
          at 
org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:51)
          at 
org.apache.servicemix.cxfse.CxfSeContextInjectionTest.createBeanFactory(CxfSeContextInjectionTest.java:71)
          at 
org.apache.servicemix.tck.SpringTestSupport.setUp(SpringTestSupport.java:65)
          at 
org.apache.servicemix.cxfse.CxfSeContextInjectionTest.setUp(CxfSeContextInjectionTest.java:39)
          at junit.framework.TestCase.runBare(TestCase.java:125)
          at junit.framework.TestResult$1.protect(TestResult.java:106)
          at junit.framework.TestResult.runProtected(TestResult.java:124)
          at junit.framework.TestResult.run(TestResult.java:109)
          at junit.framework.TestCase.run(TestCase.java:118)
          at junit.framework.TestSuite.runTest(TestSuite.java:208)
          at junit.framework.TestSuite.run(TestSuite.java:203)
          at junit.framework.TestSuite.runTest(TestSuite.java:208)
          at junit.framework.TestSuite.run(TestSuite.java:203)
          at junit.textui.TestRunner.doRun(TestRunner.java:116)
          at 
com.intellij.rt.execution.junit.IdeaTestRunner.doRun(IdeaTestRunner.java:65)
          at junit.textui.TestRunner.doRun(TestRunner.java:109)
          at 
com.intellij.rt.execution.junit.IdeaTestRunner.startRunnerWithArgs(IdeaTestRunner.java:24)
          at 
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:118)
          at 
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)

The NPE is thrown because the currentNode is null in the writer, which seems to 
be the case when the xml document starts with a comment.  Not sure why, but I 
suppose it should be quite easy to fix and could improve performance at start 
time.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to