[MacRuby] #882: Bus error with catch / throw, Using 32bit arch.
MacRuby
ruby-noreply at macosforge.org
Mon Aug 30 16:59:33 PDT 2010
#882: Bus error with catch / throw, Using 32bit arch.
----------------------------------+-----------------------------------------
Reporter: watson1978@… | Owner: lsansonetti@…
Type: defect | Status: new
Priority: blocker | Milestone:
Component: MacRuby | Keywords:
----------------------------------+-----------------------------------------
Comment(by watson1978@…):
After Rebuilt:
{{{
$ rake clean; mkdir doc; RC_ARCHS=i386 rake jobs=2
$ cat t.rb
# spec/frozen/language/catch_spec.rb
# it "does not match objects that are not exactly the same" do
catch("exit") { throw :exit }
catch("exit") { throw "exit" }
$ DYLD_LIBRARY_PATH=. ./macruby -v -e 'p MACRUBY_REVISION'
MacRuby 0.7 (ruby 1.9.2) [universal-darwin10.0, i386]
"git commit 4dbcad71ba4233c3eef93d6276d920132d0d91c9"
$ git log | head -7
commit 4dbcad71ba4233c3eef93d6276d920132d0d91c9
Author: lsansonetti at apple.com <lsansonetti at apple.com@23306eb0-4c56-4727
-a40e-e92c0eb68959>
Date: Mon Aug 30 20:52:55 2010 +0000
#sprintf: don't try to mutate symbols
git-svn-id:
http://svn.macosforge.org/repository/ruby/MacRuby/trunk@4478
23306eb0-4c56-4727-a40e-e92c0eb68959
$ DYLD_LIBRARY_PATH=. ./macruby -v -I./lib t.rb
MacRuby 0.7 (ruby 1.9.2) [universal-darwin10.0, i386]
zsh: bus error DYLD_LIBRARY_PATH=. arch -i386 ./macruby -v -I./lib t.rb
$ DYLD_LIBRARY_PATH=. gdb --args ./macruby -v -I./lib t.rb
GNU gdb 6.3.50-20050815 (Apple version gdb-1469) (Wed May 5 04:36:56 UTC
2010)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "x86_64-apple-darwin"...Reading symbols for
shared libraries ..... done
(gdb) r
Starting program: /Users/watson/src/MacRuby/macruby -v -I./lib t.rb
warning: posix_spawn failed, trying execvp, error: 86
Reading symbols for shared libraries .++++......................... done
Reading symbols for shared libraries . done
MacRuby 0.7 (ruby 1.9.2) [universal-darwin10.0, i386]
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000003
0x0015e2d6 in RoxorVM::ruby_catch (this=0x1406570, tag=34058336) at
vm.cpp:4144
4144 if (sexc != NULL && sexc->type == CATCH_THROW_EXCEPTION) {
(gdb) p sexc
$1 = (RoxorSpecialException *) 0x3
(gdb) p sexc->type
Cannot access memory at address 0x3
(gdb) bt
#0 0x0015e2d6 in RoxorVM::ruby_catch (this=0x1406570, tag=34058336) at
vm.cpp:4144
#1 0x00164795 in rb_vm_catch (tag=34058336) at vm.cpp:4167
#2 0x0015269d in rb_vm_dispatch (_vm=0x1406570, cache=0xa852c50,
top=33675840, self=33675840, klass=0x201daf0, sel=0x14720f0,
block=0x2078ce0, opt=2 '\002', argc=1, argv=0xbfffe898) at
dispatcher.cpp:161
#3 0x01700455 in ?? ()
#4 0x017000ac in ?? ()
#5 0x0015f6dc in rb_vm_run (fname=0x207a100 "t.rb", node=0x207aca0,
binding=0x0, inside_eval=false) at vm.cpp:3823
#6 0x000416d1 in ruby_run_node (n=0x207aca0) at eval.c:211
#7 0x00001c68 in main (argc=4, argv=0x14060f0, envp=0xbfffe980) at
main.cpp:40
(gdb)
}}}
--
Ticket URL: <http://www.macruby.org/trac/ticket/882#comment:2>
MacRuby <http://macruby.org/>
More information about the macruby-tickets
mailing list