[MacRuby] #1348: Abort occurs when invoke a Module#define_method many times in non-MainThread. (was: Abort occurs when load a framework and invoke a Module#define_method in another thread.)
MacRuby
ruby-noreply at macosforge.org
Sun Jul 3 23:09:57 PDT 2011
#1348: Abort occurs when invoke a Module#define_method many times in non-
MainThread.
----------------------------------+-----------------------------------------
Reporter: watson1978@… | Owner: lsansonetti@…
Type: defect | Status: new
Priority: blocker | Milestone:
Component: MacRuby | Keywords:
----------------------------------+-----------------------------------------
Comment(by watson1978@…):
Sorry, it seems that load of framework is not related.
Abort does not occur when invoke in MainThread.
{{{
m1 = Module.new
1000.times do |i|
m1.instance_eval{ define_method("m1#{i}", Proc.new{}) }
end
puts :ok
}}}
{{{
$ DYLD_LIBRARY_PATH=. ./macruby ~/tmp/t1.rb
ok
}}}
but, in non-MainThread,
{{{
m1 = Module.new
Thread.new {
1000.times do |i|
m1.instance_eval{ define_method("m1#{i}", Proc.new{}) }
end
}.join
puts :ok
}}}
{{{
DYLD_LIBRARY_PATH=. ./macruby ~/tmp/t2.rb
unknown: [BUG] destination 0x2000c6c78 isn't in the auto zone
MacRuby 0.11 (ruby 1.9.2) [universal-darwin10.0, x86_64]
zsh: abort DYLD_LIBRARY_PATH=. ./macruby ~/tmp/t2.rb
}}}
--
Ticket URL: <http://www.macruby.org/trac/ticket/1348#comment:1>
MacRuby <http://macruby.org/>
More information about the macruby-tickets
mailing list