Concurrency issue with SuperCallSite
------------------------------------
Key: JRUBY-4568
URL: http://jira.codehaus.org/browse/JRUBY-4568
Project: JRuby
Issue Type: Bug
Components: Miscellaneous
Reporter: Charles Oliver Nutter
Assignee: Charles Oliver Nutter
Priority: Blocker
Fix For: JRuby 1.5
After fixing RespondToCallSite for JRUBY-4548, I theorized that SuperCallSite
may suffer from the same problem. I was right.
The following script raises almost immediately when run on JRuby:
{noformat}
class Top
def foo
"foo"
end
def bar
"bar"
end
end
class Bottom < Top
body = proc do
super()
end
define_method :foo, &body
define_method :bar, &body
end
10.times do
Thread.new do
loop do
begin
Thread.main.raise unless Bottom.new.foo == "foo"
Thread.main.raise unless Bottom.new.bar == "bar"
rescue
Thread.main.raise $!
end
end
end
end
sleep
{noformat}
--
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