[MacRuby] #871: Segfault occurs when access to variable within Blocks of Thread and Loop.
MacRuby
ruby-noreply at macosforge.org
Mon Aug 23 12:34:46 PDT 2010
#871: Segfault occurs when access to variable within Blocks of Thread and Loop.
----------------------------------+-----------------------------------------
Reporter: watson1978@… | Owner: lsansonetti@…
Type: defect | Status: new
Priority: blocker | Milestone:
Component: MacRuby | Keywords:
----------------------------------+-----------------------------------------
Comment(by martinlagardette@…):
Funny enough, I can reproduce with `VM_DISABLE_RBO`, or
`DYLD_LIBRARY_PATH`, but if both are set, everything works. If I use the
macruby in the project dir instead of the installed one, it works with any
of them, but not without any env var. Boggles the mind...
{{{
$> VM_DISABLE_RBO=1 macruby test_var.rb
** case 1
** case 2
Segmentation fault
$> DYLD_LIBRARY_PATH=~/Documents/Projets/MacRuby macruby test_var.rb
** case 1
** case 2
Segmentation fault
$> VM_DISABLE_RBO=1 DYLD_LIBRARY_PATH=~/Documents/Projets/MacRuby macruby
test_var.rb
** case 1
** case 2
$> ~/Documents/Projets/MacRuby/macruby test_var.rb
** case 1
** case 2
Segmentation fault
$> VM_DISABLE_RBO=1 ~/Documents/Projets/MacRuby/macruby test_var.rb
** case 1
** case 2
$> DYLD_LIBRARY_PATH=~/Documents/Projets/MacRuby
~/Documents/Projets/MacRuby/macruby test_var.rb
** case 1
** case 2
$>
}}}
With GC_DISABLE, it's kind of random:
{{{
$> GC_DISABLE=1 macruby test_var.rb
** case 1
** case 2
$> GC_DISABLE=1 macruby test_var.rb
** case 1
** case 2
$> GC_DISABLE=1 macruby test_var.rb
** case 1
** case 2
Segmentation fault
$>
}}}
It seems to come from the class:
{{{
(gdb) p (char *)class_getName(0xfffda5e8207b8b48)
warning: Trying to look up "char" in 'this' but 'this' is not an aggregate
warning: Trying to look up "class_getName" in 'this' but 'this' is not an
aggregate
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: 13 at address: 0x0000000000000000
0x00007fff87291ef0 in _class_getName ()
}}}
Also, I did `rake clean; rake; rake install` before trying.
--
Ticket URL: <http://www.macruby.org/trac/ticket/871#comment:2>
MacRuby <http://macruby.org/>
More information about the macruby-tickets
mailing list