[
https://issues.apache.org/jira/browse/WW-5009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16758946#comment-16758946
]
Yasser Zamani commented on WW-5009:
-----------------------------------
Thank you [~JCjA492kH6347Vb10Ja53]! But I think it's not a nice idea and I
think it doesn't have a logical evidence to force user a synchronization
proposed above (when it's internally resolvable). Despite how much
refactor/modifications are needed, I think instead we should fix
{{DefaultJSONWriter}}. Did you mean you already have seen that it isn't
resolvable and using java {{synchronized}} feature is the only available
solution? I feel it should be already fixable to be thread-safe.
> EmptyStackException in JSON plugin due to concurrency
> -----------------------------------------------------
>
> Key: WW-5009
> URL: https://issues.apache.org/jira/browse/WW-5009
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - JSON
> Affects Versions: 2.5.20
> Environment: JDK 1.8_0_191
> Tomcat 9.0.12
> Reporter: Eduardo Quintanilla
> Assignee: Yasser Zamani
> Priority: Critical
> Labels: json, json-rpc
> Fix For: 2.5.21, 2.6
>
> Attachments: logs.txt, struts-json-example-master.zip
>
>
> 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.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)