[GLASSFISH-19508] Race condition due to unsychronized HashMap access in ConnectorObjectFactory.getObjectInstance Created: 09/Jan/13 Updated: 19/Sep/14
|Affects Version/s:||3.1.2, 18.104.22.168, 4.0_b70|
|Remaining Estimate:||Not Specified|
|Time Spent:||Not Specified|
|Original Estimate:||Not Specified|
JDK 1.7.0_05 64-bit, Windows Server 2008 R2, Glassfish 3.1.2
Maps created in ConnectorRegistry.getResourceFactories are neither concurrent or synchronized. I am experiencing a race condition when ConnectorObjectFactory.getObjectInstance() concurrently invokes put on such map. The result is corruption of HashMap's hashtable and infinite loops in HashMap.get() or HashMap.put() bringing system's CPUs utilization to constant 100%.
Even though this has been only reproduced on Glassfish 3.1.2, these classes did not change in 22.214.171.124 or 4.0, so the bug also applies to all the versions.
Example stack trace:
After one hour run, the system had almost 30 threads stuck in this stacktrace.
|Comment by Jagadish [ 25/Mar/13 ]|
http://java.net/jira/browse/GLASSFISH-19746 will take care of this issue.
|Comment by pdudits [ 26/Mar/13 ]|
That's a pity, I submitted the OCA over two weeks ago, but it is still not processed. There was also no reply when I asked for status, or whether there is any issue with the submission last week. Does it usually take this long?