From: Nobuhiro IMAI Date: 2008-02-21T12:08:23+09:00 Subject: [ruby-dev:33880] Array#unshift dumps core いまいです。 ある程度の大きさの配列を splat で別の配列に unshift するとアボートしま した。よく分かってませんが、以下のような感じです。他に何か示すべき情報 があれば教えてください。 $ gdb miniruby GNU gdb 6.7.1-debian Copyright (C) 2007 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu"... Using host libthread_db library "/lib/i686/cmov/libthread_db.so.1". (gdb) run -ve'[].unshift(*[0]*128)' Starting program: /var/tmp/ruby/ruby1.9/miniruby -ve'[].unshift(*[0]*128)' [Thread debugging using libthread_db enabled] [New Thread 0xb7d7d6b0 (LWP 23902)] [New Thread 0xb7f59b90 (LWP 23905)] ruby 1.9.0 (2008-02-21 revision 15376) [i686-linux] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb7d7d6b0 (LWP 23902)] 0xb7dee31c in free () from /lib/i686/cmov/libc.so.6 (gdb) bt #0 0xb7dee31c in free () from /lib/i686/cmov/libc.so.6 #1 0x08086336 in ruby_xfree (x=0xfffffff9) at ../trunk/gc.c:321 #2 0x08113e6c in env_free (ptr=0x81af5a0) at ../trunk/vm.c:104 #3 0x08086acf in rb_gc_call_finalizer_at_exit () at ../trunk/gc.c:2024 #4 0x0807b03f in ruby_cleanup (ex=0) at ../trunk/eval.c:178 #5 0x0807b19b in ruby_run_node (n=0xb79eaf90) at ../trunk/eval.c:258 #6 0x0805b140 in main (argc=2, argv=0xbf83fdc4, envp=0xbf83fdd0) at ../trunk/main.c:35 (gdb) run -ve'[].unshift(*[0]*192)' The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /var/tmp/ruby/ruby1.9/miniruby -ve'[].unshift(*[0]*192)' [Thread debugging using libthread_db enabled] [New Thread 0xb7dea6b0 (LWP 23912)] [New Thread 0xb7fc6b90 (LWP 23913)] ruby 1.9.0 (2008-02-21 revision 15376) [i686-linux] :17: [BUG] native_mutex_destroy return non-zero: 16 ruby 1.9.0 (2008-02-21 revision 15376) [i686-linux] -- control frame ---------- c:0001 p:0000 s:0002 b:0002 l:000001 d:000001 TOP :17 --------------------------- Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb7dea6b0 (LWP 23912)] 0xb7e55c50 in ?? () from /lib/i686/cmov/libc.so.6 (gdb) bt #0 0xb7e55c50 in ?? () from /lib/i686/cmov/libc.so.6 #1 0x00000000 in ?? () (gdb) -- Nobuhiro IMAI Key fingerprint = F39E D552 545D 7C64 D690 F644 5A15 746C BD8E 7106