Login  Register

Re: AW: AW: Re: NPE in 3.9 triggered through Servlet Context Listener

Posted by Erik Bruchez on Apr 29, 2011; 3:06am
URL: https://discuss.orbeon.com/NPE-in-3-9-triggered-through-Servlet-Context-Listener-tp3450181p3482803.html

There is this thing called ExternalContext which is used to eventually
access the session. I suspected that it is was not set from
OrbeonServletContextListenerDelegate, but just looking at the code I
don't see why this would happen.

Are you setup with a Java environment? If so you could try to see with
a debugger what's happening.

Or, an easy to reproduce case…

-Erik

On Wed, Apr 27, 2011 at 6:36 AM, Gunzenreiner Simon
<[hidden email]> wrote:

> Hi all (in particular Orbeon developers)
>
> The NPE mentioned below still happens with the Orbeon 3.9 nightly build from the 26. April. Do you have any hints of how to analyze the cause for the behavior mentioned below?
>
> Best regards
> Simon
>
>
> -----Ursprüngliche Nachricht-----
> Von: Gunzenreiner Simon [mailto:[hidden email]]
> Gesendet: Dienstag, 19. April 2011 14:19
> An: [hidden email]
> Betreff: [ops-users] AW: Re: NPE in 3.9 triggered through Servlet Context Listener
>
> Hi Erik
>
> Just upgraded to the current nightly, I still get the following error:
>
> 14:14:52,398 ERROR [OrbeonServletContextListener] Exception at oxf:/ops/xforms/xforms-submission.xpl (executing XSLT transformation) java.lang.NullPointerException
>        at org.orbeon.oxf.xforms.state.XFormsStateManager.addDocumentToSession(XFormsStateManager.java:98)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at org.orbeon.saxon.functions.ExtensionFunctionCall.invokeMethod(ExtensionFunctionCall.java:690)
>        at org.orbeon.saxon.functions.ExtensionFunctionCall.call(ExtensionFunctionCall.java:343)
>        at org.orbeon.saxon.functions.ExtensionFunctionCall.iterate(ExtensionFunctionCall.java:224)
>        at org.orbeon.saxon.expr.Expression.evaluateItem(Expression.java:352)
>        at org.orbeon.saxon.instruct.SimpleContentConstructor.evaluateItem(SimpleContentConstructor.java:261)
>        at org.orbeon.saxon.instruct.ValueOf.processLeavingTail(ValueOf.java:243)
>        at org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:556)
>        at org.orbeon.saxon.instruct.Template.applyLeavingTail(Template.java:203)
>        at org.orbeon.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:348)
>        at org.orbeon.saxon.Controller.transformDocument(Controller.java:1807)
>        at org.orbeon.saxon.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:144)
>        at org.orbeon.oxf.xml.ForwardingXMLReceiver.endDocument(ForwardingXMLReceiver.java:84)
>        at org.orbeon.oxf.xml.SAXStore.replay(SAXStore.java:300)
>        at org.orbeon.oxf.xml.SAXStore.replay(SAXStore.java:202)
>        at org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.runTransformer(XSLTTransformer.java:465)
>        at org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.readImpl(XSLTTransformer.java:185)
>        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)
>        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$ConcreteRuntimeOutputFilter$ForwarderRuntimeOutputOutput.read(ProcessorOutputImpl.java:224)
>        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)
>        at org.orbeon.oxf.processor.validation.MSVValidationProcessor$3.readImpl(MSVValidationProcessor.java:226)
>        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)
>        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)
>        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$ConcreteRuntimeOutputFilter.read(ProcessorOutputImpl.java:247)
>        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)
>        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)
>        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:277)
>        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:292)
>        at org.orbeon.oxf.xforms.processor.XFormsServer.doIt(XFormsServer.java:109)
>        at org.orbeon.oxf.xforms.processor.XFormsServer.access$000(XFormsServer.java:56)
>        at org.orbeon.oxf.xforms.processor.XFormsServer$1.readImpl(XFormsServer.java:88)
>        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)
>        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$ConcreteRuntimeOutputFilter$ForwarderRuntimeOutputOutput.read(ProcessorOutputImpl.java:224)
>        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)
>        at org.orbeon.oxf.processor.validation.MSVValidationProcessor$3.readImpl(MSVValidationProcessor.java:226)
>        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)
>        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)
>        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$ConcreteRuntimeOutputFilter.read(ProcessorOutputImpl.java:247)
>        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)
>        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)
>        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:264)
>        at org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.runTransformer(XSLTTransformer.java:467)
>        at org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.readImpl(XSLTTransformer.java:185)
>        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)
>        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)
>        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)
>        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1$1.run(PipelineProcessor.java:94)
>        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:726)
>        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:61)
>        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:92)
>        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)
>        at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)
>        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)
>        at org.orbeon.oxf.processor.scope.ScopeSerializer$1.read(ScopeSerializer.java:36)
>        at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:365)
>        at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:330)
>        at org.orbeon.oxf.processor.scope.ScopeSerializer.start(ScopeSerializer.java:33)
>        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$5.run(PipelineProcessor.java:661)
>        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:726)
>        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:658)
>        at org.orbeon.oxf.processor.pipeline.foreach.ConcreteForEachProcessor.start(ConcreteForEachProcessor.java:274)
>        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$5.run(PipelineProcessor.java:661)
>        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:726)
>        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:658)
>        at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:89)
>        at org.orbeon.oxf.pipeline.InitUtils.run(InitUtils.java:256)
>        at org.orbeon.oxf.webapp.OrbeonServletContextListenerDelegate.contextInitialized(OrbeonServletContextListenerDelegate.java:40)
>        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3856)
>
>
> Regards
> Simon
>
> -----Ursprüngliche Nachricht-----
> Von: [hidden email] [mailto:[hidden email]] Im Auftrag von Erik Bruchez
> Gesendet: Samstag, 16. April 2011 03:00
> An: [hidden email]
> Betreff: [ops-users] Re: NPE in 3.9 triggered through Servlet Context Listener
>
> Did you try with 3.9 RC1, or with a nightly build?
>
> I haven't tried this but the code called in your stack trace has changed already and should not produce an NPE (at least, not this one ;).
>
> -Erik
>
> On Thu, Apr 14, 2011 at 9:58 AM, Gunzenreiner Simon <[hidden email]> wrote:
>> Hi all
>>
>> I am triggering an xpl pipeline through the
>> OrbeonServletContextListener and getting the exception below.
>>
>> If I trigger the same pipeline from epilogue-servlet.xpl, it works
>> fine and I get no problem. The pipeline has no input paramterers,
>> calls oxf:xslt and then oxf:xforms-submission, where it seems to fail.
>>
>> Bug? Any hints would be very much appreciated.
>>
>> Best regards
>>
>> Simon
>>
>> 18:50:05,114 INFO  [WebAppContext] Initializing Resource Manager with:
>> {oxf.resources.priority.1.oxf.resources.webapp.rootdir=/WEB-INF/resour
>> ces,
>> oxf.resources.factory=org.orbeon.oxf.resources.PriorityResourceManager
>> Factory,
>> oxf.resources.priority.2=org.orbeon.oxf.resources.ClassLoaderResourceM
>> anagerFactory,
>> oxf.resources.priority.1=org.orbeon.oxf.resources.WebAppResourceManage
>> rFactory,
>> org.orbeon.oxf.resources.WebAppResourceManagerImplServletContext=org.a
>> pache.catalina.core.ApplicationContextFacade@dd5a9d}
>>
>> 18:50:06,751 INFO  [OrbeonServletContextListener] Servlet Context
>> Listener - Context initialized.
>>
>> 18:50:06,757 INFO  [OrbeonServletContextListener] Servlet Context
>> Listener - About to run processor:
>> [{http://www.orbeon.com/oxf/processors}pipeline,
>> config -> oxf:/config/context-initialized.xpl]
>>
>> 18:50:07,979 ERROR [XSLTTransformer] Error at line 128 of
>> oxf:/ops/xforms/xforms-submission.xpl:
>>
>> null
>>
>> 18:50:07,980 ERROR [OrbeonServletContextListener] Exception at
>> oxf:/ops/xforms/xforms-submission.xpl (executing XSLT transformation)
>>
>> java.lang.NullPointerException
>>
>>         at
>> org.orbeon.oxf.pipeline.StaticExternalContext.putInSession(StaticExter
>> nalContext.java:106)
>>
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>
>>         at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
>> ava:39)
>>
>>         at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
>> orImpl.java:25)
>>
>>         at java.lang.reflect.Method.invoke(Method.java:597)
>>
>>         at
>> org.orbeon.saxon.functions.ExtensionFunctionCall.invokeMethod(Extensio
>> nFunctionCall.java:690)
>>
>>         at
>> org.orbeon.saxon.functions.ExtensionFunctionCall.call(ExtensionFunctio
>> nCall.java:343)
>>
>>         at
>> org.orbeon.saxon.functions.ExtensionFunctionCall.iterate(ExtensionFunc
>> tionCall.java:224)
>>
>>         at
>> org.orbeon.saxon.expr.Expression.evaluateItem(Expression.java:352)
>>
>>         at
>> org.orbeon.saxon.instruct.SimpleContentConstructor.evaluateItem(Simple
>> ContentConstructor.java:261)
>>
>>         at
>> org.orbeon.saxon.instruct.ValueOf.processLeavingTail(ValueOf.java:243)
>>
>>         at
>> org.orbeon.saxon.instruct.Block.processLeavingTail(Block.java:556)
>>
>>         at
>> org.orbeon.saxon.instruct.Template.applyLeavingTail(Template.java:203)
>>
>>         at
>> org.orbeon.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates
>> .java:348)
>>
>>         at
>> org.orbeon.saxon.Controller.transformDocument(Controller.java:1807)
>>
>>         at
>> org.orbeon.saxon.TransformerHandlerImpl.endDocument(TransformerHandler
>> Impl.java:144)
>>
>>         at
>> org.orbeon.oxf.xml.ForwardingXMLReceiver.endDocument(ForwardingXMLRece
>> iver.java:84)
>>
>>         at org.orbeon.oxf.xml.SAXStore.replay(SAXStore.java:300)
>>
>>         at org.orbeon.oxf.xml.SAXStore.replay(SAXStore.java:202)
>>
>>         at
>> org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.runTransfo
>> rmer(XSLTTransformer.java:372)
>>
>>         at
>> org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.readImpl(X
>> SLTTransformer.java:163)
>>
>>         at
>> org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter
>> .read(ProcessorOutputImpl.java:263)
>>
>>         at
>> org.orbeon.oxf.processor.impl.ProcessorOutputImpl$ConcreteRuntimeOutpu
>> tFilter$ForwarderRuntimeOutputOutput.read(ProcessorOutputImpl.java:224
>> )
>>
>>         at
>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.ja
>> va:260)
>>
>>         at
>> org.orbeon.oxf.processor.validation.MSVValidationProcessor$3.readImpl(
>> MSVValidationProcessor.java:226)
>>
>>         at
>> org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter
>> .read(ProcessorOutputImpl.java:263)
>>
>>         at
>> org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutput
>> Impl.java:406)
>>
>>         at
>> org.orbeon.oxf.processor.impl.ProcessorOutputImpl$ConcreteRuntimeOutpu
>> tFilter.read(ProcessorOutputImpl.java:247)
>>
>>         at
>> org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutput
>> Impl.java:406)
>>
>>         at
>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.ja
>> va:260)
>>
>>         at
>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.
>> java:277)
>>
>>         at
>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.
>> java:292)
>>
>>         at
>> org.orbeon.oxf.xforms.processor.XFormsServer.doIt(XFormsServer.java:10
>> 9)
>>
>>         at
>> org.orbeon.oxf.xforms.processor.XFormsServer.access$000(XFormsServer.j
>> ava:56)
>>
>>         at
>> org.orbeon.oxf.xforms.processor.XFormsServer$1.readImpl(XFormsServer.j
>> ava:88)
>>
>>         at
>> org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter
>> .read(ProcessorOutputImpl.java:263)
>>
>>         at
>> org.orbeon.oxf.processor.impl.ProcessorOutputImpl$ConcreteRuntimeOutpu
>> tFilter$ForwarderRuntimeOutputOutput.read(ProcessorOutputImpl.java:224
>> )
>>
>>         at
>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.ja
>> va:260)
>>
>>         at
>> org.orbeon.oxf.processor.validation.MSVValidationProcessor$3.readImpl(
>> MSVValidationProcessor.java:226)
>>
>>         at
>> org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter
>> .read(ProcessorOutputImpl.java:263)
>>
>>         at
>> org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutput
>> Impl.java:406)
>>
>>         at
>> org.orbeon.oxf.processor.impl.ProcessorOutputImpl$ConcreteRuntimeOutpu
>> tFilter.read(ProcessorOutputImpl.java:247)
>>
>>         at
>> org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutput
>> Impl.java:406)
>>
>>         at
>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.ja
>> va:260)
>>
>>         at
>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.ja
>> va:264)
>>
>>         at
>> org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.runTransfo
>> rmer(XSLTTransformer.java:374)
>>
>>         at
>> org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.readImpl(X
>> SLTTransformer.java:163)
>>
>>         at
>> org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter
>> .read(ProcessorOutputImpl.java:263)
>>
>>         at
>> org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutput
>> Impl.java:406)
>>
>>         at
>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.ja
>> va:260)
>>
>>         at
>> org.orbeon.oxf.processor.pipeline.PipelineProcessor$1$1.run(PipelinePr
>> ocessor.java:94)
>>
>>         at
>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(Pi
>> pelineProcessor.java:726)
>>
>>         at
>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(Pipelin
>> eProcessor.java:61)
>>
>>         at
>> org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(Pipelin
>> eProcessor.java:92)
>>
>>         at
>> org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter
>> .read(ProcessorOutputImpl.java:263)
>>
>>         at
>> org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutput
>> Impl.java:406)
>>
>>         at
>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.ja
>> va:260)
>>
>>         at
>> org.orbeon.oxf.processor.scope.ScopeSerializer$1.read(ScopeSerializer.
>> java:36)
>>
>>         at
>> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(Processo
>> rImpl.java:365)
>>
>>         at
>> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(Processo
>> rImpl.java:330)
>>
>>         at
>> org.orbeon.oxf.processor.scope.ScopeSerializer.start(ScopeSerializer.j
>> ava:33)
>>
>>         at
>> org.orbeon.oxf.processor.pipeline.PipelineProcessor$5.run(PipelineProc
>> essor.java:661)
>>
>>         at
>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(Pi
>> pelineProcessor.java:726)
>>
>>         at
>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProc
>> essor.java:658)
>>
>>         at
>> org.orbeon.oxf.processor.pipeline.foreach.ConcreteForEachProcessor.sta
>> rt(ConcreteForEachProcessor.java:275)
>>
>>         at
>> org.orbeon.oxf.processor.pipeline.PipelineProcessor$5.run(PipelineProc
>> essor.java:661)
>>
>>         at
>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(Pi
>> pelineProcessor.java:726)
>>
>>         at
>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProc
>> essor.java:658)
>>
>>         at
>> org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:89)
>>
>>         at org.orbeon.oxf.pipeline.InitUtils.run(InitUtils.java:257)
>>
>>         at
>> org.orbeon.oxf.webapp.OrbeonServletContextListenerDelegate.contextInit
>> ialized(OrbeonServletContextListenerDelegate.java:40)
>>
>> --
>> You receive this message as a subscriber of the [hidden email]
>> mailing list.
>> To unsubscribe: mailto:[hidden email]
>> For general help: mailto:[hidden email]?subject=help
>> OW2 mailing lists service home page: http://www.ow2.org/wws
>>
>>
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws