From: Stefan Lang Date: 2008-10-19T23:33:56+09:00 Subject: [ruby-core:19391] [Bug #664] ruby 1.9 (trunk rev 19846) segfaults Bug #664: ruby 1.9 (trunk rev 19846) segfaults http://redmine.ruby-lang.org/issues/show/664 Author: Stefan Lang Status: Open, Priority: Normal Target version: 1.9.x My build passes "make test". I'm trying to port Rant to Ruby 1.9 and it segfaults most of the time. One possible way to produce a segfault: $ svn checkout http://rant.rubyforge.org/svn/ $ ruby19 run_rant -n doc GNU gdb 6.6-debian Copyright (C) 2006 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 "i486-linux-gnu"... Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (gdb) run Starting program: /usr/local/bin/ruby19 run_rant -n doc [Thread debugging using libthread_db enabled] [New Thread -1210849600 (LWP 21608)] [New Thread -1208980592 (LWP 21611)] Executing "doc/html/index.html" Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1210849600 (LWP 21608)] vm_call0 (th=0x81a8738, klass=136128800, recv=138762300, id=325, oid=0, argc=1, argv=0xbfc31e70, body=0x81d2830, nosuper=0) at vm_insnhelper.c:50 50 cfp->iseq = (rb_iseq_t *) iseq; (gdb) backtrace #0 vm_call0 (th=0x81a8738, klass=136128800, recv=138762300, id=325, oid=0, argc=1, argv=0xbfc31e70, body=0x81d2830, nosuper=0) at vm_insnhelper.c:50 #1 0x081113f4 in rb_funcall (recv=, mid=325, n=1) at vm_eval.c:254 #2 0x0808295d in rb_equal (obj1=3083341784, obj2=138761380) at object.c:51 #3 0x0811bd23 in vm_call0 (th=0x81a8738, klass=136128800, recv=138761380, id=325, oid=0, argc=1, argv=0xbfc31f60, body=0x81d2830, nosuper=0) at vm_eval.c:69 #4 0x081113f4 in rb_funcall (recv=, mid=325, n=1) at vm_eval.c:254 #5 0x0808295d in rb_equal (obj1=3083341784, obj2=138762300) at object.c:51 #6 0x0811bd23 in vm_call0 (th=0x81a8738, klass=136128800, recv=138762300, id=325, oid=0, argc=1, argv=0xbfc32050, body=0x81d2830, nosuper=0) at vm_eval.c:69 #7 0x081113f4 in rb_funcall (recv=, mid=325, n=1) at vm_eval.c:254 #8 0x0808295d in rb_equal (obj1=3083341784, obj2=138761380) at object.c:51 #9 0x0811bd23 in vm_call0 (th=0x81a8738, klass=136128800, recv=138761380, id=325, oid=0, argc=1, argv=0xbfc32140, body=0x81d2830, nosuper=0) at vm_eval.c:69 #10 0x081113f4 in rb_funcall (recv=, mid=325, n=1) at vm_eval.c:254 #11 0x0808295d in rb_equal (obj1=3083341784, obj2=138762300) at object.c:51 #12 0x0811bd23 in vm_call0 (th=0x81a8738, klass=136128800, recv=138762300, id=325, oid=0, argc=1, argv=0xbfc32230, body=0x81d2830, nosuper=0) at vm_eval.c:69 #13 0x081113f4 in rb_funcall (recv=, mid=325, n=1) at vm_eval.c:254 #14 0x0808295d in rb_equal (obj1=3083341784, obj2=138761380) at object.c:51 #15 0x0811bd23 in vm_call0 (th=0x81a8738, klass=136128800, recv=138761380, id=325, oid=0, argc=1, argv=0xbfc32320, body=0x81d2830, nosuper=0) at vm_eval.c:69 #16 0x081113f4 in rb_funcall (recv=, mid=325, n=1) at vm_eval.c:254 #17 0x0808295d in rb_equal (obj1=3083341784, obj2=138762300) at object.c:51 #18 0x0811bd23 in vm_call0 (th=0x81a8738, klass=136128800, recv=138762300, id=325, oid=0, argc=1, argv=0xbfc32410, body=0x81d2830, ---Type to continue, or q to quit---q nQuit ) at vm_eval.c:69 #19 0x081113f4 in rb_funcall (recv=, mid=325, n=1) at vm_eval.c:254 #20 0x0808295d in rb_equal (obj1=3083341784, obj2=138761380) at object.c:51 #21 0x0811bd23 in vm_call0 (th=0x81a8738, klass=136128800, recv=138761380, id=325, oid=0, argc=1, argv=0xbfc32500, body=0x81d2830, nosuper=0) at vm_eval.c:69 #22 0x081113f4 in rb_funcall (recv=, mid=325, n=1) at vm_eval.c:254 #23 0x0808295d in rb_equal (obj1=3083341784, obj2=138762300) at object.c:51 #24 0x0811bd23 in vm_call0 (th=0x81a8738, klass=136128800, recv=138762300, id=325, oid=0, argc=1, argv=0xbfc325f0, body=0x81d2830, nosuper=0) at vm_eval.c:69 #25 0x081113f4 in rb_funcall (recv=, mid=325, n=1) at vm_eval.c:254 #26 0x0808295d in rb_equal (obj1=3083341784, obj2=138761380) at object.c:51 #27 0x0811bd23 in vm_call0 (th=0x81a8738, klass=136128800, recv=138761380, id=325, oid=0, argc=1, argv=0xbfc326e0, body=0x81d2830, nosuper=0) at vm_eval.c:69 #28 0x081113f4 in rb_funcall (recv=, mid=325, n=1) at vm_eval.c:254 #29 0x0808295d in rb_equal (obj1=3083341784, obj2=138762300) at object.c:51 #30 0x0811bd23 in vm_call0 (th=0x81a8738, klass=136128800, recv=138762300, id=325, oid=0, argc=1, argv=0xbfc327d0, body=0x81d2830, nosuper=0) at vm_eval.c:69 #31 0x081113f4 in rb_funcall (recv=, mid=325, n=1) at vm_eval.c:254 #32 0x0808295d in rb_equal (obj1=3083341784, obj2=138761380) at object.c:51 #33 0x0811bd23 in vm_call0 (th=0x81a8738, klass=136128800, recv=138761380, id=325, oid=0, argc=1, argv=0xbfc328c0, body=0x81d2830, nosuper=0) at vm_eval.c:69 #34 0x081113f4 in rb_funcall (recv=, mid=325, n=1) at vm_eval.c:254 #35 0x0808295d in rb_equal (obj1=3083341784, obj2=138762300) at object.c:51 #36 0x0811bd23 in vm_call0 (th=0x81a8738, klass=136128800, recv=138762300, id=325, oid=0, argc=1, argv=0xbfc329b0, body=0x81d2830, nosuper=0) at vm_eval.c:69 ---Type to continue, or q to quit---q This pattern repeats for more than 15000 stackframes. ---------------------------------------- http://redmine.ruby-lang.org