A NullPointerException in xerces XMLEntityScanner.load() triggers all 
subsequent calls to fail
----------------------------------------------------------------------------------------------

                 Key: XFIRE-1033
                 URL: http://jira.codehaus.org/browse/XFIRE-1033
             Project: XFire
          Issue Type: Bug
    Affects Versions: 1.2.5
         Environment: Windows 2000 - running in Tomcat
            Reporter: Ted o Donovan
            Assignee: Dan Diephouse
         Attachments: xfire-servlet.xml

Hi,

We have an intermittent bug that stops our webservice from accepting requests - 
it has occurred approx once a week thus far, i.e. unfortunately we can not 
reproduce it. 

Basically something appears to trigger the processing of the XML to throw an 
nullpointerexception and then from there on all calls to that service fail. The 
first time it happened it stayed throwing nullpointer exceptions for 1 hour. 
The second time we were in the office - the only thing to stop it from failing 
was actually to query the WSDL, ie. ....Service?WSDL - This seemed to trigger a 
reset of the service - all calls worked properly afterwards.

This is the stack trace of the first exceptions we see in the logs when this 
happens (inside xerces code):

2007-06-11 15:28:33,859 ERROR http-80-4 
org.codehaus.xfire.handler.DefaultFaultHandler - Fault occurred!
java.lang.NullPointerException
        at 
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1750)
        at 
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipSpaces(XMLEntityScanner.java:1492)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$TrailingMiscDriver.next(XMLDocumentScannerImpl.java:1371)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:645)
        at 
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
        at 
com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:548)
        at 
org.codehaus.xfire.soap.handler.ReadHeadersHandler.invoke(ReadHeadersHandler.java:44)
        at 
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
        at 
org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
        at 
org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
        at 
org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
        at 
org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
        at 
org.codehaus.xfire.spring.remoting.XFireServletControllerAdapter.handleRequest(XFireServletControllerAdapter.java:67)
        at 
org.codehaus.xfire.spring.remoting.XFireExporter.handleRequest(XFireExporter.java:48)
        at 
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)
        at ....

Then all subsequent calls to the service fail with the following stack trace:

2007-06-11 15:28:47,734 ERROR http-80-14 
org.codehaus.xfire.handler.DefaultFaultHandler - Fault occurred!
java.lang.NullPointerException
        at 
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.arrangeCapacity(XMLEntityScanner.java:1598)
        at 
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipString(XMLEntityScanner.java:1684)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$XMLDeclDriver.next(XMLDocumentScannerImpl.java:785)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:645)
        at 
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
        at 
com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:548)
        at 
org.codehaus.xfire.soap.handler.ReadHeadersHandler.invoke(ReadHeadersHandler.java:44)
        at 
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
        at 
org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
        at 
org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
        at 
org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
        at 
org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
        at 
org.codehaus.xfire.spring.remoting.XFireServletControllerAdapter.handleRequest(XFireServletControllerAdapter.java:67)
        at 
org.codehaus.xfire.spring.remoting.XFireExporter.handleRequest(XFireExporter.java:48)
        at 
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)
        .....

Looking at the Xerces code the first failure appears to occur when accessing 
the 'fCurrentEntity' object, however two lines above it has already accessed 
this so it appears like a possible threading issue?

Anybody seen this before or know how we might look to resolve it? 

 I have attached our xfire-servlet.xml file - note the fault is occurring in 
our NovaWebService service (FYI The service NovaMaintWebservice uses a local 
custom type mapping registry in order to use the same POJOS but use annotations 
for NovaWebService & aegis mapping files for NovaMaintWebService).

Thanks,
Ted.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to