[MacRuby] #1325: Segfault occurs with Matrix#inv
#1325: Segfault occurs with Matrix#inv ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: new Priority: major | Milestone: Component: MacRuby | Keywords: ----------------------------------+----------------------------------------- Test Script: {{{ #!ruby require 'mathn' def matrix(dimension) rows = Array.new (1..dimension).each do |i| row = Array.new (1..dimension).each do |j| row.push(1/(i + j - 1)) end rows.push(row) end return(Matrix.rows(rows)) end m = matrix(30) m.inv }}} BackTrace: {{{ Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000010 0x00007fff84f2b11c in objc_msgSend () (gdb) bt 20 #0 0x00007fff84f2b11c in objc_msgSend () #1 0x00000001000c558f in rb_objc_supports_forwarding (recv=8592468192, sel=0x100f26460) at objc.m:109 #2 0x000000010012ce3d in rb_vm_dispatch () at dispatcher.cpp:674 #3 0x00000001000d9ca1 in rb_vm_call0 (vm=0x100f23290, top=0, self=8592468192, klass=0x0, sel=0x100f26460, block=0x0, opt=2 '\002', argc=1, argv=0x7fff5fbf67c0) at vm.h:657 #4 0x00000001000dadc6 in rb_vm_call2 (block=0x0, self=8592468192, klass=0, sel=0x100f26460, argc=1, argv=0x7fff5fbf67c0) at vm.h:682 #5 0x00000001000dac66 in rb_call (recv=8592468192, mid=60, argc=1, argv=0x7fff5fbf67c0, scope=1, pass_current_block=false) at vm_eval.c:32 #6 0x00000001000dafe9 in rb_funcall (recv=8592468192, mid=60, n=1) at vm_eval.c:106 #7 0x00000001000892b1 in f_negative_p (x=8592468192) at rational.c:164 #8 0x000000010008916f in f_gcd (x=8592468192, y=139417291019515137) at rational.c:278 #9 0x0000000100089886 in f_addsub (self=8590808512, anum=18446743882439999117, aden=8592468192, bnum=18446744073164624117, bden=139417291019515137, k=45) at rational.c:652 #10 0x0000000100089df0 in nurat_sub (self=8590808512, sel=0x100f26540, other=8592438080) at rational.c:746 #11 0x000000010012e20e in __rb_vm_rcall [inlined] () at /Users/watson/src /macruby-master/dispatcher.cpp:161 #12 0x000000010012e20e in ruby_dispatch [inlined] () at /Users/watson/src /macruby-master/dispatcher.cpp:466 #13 0x000000010012e20e in rb_vm_dispatch () at dispatcher.cpp:886 #14 0x0000000101600414 in ?? () #15 0x0000000101604b54 in ?? () #16 0x0000000101626f84 in ?? () #17 0x0000000100134737 in __rb_vm_bcall [inlined] () at /Users/watson/src /macruby-master/dispatcher.cpp:100 #18 0x0000000100134737 in vm_block_eval [inlined] () at /Users/watson/src /macruby-master/dispatcher.cpp:1248 #19 0x0000000100134737 in rb_vm_yield_args () at dispatcher.cpp:1305 (More stack frames follow...) (gdb) }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/1325> MacRuby <http://macruby.org/>
#1325: Segfault occurs with Matrix#inv ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: new Priority: major | Milestone: Component: MacRuby | Keywords: ----------------------------------+----------------------------------------- Comment(by lsansonetti@…): Disabling GC makes the bug disappear. So I suspect a missing write barrier here. -- Ticket URL: <http://www.macruby.org/trac/ticket/1325#comment:1> MacRuby <http://macruby.org/>
#1325: Segfault occurs with Matrix#inv ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: closed Priority: major | Milestone: MacRuby 0.11 Component: MacRuby | Resolution: fixed Keywords: | ----------------------------------+----------------------------------------- Changes (by lsansonetti@…): * status: new => closed * resolution: => fixed * milestone: => MacRuby 0.11 Comment: Should be fixed by https://github.com/MacRuby/MacRuby/commit/39bb4bd7014e39267185881f9037efe595... -- Ticket URL: <http://www.macruby.org/trac/ticket/1325#comment:2> MacRuby <http://macruby.org/>
participants (1)
-
MacRuby