NullPointerException coming from Settings /
LegacyPropertiesConfigurationProvider (thread-safety issue?)
--------------------------------------------------------------------------------------------------------
Key: WW-3689
URL: https://issues.apache.org/jira/browse/WW-3689
Project: Struts 2
Issue Type: Bug
Affects Versions: 2.2.3.1, 2.0.14
Environment: Any; multi-core machines tend to demonstrate the problem
more readily though.
Reporter: James Abley
When running a load test, we intermittently see failures with this stack trace
(the line numbers are for 2.0.14, but we also see this with 2.2.3.1):
{noformat}
Exception in thread "MultiThreadTestRunner-5" java.lang.NullPointerException
at org.apache.struts2.config.Settings.get(Settings.java:175)
at
org.apache.struts2.config.Settings.getDefaultInstance(Settings.java:293)
at org.apache.struts2.config.Settings.getInstance(Settings.java:109)
at
org.apache.struts2.config.LegacyPropertiesConfigurationProvider.register(LegacyPropertiesConfigurationProvider.java:67)
at
com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:131)
at
com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
at
org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
at
org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:205)
at
com.example.platform.test.servlet.OurServlet.handleRequest(OurServlet.java:64)
{noformat}
or
{noformat}
Caused by: java.lang.NullPointerException
at
org.apache.struts2.config.LegacyPropertiesConfigurationProvider.loadSettings(LegacyPropertiesConfigurationProvider.java:86)
at
org.apache.struts2.config.LegacyPropertiesConfigurationProvider.register(LegacyPropertiesConfigurationProvider.java:69)
at
com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:131)
at
com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
at
org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
at
org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:205)
{noformat}
Our suspicion is that the initialisation isn't thread-safe; we've not seen this
failure on older, single-processor / single-core machines.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira