[JBoss JIRA] (JBSEAM-5143) Random IllegalArgumentException: Stack must not be null
by Robert Becker (JIRA)
[ https://issues.jboss.org/browse/JBSEAM-5143?page=com.atlassian.jira.plugi... ]
Robert Becker commented on JBSEAM-5143:
---------------------------------------
Many thanks for your insight.
> 1. Am I right that you have enabled client state saving ? This is not recommended setting.
I just had it enabled for a day or two to see if it makes any difference, which it doesn't. Currently I am using partial server side state saving which also is my preferred configuration.
> I would guess it is not a random failure, but there is some point in previous navigation or a step which prevents the continuation of using/restoring conversation - like bad conversation usage.
The strange thing is that it even happens using s:links with propagation="none" and in very different parts of the application. For example yesterday I worked on a specific view being referenced which such a link from the main menu. I used the link dozens of times where it worked fine, then suddenly the exception occurred and afterwards it worked normally again.
> Honestly I can't say anything more without seeing more application code.
If I could just narrow it down to what to show you.
> And I would recommend to try deployment also on JBoss AS 7 or EAP 6.3.x for comparison.
I had that in mind, too. I will try that.
> Random IllegalArgumentException: Stack must not be null
> -------------------------------------------------------
>
> Key: JBSEAM-5143
> URL: https://issues.jboss.org/browse/JBSEAM-5143
> Project: Seam 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.3.1.Final
> Reporter: Robert Becker
>
> Since upgrading to Seam 2.3 with Mojarra 2.1.29 on glassfish v3 from Seam 2.2.2, I get random IllegalArgumentExceptions with the message "Stack must not be null". The application worked fine for several years until now.
> The full stack trace is listed here: http://pastebin.com/RjLndvnE
> The exception randomly happens (in about 1 of 500 requests) when navigating between pages, submitting forms, switching (RichFaces) tabs and so on.
> I believe restarting glassfish and/or enabling client side state saving reduces the frequency of the issue whereas it seems to happen more often after multiple successive redeployments during development. Sadly, due to several dependencies this is already in production but happens far less often there, but it still happens daily according to the server logs.
> I have also posted this on stackoverflow (http://stackoverflow.com/questions/27107870/seam-2-3-illegalargumentexcep...) but have not received any answers yet.
> Besides Seam 2.3, the following libraries are used:
> - Mojarra 2.1.29
> - RF 4.5 (exception also occurred with 4.3.x)
> - Omnifaces 1.10RC1 (will upgrade to 2.0)
> - Primefaces 5.1
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
10 years
[JBoss JIRA] (JBSEAM-5143) Random IllegalArgumentException: Stack must not be null
by Marek Novotny (JIRA)
[ https://issues.jboss.org/browse/JBSEAM-5143?page=com.atlassian.jira.plugi... ]
Marek Novotny commented on JBSEAM-5143:
---------------------------------------
I have got a few points.
1. Am I right that you have enabled client state saving ? This is not recommended setting.
2. The debug message "isPageContextActive is null" is a helper for signalling that page context doesn't exist and then it would be lazy initiated and that is only in case you are in RESTORE_VIEW phase, but your second stack trace implies it happens in RENDER phase too, so your application fails in both JSF phases and you should find out what exact steps lead to the failure. I would guess it is not a random failure, but there is some point in previous navigation or a step which prevents the continuation of using/restoring conversation - like bad conversation usage.
3. More or less I think, the main issue is missing conversation Id or not restored conversation completely, because if you are not in long running conversation, the id is automatically created, so it seems that conversation which seems is long conversation is somehow crippled. That CRUD method prepare is trying to create nested conversation in parent conversation, but it is not restored properly the parent conversation id, why that is the question? If you see conversation id in request parameters it should be restored - that is the only way how to pass the conversation id now on JSF 2. We changed that due new partial view processing.
Honestly I can't say anything more without seeing more application code. And I would recommend to try deployment also on JBoss AS 7 or EAP 6.3.x for comparison.
> Random IllegalArgumentException: Stack must not be null
> -------------------------------------------------------
>
> Key: JBSEAM-5143
> URL: https://issues.jboss.org/browse/JBSEAM-5143
> Project: Seam 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.3.1.Final
> Reporter: Robert Becker
>
> Since upgrading to Seam 2.3 with Mojarra 2.1.29 on glassfish v3 from Seam 2.2.2, I get random IllegalArgumentExceptions with the message "Stack must not be null". The application worked fine for several years until now.
> The full stack trace is listed here: http://pastebin.com/RjLndvnE
> The exception randomly happens (in about 1 of 500 requests) when navigating between pages, submitting forms, switching (RichFaces) tabs and so on.
> I believe restarting glassfish and/or enabling client side state saving reduces the frequency of the issue whereas it seems to happen more often after multiple successive redeployments during development. Sadly, due to several dependencies this is already in production but happens far less often there, but it still happens daily according to the server logs.
> I have also posted this on stackoverflow (http://stackoverflow.com/questions/27107870/seam-2-3-illegalargumentexcep...) but have not received any answers yet.
> Besides Seam 2.3, the following libraries are used:
> - Mojarra 2.1.29
> - RF 4.5 (exception also occurred with 4.3.x)
> - Omnifaces 1.10RC1 (will upgrade to 2.0)
> - Primefaces 5.1
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
10 years
[JBoss JIRA] (JBSEAM-5143) Random IllegalArgumentException: Stack must not be null
by Robert Becker (JIRA)
[ https://issues.jboss.org/browse/JBSEAM-5143?page=com.atlassian.jira.plugi... ]
Robert Becker commented on JBSEAM-5143:
---------------------------------------
I noticed the posted stack trace containing a manual redirect using `Redirect.instance()`.
This here is a different stack trace of a GET request without redirecting: http://pastebin.com/RJyMP5nk
Here, of course, beforeRedirect() is not called but the stack trace falls together with the other one in {{Manager.createConversationEntry()}}.
> Random IllegalArgumentException: Stack must not be null
> -------------------------------------------------------
>
> Key: JBSEAM-5143
> URL: https://issues.jboss.org/browse/JBSEAM-5143
> Project: Seam 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.3.1.Final
> Reporter: Robert Becker
>
> Since upgrading to Seam 2.3 with Mojarra 2.1.29 on glassfish v3 from Seam 2.2.2, I get random IllegalArgumentExceptions with the message "Stack must not be null". The application worked fine for several years until now.
> The full stack trace is listed here: http://pastebin.com/RjLndvnE
> The exception randomly happens (in about 1 of 500 requests) when navigating between pages, submitting forms, switching (RichFaces) tabs and so on.
> I believe restarting glassfish and/or enabling client side state saving reduces the frequency of the issue whereas it seems to happen more often after multiple successive redeployments during development. Sadly, due to several dependencies this is already in production but happens far less often there, but it still happens daily according to the server logs.
> I have also posted this on stackoverflow (http://stackoverflow.com/questions/27107870/seam-2-3-illegalargumentexcep...) but have not received any answers yet.
> Besides Seam 2.3, the following libraries are used:
> - Mojarra 2.1.29
> - RF 4.5 (exception also occurred with 4.3.x)
> - Omnifaces 1.10RC1 (will upgrade to 2.0)
> - Primefaces 5.1
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
10 years
[JBoss JIRA] (JBSEAM-5143) Random IllegalArgumentException: Stack must not be null
by Robert Becker (JIRA)
[ https://issues.jboss.org/browse/JBSEAM-5143?page=com.atlassian.jira.plugi... ]
Robert Becker commented on JBSEAM-5143:
---------------------------------------
Sorry, these are all assumptions and perhaps I am completely on the wrong path here.
One thing for sure is: The stack trace implies that {{Manager.getCurrentConversationEntry()}} returns null, because {{createConversationEntry}} is called in {{beforeRedirect}}:
{code}
public ConversationEntry getCurrentConversationEntry()
{
if (currentConversationEntry==null)
{
currentConversationEntry = ConversationEntries.instance().getConversationEntry( getCurrentConversationId() );
}
return currentConversationEntry;
}
...
/**
* Temporarily promote a temporary conversation to
* a long running conversation for the duration of
* a browser redirect. After the redirect, the
* conversation will be demoted back to a temporary
* conversation.
*/
public void beforeRedirect()
{
//DONT BREAK, icefaces uses this
if (!destroyBeforeRedirect)
{
ConversationEntry ce = getCurrentConversationEntry();
if (ce==null)
{
ce = createConversationEntry();
}
//ups, we don't really want to destroy it on this request after all!
ce.setRemoveAfterRedirect( !isLongRunningConversation() );
setLongRunningConversation(true);
}
}
{code}
> Random IllegalArgumentException: Stack must not be null
> -------------------------------------------------------
>
> Key: JBSEAM-5143
> URL: https://issues.jboss.org/browse/JBSEAM-5143
> Project: Seam 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.3.1.Final
> Reporter: Robert Becker
>
> Since upgrading to Seam 2.3 with Mojarra 2.1.29 on glassfish v3 from Seam 2.2.2, I get random IllegalArgumentExceptions with the message "Stack must not be null". The application worked fine for several years until now.
> The full stack trace is listed here: http://pastebin.com/RjLndvnE
> The exception randomly happens (in about 1 of 500 requests) when navigating between pages, submitting forms, switching (RichFaces) tabs and so on.
> I believe restarting glassfish and/or enabling client side state saving reduces the frequency of the issue whereas it seems to happen more often after multiple successive redeployments during development. Sadly, due to several dependencies this is already in production but happens far less often there, but it still happens daily according to the server logs.
> I have also posted this on stackoverflow (http://stackoverflow.com/questions/27107870/seam-2-3-illegalargumentexcep...) but have not received any answers yet.
> Besides Seam 2.3, the following libraries are used:
> - Mojarra 2.1.29
> - RF 4.5 (exception also occurred with 4.3.x)
> - Omnifaces 1.10RC1 (will upgrade to 2.0)
> - Primefaces 5.1
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
10 years
[JBoss JIRA] (JBSEAM-5143) Random IllegalArgumentException: Stack must not be null
by Robert Becker (JIRA)
[ https://issues.jboss.org/browse/JBSEAM-5143?page=com.atlassian.jira.plugi... ]
Robert Becker edited comment on JBSEAM-5143 at 12/3/14 9:25 AM:
----------------------------------------------------------------
Hm, the message is only logged if {{pageContext.get() == null}}, so a page context gets retrieved from the ThreadLocal. This means that the current page context is missing its conversation stack for some reason.
was (Author: r0b3n):
Hm, the message is only logged if {{pageContext.get() == null}}, so a page context gets retrieved from the ThreadLocal. So the stored page context is missing its conversation stack.
> Random IllegalArgumentException: Stack must not be null
> -------------------------------------------------------
>
> Key: JBSEAM-5143
> URL: https://issues.jboss.org/browse/JBSEAM-5143
> Project: Seam 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.3.1.Final
> Reporter: Robert Becker
>
> Since upgrading to Seam 2.3 with Mojarra 2.1.29 on glassfish v3 from Seam 2.2.2, I get random IllegalArgumentExceptions with the message "Stack must not be null". The application worked fine for several years until now.
> The full stack trace is listed here: http://pastebin.com/RjLndvnE
> The exception randomly happens (in about 1 of 500 requests) when navigating between pages, submitting forms, switching (RichFaces) tabs and so on.
> I believe restarting glassfish and/or enabling client side state saving reduces the frequency of the issue whereas it seems to happen more often after multiple successive redeployments during development. Sadly, due to several dependencies this is already in production but happens far less often there, but it still happens daily according to the server logs.
> I have also posted this on stackoverflow (http://stackoverflow.com/questions/27107870/seam-2-3-illegalargumentexcep...) but have not received any answers yet.
> Besides Seam 2.3, the following libraries are used:
> - Mojarra 2.1.29
> - RF 4.5 (exception also occurred with 4.3.x)
> - Omnifaces 1.10RC1 (will upgrade to 2.0)
> - Primefaces 5.1
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
10 years
[JBoss JIRA] (JBSEAM-5143) Random IllegalArgumentException: Stack must not be null
by Robert Becker (JIRA)
[ https://issues.jboss.org/browse/JBSEAM-5143?page=com.atlassian.jira.plugi... ]
Robert Becker commented on JBSEAM-5143:
---------------------------------------
Hm, the message is only logged if {{pageContext.get() == null}}, so a page context gets retrieved from the ThreadLocal. So the stored page context is missing its conversation stack.
> Random IllegalArgumentException: Stack must not be null
> -------------------------------------------------------
>
> Key: JBSEAM-5143
> URL: https://issues.jboss.org/browse/JBSEAM-5143
> Project: Seam 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.3.1.Final
> Reporter: Robert Becker
>
> Since upgrading to Seam 2.3 with Mojarra 2.1.29 on glassfish v3 from Seam 2.2.2, I get random IllegalArgumentExceptions with the message "Stack must not be null". The application worked fine for several years until now.
> The full stack trace is listed here: http://pastebin.com/RjLndvnE
> The exception randomly happens (in about 1 of 500 requests) when navigating between pages, submitting forms, switching (RichFaces) tabs and so on.
> I believe restarting glassfish and/or enabling client side state saving reduces the frequency of the issue whereas it seems to happen more often after multiple successive redeployments during development. Sadly, due to several dependencies this is already in production but happens far less often there, but it still happens daily according to the server logs.
> I have also posted this on stackoverflow (http://stackoverflow.com/questions/27107870/seam-2-3-illegalargumentexcep...) but have not received any answers yet.
> Besides Seam 2.3, the following libraries are used:
> - Mojarra 2.1.29
> - RF 4.5 (exception also occurred with 4.3.x)
> - Omnifaces 1.10RC1 (will upgrade to 2.0)
> - Primefaces 5.1
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
10 years
[JBoss JIRA] (JBSEAM-5143) Random IllegalArgumentException: Stack must not be null
by Robert Becker (JIRA)
[ https://issues.jboss.org/browse/JBSEAM-5143?page=com.atlassian.jira.plugi... ]
Robert Becker edited comment on JBSEAM-5143 at 12/3/14 9:13 AM:
----------------------------------------------------------------
Sadly not, because the whole problem is highly non-deterministic.
On the production machine today this exception occurred 4 times while a total of 144 users logged in. It happens on POST and GET requests.
I think the best clue is "isPageContextActive is null" (see Contexts.isPageContextActive()) being never printed when this exception occurs. Do you know in wich cases the page context can not be lazily initialized? I tried to dig further into the Lifecycle but it gets somehow fuzzy from this point on.
I am currently running Mojarra 2.1.29 (confirmed via startup log message), so the said fix should be available.
was (Author: r0b3n):
Sadly not, because the whole problem is highly non-deterministic.
On the production machine today this exception occurred 14 times while a total of 144 users logged in. It happens on POST and GET requests.
I think the best clue is "isPageContextActive is null" (see Contexts.isPageContextActive()) being never printed when this exception occurs. Do you know in wich cases the page context can not be lazily initialized? I tried to dig further into the Lifecycle but it gets somehow fuzzy from this point on.
I am currently running Mojarra 2.1.29 (confirmed via startup log message), so the said fix should be available.
> Random IllegalArgumentException: Stack must not be null
> -------------------------------------------------------
>
> Key: JBSEAM-5143
> URL: https://issues.jboss.org/browse/JBSEAM-5143
> Project: Seam 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.3.1.Final
> Reporter: Robert Becker
>
> Since upgrading to Seam 2.3 with Mojarra 2.1.29 on glassfish v3 from Seam 2.2.2, I get random IllegalArgumentExceptions with the message "Stack must not be null". The application worked fine for several years until now.
> The full stack trace is listed here: http://pastebin.com/RjLndvnE
> The exception randomly happens (in about 1 of 500 requests) when navigating between pages, submitting forms, switching (RichFaces) tabs and so on.
> I believe restarting glassfish and/or enabling client side state saving reduces the frequency of the issue whereas it seems to happen more often after multiple successive redeployments during development. Sadly, due to several dependencies this is already in production but happens far less often there, but it still happens daily according to the server logs.
> I have also posted this on stackoverflow (http://stackoverflow.com/questions/27107870/seam-2-3-illegalargumentexcep...) but have not received any answers yet.
> Besides Seam 2.3, the following libraries are used:
> - Mojarra 2.1.29
> - RF 4.5 (exception also occurred with 4.3.x)
> - Omnifaces 1.10RC1 (will upgrade to 2.0)
> - Primefaces 5.1
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
10 years
[JBoss JIRA] (JBSEAM-5143) Random IllegalArgumentException: Stack must not be null
by Robert Becker (JIRA)
[ https://issues.jboss.org/browse/JBSEAM-5143?page=com.atlassian.jira.plugi... ]
Robert Becker commented on JBSEAM-5143:
---------------------------------------
Sadly not, because the whole problem is highly non-deterministic.
On the production machine today this exception occurred 14 times while a total of 144 users logged in. It happens on POST and GET requests.
I think the best clue is "isPageContextActive is null" (see Contexts.isPageContextActive()) being never printed when this exception occurs. Do you know in wich cases the page context can not be lazily initialized? I tried to dig further into the Lifecycle but it gets somehow fuzzy from this point on.
I am currently running Mojarra 2.1.29 (confirmed via startup log message), so the said fix should be available.
> Random IllegalArgumentException: Stack must not be null
> -------------------------------------------------------
>
> Key: JBSEAM-5143
> URL: https://issues.jboss.org/browse/JBSEAM-5143
> Project: Seam 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.3.1.Final
> Reporter: Robert Becker
>
> Since upgrading to Seam 2.3 with Mojarra 2.1.29 on glassfish v3 from Seam 2.2.2, I get random IllegalArgumentExceptions with the message "Stack must not be null". The application worked fine for several years until now.
> The full stack trace is listed here: http://pastebin.com/RjLndvnE
> The exception randomly happens (in about 1 of 500 requests) when navigating between pages, submitting forms, switching (RichFaces) tabs and so on.
> I believe restarting glassfish and/or enabling client side state saving reduces the frequency of the issue whereas it seems to happen more often after multiple successive redeployments during development. Sadly, due to several dependencies this is already in production but happens far less often there, but it still happens daily according to the server logs.
> I have also posted this on stackoverflow (http://stackoverflow.com/questions/27107870/seam-2-3-illegalargumentexcep...) but have not received any answers yet.
> Besides Seam 2.3, the following libraries are used:
> - Mojarra 2.1.29
> - RF 4.5 (exception also occurred with 4.3.x)
> - Omnifaces 1.10RC1 (will upgrade to 2.0)
> - Primefaces 5.1
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
10 years
[JBoss JIRA] (JBSEAM-5143) Random IllegalArgumentException: Stack must not be null
by Marek Novotny (JIRA)
[ https://issues.jboss.org/browse/JBSEAM-5143?page=com.atlassian.jira.plugi... ]
Marek Novotny commented on JBSEAM-5143:
---------------------------------------
[~r0b3n] not sure, it should be fixed since Mojarra 2.1.19. Are you able to develop a test case like we have for JBSEAM-5002? see https://github.com/seam2/jboss-seam/blob/Seam_2_3/seam-integration-tests/...
> Random IllegalArgumentException: Stack must not be null
> -------------------------------------------------------
>
> Key: JBSEAM-5143
> URL: https://issues.jboss.org/browse/JBSEAM-5143
> Project: Seam 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.3.1.Final
> Reporter: Robert Becker
>
> Since upgrading to Seam 2.3 with Mojarra 2.1.29 on glassfish v3 from Seam 2.2.2, I get random IllegalArgumentExceptions with the message "Stack must not be null". The application worked fine for several years until now.
> The full stack trace is listed here: http://pastebin.com/RjLndvnE
> The exception randomly happens (in about 1 of 500 requests) when navigating between pages, submitting forms, switching (RichFaces) tabs and so on.
> I believe restarting glassfish and/or enabling client side state saving reduces the frequency of the issue whereas it seems to happen more often after multiple successive redeployments during development. Sadly, due to several dependencies this is already in production but happens far less often there, but it still happens daily according to the server logs.
> I have also posted this on stackoverflow (http://stackoverflow.com/questions/27107870/seam-2-3-illegalargumentexcep...) but have not received any answers yet.
> Besides Seam 2.3, the following libraries are used:
> - Mojarra 2.1.29
> - RF 4.5 (exception also occurred with 4.3.x)
> - Omnifaces 1.10RC1 (will upgrade to 2.0)
> - Primefaces 5.1
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
10 years