#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@apple.com <lsansonetti@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/>