You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Bartek Wasko (JIRA)" <ji...@apache.org> on 2008/07/28 11:45:08 UTC
[jira] Updated: (STR-3161) Servlet not injected into newly created
action in higly concurrent env
[ https://issues.apache.org/struts/browse/STR-3161?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bartek Wasko updated STR-3161:
------------------------------
Attachment: RequestProcessor.patch
Patch - synchronisation extended (RequestProcessor.processActionCreate) to cover also code, where servlet is injected into action.
> Servlet not injected into newly created action in higly concurrent env
> ----------------------------------------------------------------------
>
> Key: STR-3161
> URL: https://issues.apache.org/struts/browse/STR-3161
> Project: Struts 1
> Issue Type: Bug
> Components: Core
> Affects Versions: 1.3.8
> Environment: win xp, jvm 1.5.0_12
> Reporter: Bartek Wasko
> Attachments: RequestProcessor.patch
>
>
> In struts 1.3.8 we encountered such an issue
> getServlet() invoked from action code returns null.
> After quick investigation I found a bit susspicious place in the
> RequestProcessor#processActionCreate code.
> The synchronized block seems to be a bit risky in highly concurrent environment because it does not cover also the code injecting servlet into freshly created action:
> if (instance.getServlet() == null) {
> instance.setServlet(this.servlet);
> }
> After I had extended synchronisation to above code fragment, it seems, our nullpointer vanished.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.