Uploaded image for project: 'Struts 2'
  1. Struts 2
  2. WW-5009

EmptyStackException in JSON plugin due to concurrency

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 2.5.20
    • 2.5.22, 2.6
    • Plugin - JSON
    • JDK 1.8_0_191

      Tomcat 9.0.12

    Description

      EmptyStackException in JSON plugin due to concurrency

      Note: The issue was found in an app that was upgraded from version 2.3.34 

      Logs: logs.txt

      I created a sample application that should help reproducing the error.

      struts-json-example-master.zip

      The error happened opening the app (localhost/struts-json-example) in 4 different browsers / sessions.

      As a workaround I have overridden the JSONInterceptor so a new instance of JSONUtil is used with every request and the issue is not happening anymore. I suppose there is a performance cost with that change but for now it works.

       

      Attachments

        1. logs.txt
          34 kB
          Eduardo Quintanilla
        2. logs-test-fix.log
          8 kB
          Eduardo Quintanilla
        3. struts-json-example-master.zip
          13 kB
          Eduardo Quintanilla

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            aleksandr-m Aleksandr Mashchenko
            Eduardo Quintanilla Eduardo Quintanilla
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Issue deployment