[ 
https://issues.apache.org/jira/browse/ORCHESTRA-41?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12732902#action_12732902
 ] 

Christian Kaltepoth commented on ORCHESTRA-41:
----------------------------------------------

It seems like ORCHESTRA-34 wasn't fixed by adding a NPE check but by 
eliminating 
the cause of FrameworkAdapter.getCurrentInstance() returning null. 

See the SVN commit for ORCHESTRA-34:

http://svn.apache.org/viewvc?view=rev&revision=746706

Are you sure that this stack trace refers to Orchestra 1.3.1? 

An NPE seems possible with Orchestra 1.3 in line 140 of ConversationManager when
FrameworkAdapter.getCurrentInstance() returns null:

http://svn.apache.org/viewvc/myfaces/orchestra/tags/core-1_3/src/main/java/org/apache/myfaces/orchestra/conversation/ConversationManager.java?view=annotate

But in 1.3.1 line 140 only contains a source code comment:

http://svn.apache.org/viewvc/myfaces/orchestra/tags/core-1_3_1/src/main/java/org/apache/myfaces/orchestra/conversation/ConversationManager.java?view=annotate




> NullPointerException in method findConversationContextId
> --------------------------------------------------------
>
>                 Key: ORCHESTRA-41
>                 URL: https://issues.apache.org/jira/browse/ORCHESTRA-41
>             Project: MyFaces Orchestra
>          Issue Type: Bug
>          Components: Conversation, FrameworkAdapter
>    Affects Versions: 1.3.1
>         Environment: Windows XP SP2, Tomcat 6.0.20
>            Reporter: Bozhidar Bozhanov
>   Original Estimate: 0.08h
>  Remaining Estimate: 0.08h
>
> After some time, (probably when a thread times-out) the following appears:
> Exception in thread 
> "org.apache.myfaces.orchestra.conversation.ConversationWiperThread" 
> java.lang.NullPointerException
>       at 
> org.apache.myfaces.orchestra.conversation.ConversationManager.findConversationContextId(ConversationManager.java:140)
>       at 
> org.apache.myfaces.orchestra.conversation.ConversationManager.removeAndInvalidateConversationContext(ConversationManager.java:343)
>       at 
> org.apache.myfaces.orchestra.conversation.ConversationManager.checkTimeouts(ConversationManager.java:626)
>       at 
> org.apache.myfaces.orchestra.conversation.ConversationWiperThread._run(ConversationWiperThread.java:113)
>       at 
> org.apache.myfaces.orchestra.conversation.ConversationWiperThread.run(ConversationWiperThread.java:90)
> It doesn't bring any trouble to the front-end, but still, it is an exception 
> :)
> The problem, I think is that the ThreadLocal variable (after the thread has 
> timed-out) return null, so no conversationContext anymore. A little anti-NPE 
> check in the findConversaionContextId would get rid of the exception.
> I'm not sure whether this happens in 1.3.1, I checked the source code in the 
> repository and there was no NPE check, so I presume the issue is still there.

-- 
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