users@glassfish.java.net

heisenbug in JAXB while using JAX-WS in v1 UR1?

From: <glassfish_at_javadesktop.org>
Date: Thu, 08 Feb 2007 16:15:43 PST

We're using v1 UR1 on MacOS X, developing some JAX-WS services. We've been doing
this for a while with success, albeit annoyed by having to work around various issues.

Today we stumbled upon a heisenbug, and we're not exactly sure what we're doing
differently that has brought about this exception. It seems that re-deploying the WAR
from netbeans somehow causes some nastiness in the glassfish internals, making it
such that when we test an operation on one of our services, the following exception happens.

If we bounce glassfish, the exception goes away until we do another hot-deploy of the WAR.

java.lang.IllegalArgumentException
        at com.sun.xml.ws.encoding.soap.EncoderDecoder.createJAXBBeanPayload(EncoderDecoder.java:261)
        at com.sun.xml.ws.encoding.soap.EncoderDecoder.createDocLitPayloadValue(EncoderDecoder.java:193)
        at com.sun.xml.ws.encoding.soap.EncoderDecoder.createPayload(EncoderDecoder.java:162)
        at com.sun.xml.ws.encoding.soap.ServerEncoderDecoder.toInternalMessage(ServerEncoderDecoder.java:158)
        at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.setResponseInContext(SOAPMessageDispatcher.java:366)
        at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.getResponse(SOAPMessageDispatcher.java:290)
        at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher$SoapInvoker.invoke(SOAPMessageDispatcher.java:603)
        at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:147)
        at com.sun.xml.ws.server.Tie.handle(Tie.java:90)
        at com.sun.enterprise.webservice.JAXWSServlet.doPost(JAXWSServlet.java:195)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:278)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
        at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
        at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
        at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
        at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
        at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
        at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
Caused by: java.lang.IllegalArgumentException
        at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:63)
        at java.lang.reflect.Field.set(Field.java:656)
        at com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.set(Accessor.java:190)
        at com.sun.xml.bind.v2.runtime.reflect.NullSafeAccessor.set(NullSafeAccessor.java:36)
        at com.sun.xml.bind.v2.runtime.reflect.Accessor.setUnadapted(Accessor.java:115)
        at com.sun.xml.bind.v2.runtime.JAXBContextImpl$5.set(JAXBContextImpl.java:811)
        at com.sun.xml.ws.encoding.EncoderDecoderBase.setWrapperChildValue(EncoderDecoderBase.java:110)
        at com.sun.xml.ws.encoding.soap.EncoderDecoder.createJAXBBeanPayload(EncoderDecoder.java:256)
        ... 35 more
java.lang.IllegalArgumentException
        at com.sun.xml.ws.encoding.soap.EncoderDecoder.createJAXBBeanPayload(EncoderDecoder.java:261)
        at com.sun.xml.ws.encoding.soap.EncoderDecoder.createDocLitPayloadValue(EncoderDecoder.java:193)
        at com.sun.xml.ws.encoding.soap.EncoderDecoder.createPayload(EncoderDecoder.java:162)
        at com.sun.xml.ws.encoding.soap.ServerEncoderDecoder.toInternalMessage(ServerEncoderDecoder.java:158)
        at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.setResponseInContext(SOAPMessageDispatcher.java:366)
        at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.getResponse(SOAPMessageDispatcher.java:290)
        at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher$SoapInvoker.invoke(SOAPMessageDispatcher.java:603)
        at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:147)
        at com.sun.xml.ws.server.Tie.handle(Tie.java:90)
        at com.sun.enterprise.webservice.JAXWSServlet.doPost(JAXWSServlet.java:195)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:278)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
        at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
        at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
        at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
        at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
        at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
        at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
Caused by: java.lang.IllegalArgumentException
        at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:63)
        at java.lang.reflect.Field.set(Field.java:656)
        at com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.set(Accessor.java:190)
        at com.sun.xml.bind.v2.runtime.reflect.NullSafeAccessor.set(NullSafeAccessor.java:36)
        at com.sun.xml.bind.v2.runtime.reflect.Accessor.setUnadapted(Accessor.java:115)
        at com.sun.xml.bind.v2.runtime.JAXBContextImpl$5.set(JAXBContextImpl.java:811)
        at com.sun.xml.ws.encoding.EncoderDecoderBase.setWrapperChildValue(EncoderDecoderBase.java:110)
        at com.sun.xml.ws.encoding.soap.EncoderDecoder.createJAXBBeanPayload(EncoderDecoder.java:256)
        ... 35 more
[Message sent by forum member 'pohl' (pohl)]

http://forums.java.net/jive/thread.jspa?messageID=202765