[MacRuby] #1344: illegal hardware instruction error occurs with BigDecimal.new
#1344: illegal hardware instruction error occurs with BigDecimal.new ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: ----------------------------------+----------------------------------------- Test Script: {{{ #!ruby require 'bigdecimal' 50.times do BigDecimal.new("1" + "0"*10000000) end }}} Result: {{{ $ DYLD_LIBRARY_PATH=. ./macruby -I./lib -I./ext/bigdecimal ~/tmp/tt.rb macruby(4424,0x102ddc000) malloc: garbage block 0x303ce0060(non-object) was over-retained during finalization, refcount = 1 This could be an unbalanced CFRetain(), or CFRetain() balanced with -release. Break on auto_zone_resurrection_error() to debug. macruby(4424,0x102ddc000) malloc: fatal resurrection error for garbage block 0x303ce0060(non-object): over-retained during finalization, refcount = 1 zsh: illegal hardware instruction DYLD_LIBRARY_PATH=. ./macruby -I./lib -I./ext/bigdecimal ~/tmp/tt.rb }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/1344> MacRuby <http://macruby.org/>
#1344: illegal hardware instruction error occurs with BigDecimal.new ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: ----------------------------------+----------------------------------------- Comment(by watson1978@…): This issue seems to occur since https://github.com/MacRuby/MacRuby/commit/2ba4bd4686b0f517b728216c9f8997da45... -- Ticket URL: <http://www.macruby.org/trac/ticket/1344#comment:1> MacRuby <http://macruby.org/>
#1344: illegal hardware instruction error occurs with BigDecimal.new ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: ----------------------------------+----------------------------------------- Comment(by watson1978@…): Assertion seems to occur after BigDecimal_delete() in ext/bigdecimal/bigdecimal.c was invoked. -- Ticket URL: <http://www.macruby.org/trac/ticket/1344#comment:2> MacRuby <http://macruby.org/>
#1344: illegal hardware instruction error occurs with BigDecimal.new ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: ----------------------------------+----------------------------------------- Comment(by watson1978@…): Oops, s/Assertion/Crash/ -- Ticket URL: <http://www.macruby.org/trac/ticket/1344#comment:3> MacRuby <http://macruby.org/>
#1344: illegal hardware instruction error occurs with BigDecimal.new ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: ----------------------------------+----------------------------------------- Comment(by lsansonetti@…): Indeed: {{{ (gdb) info malloc-history 0x303ce0060 Alloc: Block address: 0x0000000303ce0060 length: 4210584 Stack - pthread: 0x7fff700e4cc0 number of frames: 19 0: 0x7fff82903da8 in auto_zone_allocate_object 1: 0x10003e207 in ruby_xmalloc at gc.c:113 2: 0x100dbf648 in VpMemAlloc at bigdecimal.c:2181 3: 0x100dc0142 in VpAlloc at bigdecimal.c:2808 4: 0x100dc33c9 in BigDecimal_new at bigdecimal.c:409 5: 0x101c00997 6: 0x10013fdc4 in rb_vm_dispatch at dispatcher.cpp:448 7: 0x101c00494 8: 0x101c020f7 9: 0x100142673 in rb_vm_yield_args at dispatcher.cpp:98 10: 0x1000f55e8 in rb_yield at vm_eval.c:184 11: 0x100057191 in int_dotimes at numeric.c:3242 12: 0x100140324 in rb_vm_dispatch at dispatcher.cpp:159 13: 0x101c00494 14: 0x101c000ce 15: 0x100158e66 in rb_vm_run at vm.cpp:4115 16: 0x1000310e0 in ruby_run_node at eval.c:211 17: 0x100000cf8 in main at main.cpp:40 18: 0x100000c54 in start Dealloc: Block address: 0x0000000303ce0060 Stack - pthread: 0x100f81000 number of frames: 14 0: 0x7fff80ceb59b in malloc_zone_free 1: 0x10003d000 in rdata_finalize at gc.c:432 2: 0x7fff82374d76 in finalizeOneObject 3: 0x7fff8291a3d5 in _ZN4AutoL16foreach_block_doEP16auto_zone_cursorPFvPvS2_ES2_ 4: 0x7fff8237496b in batchFinalize 5: 0x7fff82914137 in _ZN4Auto4Zone18invalidate_garbageEmPKm 6: 0x7fff82904b21 in _ZL21auto_collect_internalPN4Auto4ZoneEj 7: 0x7fff829050bd in _ZL20auto_collection_workPN4Auto4ZoneE 8: 0x7fff80d1dd64 in _dispatch_call_block_and_release 9: 0x7fff80cfc8d2 in _dispatch_queue_drain 10: 0x7fff80cfc734 in _dispatch_queue_invoke 11: 0x7fff80cfc2de in _dispatch_worker_thread2 12: 0x7fff80cfbc08 in _pthread_wqthread 13: 0x7fff80cfbaa5 in start_wqthread }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/1344#comment:4> MacRuby <http://macruby.org/>
#1344: illegal hardware instruction error occurs with BigDecimal.new ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: closed Priority: blocker | 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 in https://github.com/MacRuby/MacRuby/commit/dbedf7c04cee40b6f79fc794e75481e7b8..., I believe it's an edge case so I modified the bigdecimal ext. -- Ticket URL: <http://www.macruby.org/trac/ticket/1344#comment:5> MacRuby <http://macruby.org/>
participants (1)
-
MacRuby