Details
Description
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.