You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Burton Rhodes (Jira)" <ji...@apache.org> on 2022/10/10 16:00:00 UTC

[jira] [Commented] (WW-5190) StackOverflowError when dispatching to JSP

    [ https://issues.apache.org/jira/browse/WW-5190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17615187#comment-17615187 ] 

Burton Rhodes commented on WW-5190:
-----------------------------------

This change is breaking my ExecuteAndWait implementations using the [recommended refresh implementation]([https://struts.apache.org/core-developers/execute-and-wait-interceptor]). The resulting url appends the file with "!methodName" making the url invalid upon refresh.

_Example:_ 
{code:java}
<action name="LetterMergeBulk_contactList" class="com.afs.web.struts.action.letters.LetterMergeBulkAction" method="contactList"> 
   <interceptor-ref name="executeAndWaitInterceptor" /> 
   <result name="wait">/struts/letters/letterMergeBulkWait_popup.jsp</result> 
   <result>/struts/letters/letterMerge_popup.jsp</result> 
</action>{code}
*Results in*
{code:java}
/afs/app/LetterMergeBulk_contactList!contactList.action?struts.token.name=token&token=A9SIKBABK17IZFM6AHSP0QSFIJHLZKJB&letterTemplateId=14773
{code}
*Instead of*
{code:java}
/afs/app/LetterMergeBulk_contactList.action?struts.token.name=token&token=A9SIKBABK17IZFM6AHSP0QSFIJHLZKJB&letterTemplateId=14773{code}
*Using HTML Header*
{code:java}
<head>
   <title>Please wait</title>
   <meta http-equiv="refresh" content="5;url=<s:url includeParams="all" />"/>
</head>{code}

> StackOverflowError when dispatching to JSP
> ------------------------------------------
>
>                 Key: WW-5190
>                 URL: https://issues.apache.org/jira/browse/WW-5190
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Actions
>    Affects Versions: 6.0.0
>            Reporter: Lukasz Lenart
>            Assignee: Lukasz Lenart
>            Priority: Major
>             Fix For: 6.0.3
>
>          Time Spent: 2h 10m
>  Remaining Estimate: 0h
>
> I am running a Spring Boot 2.7.0 (Latest) Tomcat embedded WAR + Spring Security + Struts 6.0.0 Actions + JSP pages.  I started noticing a loop when a Struts2 Action result type is a "dispatcher" with following repetitive stack trace.  Then, a stack overflow is raised.
> {noformat}
> ...... repeated several times ......
>         at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:637) ~[struts2-core-6.0.0.jar:6.0.0]
>         at org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79) ~[struts2-core-6.0.0.jar:6.0.0]
>         at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:140) ~[struts2-core-6.0.0.jar:6.0.0]
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.63.jar:9.0.63]
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.63.jar:9.0.63]
>         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111) ~[spring-web-5.3.20.jar:5.3.20]
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.63.jar:9.0.63]
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.63.jar:9.0.63]
>         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111) ~[spring-web-5.3.20.jar:5.3.20]
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.63.jar:9.0.63]
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)