PatternCache data race in RubyRegexp#initialize
-----------------------------------------------
Key: JRUBY-2483
URL: http://jira.codehaus.org/browse/JRUBY-2483
Project: JRuby
Issue Type: Bug
Components: Core Classes/Modules
Affects Versions: JRuby 1.1.1
Reporter: Nick Sieger
Assignee: Nick Sieger
We have a Rails application that can pretty consistently produce multiple
infinite-looping threads at the following spot:
{noformat}
"httpSSLWorkerThread-8080-2" daemon prio=10 tid=0x01a0c800 nid=0x73 runnable
[0xdcf79000..0xdcf7f8f0]
java.lang.Thread.State: RUNNABLE
at java.util.HashMap.get(HashMap.java:303)
at org.jruby.RubyRegexp.initialize(RubyRegexp.java:271)
at org.jruby.RubyRegexp.newRegexp(RubyRegexp.java:178)
at org.jruby.RubyRegexp.newRegexp(RubyRegexp.java:171)
{noformat}
Looks like cache gets and puts in that method are not synchronized.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email