[MacRuby] #1062: Segfault occurs when calls Rational#rationalize with no arguments.
#1062: Segfault occurs when calls Rational#rationalize with no arguments. ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: ----------------------------------+----------------------------------------- Test Script: {{{ #!ruby # it "returns self with no argument" p Rational(12,3).rationalize #.should == Rational(12,3) }}} BackTrace: {{{ $ DYLD_LIBRARY_PATH=. gdb --args ./macruby ~/tmp/tt.rb Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000 0x000000010002992f in rb_scan_args (argc=1359816, argv=0x0, fmt=0x1008f5d90 "01") at class.c:1222 1222 if (var) *var = argv[i]; (gdb) bt #0 0x000000010002992f in rb_scan_args (argc=1359816, argv=0x0, fmt=0x1008f5d90 "01") at class.c:1222 #1 0x00000001000b199d in f_abs [inlined] () at /Users/watson/src/MacRuby/rational.c:1485 #2 0x00000001000b199d in nurat_rationalize (self=8590162400, sel=0x102e596d0, argc=1359816, argv=0x0) at rational.c:1486 #3 0x000000010014c976 in rb_vm_dispatch (_vm=0x100d1e6d0, cache=0x100cc9ba0, top=8590069760, self=8590162400, klass=0x2000b29e0, sel=0x102e596d0, block=0x0, opt=0 '\0', argc=<value temporarily unavailable, due to optimizations>, argv=0x0) at dispatcher.cpp:159 #4 0x0000000100171548 in rb_vm_call0 [inlined] () at /Users/watson/src/MacRuby/vm.h:604 #5 0x0000000100171548 in RoxorInterpreter::interpret_call (this=0x100d25550, call=<value temporarily unavailable, due to optimizations>) at vm.h:279 #6 0x0000000100171d7a in RoxorInterpreter::interpret_instruction (this=0x100d25550, insn=0x102e8d1e0) at interpreter.cpp:180 #7 0x0000000100171fc4 in RoxorInterpreter::interpret_basicblock (this=0x100d25550, bb=0x102e8bef0) at interpreter.cpp:276 #8 0x0000000100171bb6 in RoxorInterpreter::interpret_instruction (this=0x100d25550, insn=0x102e8bf80) at interpreter.cpp:164 #9 0x0000000100171fc4 in RoxorInterpreter::interpret_basicblock (this=0x100d25550, bb=0x102e8bcb0) at interpreter.cpp:276 #10 0x0000000100164266 in rb_vm_run (fname=0x20004ebe0 "/Users/watson/tmp/tt.rb", node=0x20003c5a0, binding=0x0, inside_eval=false) at vm.cpp:3924 #11 0x0000000100040ff0 in ruby_run_node (n=0x20003c5a0) at eval.c:211 #12 0x0000000100000d28 in main (argc=2, argv=0x100d1de40, envp=<value temporarily unavailable, due to optimizations>) at main.cpp:40 Current language: auto; currently c (gdb) }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/1062> MacRuby <http://macruby.org/>
#1062: Segfault occurs when calls Rational#rationalize with no arguments. ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: ----------------------------------+----------------------------------------- Comment(by watson1978@…): Patch: {{{ #!diff diff --git a/rational.c b/rational.c index 1a8b579..ee5972c 100644 --- a/rational.c +++ b/rational.c @@ -2331,7 +2331,7 @@ Init_Rational(void) rb_objc_define_method(rb_cRational, "to_i", nurat_truncate, 0); rb_objc_define_method(rb_cRational, "to_f", nurat_to_f, 0); rb_objc_define_method(rb_cRational, "to_r", nurat_to_r, 0); - rb_objc_define_method(rb_cRational, "rationalize", nurat_rationalize, 0); + rb_objc_define_method(rb_cRational, "rationalize", nurat_rationalize, -1); rb_objc_define_method(rb_cRational, "hash", nurat_hash, 0); }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/1062#comment:1> MacRuby <http://macruby.org/>
#1062: Segfault occurs when calls Rational#rationalize with no arguments. ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: closed Priority: blocker | Milestone: MacRuby 0.9 Component: MacRuby | Resolution: fixed Keywords: | ----------------------------------+----------------------------------------- Changes (by watson1978@…): * status: new => closed * resolution: => fixed * milestone: => MacRuby 0.9 Comment: Fixed with r5064. -- Ticket URL: <http://www.macruby.org/trac/ticket/1062#comment:2> MacRuby <http://macruby.org/>
participants (1)
-
MacRuby