Description of problem: I'm seeing segfaults ever since updating from Ruby 1.9.3.327 to 1.9.3.362. I've found numerous reports on the web indicating that 1.9.3.362 has issues (https://github.com/travis-ci/travis-ci/issues/827, https://gist.github.com/4433870, https://github.com/wayneeseguin/rvm/issues/1435, etc.). It looks like it got fixed around 2013-01-08 (see https://bugs.ruby-lang.org/issues/7629#change-35286), but I suspect the fix didn't make it into the recently released Fedora packages. Version-Release number of selected component (if applicable): ruby-1.9.3.362-24.fc17.x86_64 How reproducible: Very. Steps to Reproduce: 1. See https://gist.github.com/4433870 (assumes you have Rails installed). Actual results: Pages of seg fault dump information. Expected results: Not to crash! Additional info: I'm trying to figure out how to get back to 1.9.3.327. I can downgrade to 1.9.3.194, but that version has security issues. There were no security issues addressed in 1.9.3.362, so I should be safe on 1.9.3.327, but it doesn't appear to be on the update servers anymore.
Would you attach the exact backtrace to verify the issue you see and check if the commit in ruby CVS actually fixes your issue?
Created attachment 678452 [details] Dump generated by running segfault.rb This is the output from running segfault.rb from https://gist.github.com/4433870 using https://gist.github.com/4433870.
I'm not running RVM, so I can't be 100% certain the commit in ruby CVS will fix the issue. I can report that switching back to 1.9.3.194 does resolve the issue. In addition, the backtrace I just submitted bears a lot of similarity to the one posted at https://bugs.ruby-lang.org/issues/7669 (this is considered to be a duplicate of the main issue thread at https://bugs.ruby-lang.org/issues/7629). The first four entries in the control frame information match as far as line numbers go. The reporter on this thread indicates that 1.9.3-dev does resolve the issue.
[mtasaka@localhost ruby]$ gdb ruby GNU gdb (GDB) Fedora (7.5.1-32.fc18) Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 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 "i686-redhat-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/bin/ruby...Reading symbols from /usr/lib/debug/usr/bin/ruby.debug...done. done. (gdb) run ./ruby-1.9.3p362-segfault.rb Starting program: /usr/bin/ruby ./ruby-1.9.3p362-segfault.rb [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". [New Thread 0xb7c6bb40 (LWP 20530)] -- create_table(:posts) -> 0.0061s -- initialize_schema_migrations_table() -> 0.0008s -- assume_migrated_upto_version(1, ["db/migrate"]) -> 0.0002s Program received signal SIGSEGV, Segmentation fault. rb_vm_make_env_object (th=th@entry=0x804bba0, cfp=<optimized out>, cfp@entry=0xb7cebf2c) at vm.c:491 491 lfp[0] = GC_GUARDED_PTR(&p->block); Missing separate debuginfos, use: debuginfo-install keyutils-libs-1.5.5-3.fc18.i686 krb5-libs-1.10.3-5.fc18.i686 libcom_err-1.42.5-1.fc18.i686 libselinux-2.1.12-7.fc18.i686 libyaml-0.1.4-3.fc18.i686 nss-softokn-freebl-3.14.1-5.fc18.i686 openssl-libs-1.0.1c-7.fc18.i686 pcre-8.31-4.fc18.i686 rubygem-json-1.6.5-2.fc18.i686 rubygem-sqlite3-1.3.5-2.fc18.i686 zlib-1.2.7-9.fc18.i686 (gdb) bt #0 rb_vm_make_env_object (th=th@entry=0x804bba0, cfp=<optimized out>, cfp@entry=0xb7cebf2c) at vm.c:491 #1 0x4acd9dcf in rb_vm_make_proc (th=th@entry=0x804bba0, block=block@entry=0xb7cebf40, klass=134706180) at vm.c:562 #2 0x4acda52d in vm_make_proc_from_block (block=0xb7cebf40, th=0x804bba0) at vm.c:546 #3 rb_vm_make_env_object (th=th@entry=0x804bba0, cfp=<optimized out>, cfp@entry=0xb7cebf00) at vm.c:488 #4 0x4acd9dcf in rb_vm_make_proc (th=th@entry=0x804bba0, block=block@entry=0xb7cebf14, klass=134706180) at vm.c:562 #5 0x4acda52d in vm_make_proc_from_block (block=0xb7cebf14, th=0x804bba0) at vm.c:546 #6 rb_vm_make_env_object (th=th@entry=0x804bba0, cfp=<optimized out>, cfp@entry=0xb7cebed4) at vm.c:488 #7 0x4acd9dcf in rb_vm_make_proc (th=th@entry=0x804bba0, block=0xb7cebee8, klass=134706180) at vm.c:562 #8 0x4aba7129 in vm_callee_setup_arg_complex (th=th@entry=0x804bba0, iseq=iseq@entry=0x8888278, orig_argc=orig_argc@entry=2, orig_argv=orig_argv@entry=0xb7c6c058, block=block@entry=0xbfffea18) at vm_insnhelper.c:221 #9 0x4ace4538 in vm_setup_method (th=th@entry=0x804bba0, cfp=cfp@entry=0xb7cebed4, recv=recv@entry=148280540, argc=argc@entry=2, blockptr=blockptr@entry=0xb7cebee8, flag=flag@entry=0, me=0x8888260) at vm_insnhelper.c:470 #10 0x4ace660a in vm_call_method (th=th@entry=0x804bba0, cfp=cfp@entry=0xb7cebed4, num=num@entry=2, blockptr=0xb7cebee8, flag=flag@entry=0, id=id@entry=36608, me=me@entry=0x8888260, recv=148280540) at vm_insnhelper.c:529 #11 0x4acdcf3b in vm_exec_core (th=0x804bba0, th@entry=0xbfffebc8, initial=initial@entry=0) at insns.def:1018 #12 0x4ace15dc in vm_exec (th=0xbfffebc8, th@entry=0xb7cebf2c) at vm.c:1227 #13 0x4ace22a2 in invoke_block_from_c (cref=0x0, blockptr=0x8abc2f0, argv=0x8fdb03d, argc=148280540, self=161, block=0x8fdb080, th=0xb7cebf2c) at vm.c:631 #14 rb_vm_invoke_proc (th=th@entry=0x804bba0, proc=0x8fdb080, self=self@entry=148280540, argc=argc@entry=1, argv=argv@entry=0xbfffedb0, blockptr=blockptr@entry=0x0) at vm.c:677 #15 0x4ace669e in vm_call_bmethod (me=0x8fdb0b0, blockptr=0x0, argv=0xbfffedb0, argc=1, recv=148280540, th=0x804bba0) at vm_insnhelper.c:433 #16 vm_call_method (th=th@entry=0x804bba0, cfp=cfp@entry=0xb7cebf84, num=num@entry=1, blockptr=0x0, flag=flag@entry=0, id=id@entry=14984, me=me@entry=0x8fdb0b0, recv=148280540) at vm_insnhelper.c:566 #17 0x4acdcf3b in vm_exec_core (th=0x804bba0, th@entry=0xbfffef68, initial=initial@entry=136044116) at insns.def:1018 #18 0x4ace15dc in vm_exec (th=0xbfffef68, th@entry=0x804bba0) at vm.c:1227 #19 0x4ace8d9d in rb_iseq_eval_main (iseqval=iseqval@entry=134637000) at vm.c:1468 #20 0x4abdf2b4 in ruby_exec_internal (n=0x80665c8) at eval.c:204 #21 0x4abdfe35 in ruby_exec_node (n=n@entry=0x80665c8) at eval.c:251 #22 0x4abe1857 in ruby_run_node (n=0x80665c8) at eval.c:244 #23 0x080486b9 in main (argc=2, argv=0xbffff264) at main.c:38 (gdb) li 486 487 if (blockptr && !(lfp[0] & 0x02)) { 488 VALUE blockprocval = vm_make_proc_from_block(th, blockptr); 489 rb_proc_t *p; 490 GetProcPtr(blockprocval, p); 491 lfp[0] = GC_GUARDED_PTR(&p->block); 492 } 493 494 envval = vm_make_env_each(th, cfp, cfp->dfp, cfp->lfp); 495 rb_vm_rewrite_dfp_in_errinfo(th);
ruby-1.9.3.362-25.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/ruby-1.9.3.362-25.fc17
ruby-1.9.3.362-25.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/ruby-1.9.3.362-25.fc18
Thank you for information. I think the coming -25 should fix this issue. Please try it.
I've been watching https://admin.fedoraproject.org/updates/ruby-1.9.3.362-25.fc17 waiting for it to say "This update has been pushed to testing". As soon as I notice that it's on the testing repository, I'll test and provide feedback.
It seems pushing -25 into testing repo are taking time... If you want to try -25 now, you can visit http://kojipkgs.fedoraproject.org/packages/ruby/ and download rpms manually.
Installing the rpms manually from kojipkgs appears to work. I updated from 1.9.3.194 to 1.9.3.362-24 and verified that segfault was still present. I then updated to 1.9.3.362-25 (ruby-1.9.3.362-25.fc17.x86_64.rpm, ruby-devel-1.9.3.362-25.fc17.x86_64.rpm, ruby-irb-1.9.3.362-25.fc17.noarch.rpm, ruby-libs-1.9.3.362-25.fc17.x86_64.rpm, rubygem-bigdecimal-1.1.0-25.fc17.x86_64.rpm, rubygem-io-console-0.3-25.fc17.x86_64.rpm, rubygem-rake-0.9.2.2-25.fc17.noarch.rpm) and verified that I couldn't get the segfaults to trigger any more (I did multiple test runs). Thanks for the fix!
Package ruby-1.9.3.362-25.fc17: * should fix your issue, * was pushed to the Fedora 17 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing ruby-1.9.3.362-25.fc17' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2013-0900/ruby-1.9.3.362-25.fc17 then log in and leave karma (feedback).
I waited for the repository to update and then downgraded and re-upgraded from the repository and verified that the packages on the repository resolve the segfaults. I just left karma feedback. Thanks once again!
1.9.3 p374 was released, mainly to fix segfault lots of people are seeing on p362. I will submit -27 as update.
ruby-1.9.3.374-27.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/ruby-1.9.3.374-27.fc18
ruby-1.9.3.374-27.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/ruby-1.9.3.374-27.fc17
*** Bug 901902 has been marked as a duplicate of this bug. ***
ruby-1.9.3.374-27.fc18 has been pushed to the Fedora 18 stable repository. If problems still persist, please make note of it in this bug report.
ruby-1.9.3.374-27.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.
I just updated to 1.9.3.374-27.fc17.x86_64 and my test suites are running successfully. Just left positive feedback for it at https://admin.fedoraproject.org/updates/ruby-1.9.3.374-27.fc17. I apologize for losing track of the message back on Jan 19th regarding it entering testing.
Closing. Thank you for reports.
ruby-1.9.3.385-28.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/ruby-1.9.3.385-28.fc18
ruby-1.9.3.385-28.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/ruby-1.9.3.385-28.fc17
I just left positive feedback for ruby-1.9.3.385-28.fc17 at https://admin.fedoraproject.org/updates/ruby-1.9.3.385-28.fc17.
ruby-1.9.3.385-28.fc18 has been pushed to the Fedora 18 stable repository. If problems still persist, please make note of it in this bug report.
ruby-1.9.3.385-28.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.