I found the cause of my null pointer. It's actually caused by a bug in
the tomcat classloader:
http://issues.apache.org/bugzilla/show_bug.cgi?id=33743. One of the
threads gets a ClassNotFoundException trying to load one of my generated
descriptor classes in ClassDescriptorResolverImpl.resolve. It goes on to
use introspection, but something must be in an invalid state.


-Dan

-----Original Message-----
From: Smith, Daniel 
Sent: Monday, May 01, 2006 2:42 PM
To: '[email protected]'
Subject: Null pointer while unmarshalling xml to generated classes

Hi,

I'm getting a null pointer exception when unmarshalling xml to classes
generated from using the source generator. This exception only happens
if two threads are trying to unmarshal a document at the same time. One
of the threads will succeed and one will fail with this exception. As
far as I can tell it only happens the first time I try this after I
start the JVM. After the initial error everything works fine. I'm using
castor 1.0.

I'm using the static Unmarshaller.unmarshal(Class, Node) method.

Here's the stack trace:
java.lang.NullPointerException
        at
org.exolab.castor.xml.UnmarshalHandler.endElement(UnmarshalHandler.java:
757)
        at
org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.jav
a:249)
        at
org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.jav
a:182)
        at
org.exolab.castor.xml.util.DOMEventProducer.processChildren(DOMEventProd
ucer.java:333)
        at
org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.jav
a:247)
        at
org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.jav
a:182)
        at
org.exolab.castor.xml.util.DOMEventProducer.processChildren(DOMEventProd
ucer.java:333)
        at
org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.jav
a:247)
        at
org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.jav
a:182)
        at
org.exolab.castor.xml.util.DOMEventProducer.processChildren(DOMEventProd
ucer.java:333)
        at
org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.jav
a:247)
        at
org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.jav
a:182)
        at
org.exolab.castor.xml.util.DOMEventProducer.start(DOMEventProducer.java:
110)
        at
org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:584)
        at
org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:735)
        at
org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:848)
        at
com.stargus.ws.DanTestWebServiceInput.processRequest(DanTestWebServiceIn
put.java:82)
        at
com.stargus.ws.DanTestWebServiceInput.access$0(DanTestWebServiceInput.ja
va:75)
        at
com.stargus.ws.DanTestWebServiceInput$1.run(DanTestWebServiceInput.java:
55)


-------------------------------------------------
If you wish to unsubscribe from this list, please
send an empty message to the following address:

[EMAIL PROTECTED]
-------------------------------------------------

Reply via email to