[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-959) NullPointerException in ConversationEntry if stack is null

Andrew (JIRA) jira-events at lists.jboss.org
Mon Mar 26 13:30:57 EDT 2007


    [ http://jira.jboss.com/jira/browse/JBSEAM-959?page=comments#action_12357344 ] 
            
Andrew commented on JBSEAM-959:
-------------------------------

Please re-open this bug, it is not fixed.

Steps to reproduce:

Attempt a redirect from inside of the RESTORE_VIEW phase.

What happens:

Seam does not initialize the conversation stack until the end of the RESTORE_VIEW phase. Until then, any redirect will fail with an exception because Seam calls createConversationEntry() without first creating the stack. 

This is easily reproducible with Ajax4Jsf 1.1.0. Try this:

1) Create a page with a RichFaces tree (any A4J enabled component that generates AJAX events will work).
2) View the page and wait for the session/view to time out
3) Expand a node (generating an AJAX event)

What happens:
1) A4J's view handler sees that no UIViewRoot exists due to session expiration
2) The view handler then sends a redirect to the user to the requested view ID
3) Seam's redirect filter picks up the redirect request and attempts to append the conversation ID onto the URL
4) This fails because the conversation stack is not created until after RESTORE_VIEW

I'm also approaching this bug from the A4J side:
http://jboss.com/index.html?module=bb&op=viewtopic&p=4031688#4031688

Thank you!

> NullPointerException in ConversationEntry if stack is null
> ----------------------------------------------------------
>
>                 Key: JBSEAM-959
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-959
>             Project: JBoss Seam
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.2.0.GA
>            Reporter: Keith Naas
>         Assigned To: Pete Muir
>             Fix For: 1.2.1.GA
>
>
> When the conversation stack is null, the ConversationEntry constructor throws a NullPointerException.
> There is a conditional check earlier in the constructor that causes the conversationIdStack to be set to null.  Then later it checks to see if the stack size is greater than 1.  Kablooey!
> changed to
>  if ( conversationIdStack != null && conversationIdStack.size()>1 )

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

        



More information about the seam-issues mailing list