Bug #6383

Segfault in Timeout module when compiled with GCC 4.7

Added by Nicolas Buduroi almost 2 years ago. Updated 10 months ago.

[ruby-core:44775]
Status:Rejected
Priority:Normal
Assignee:-
Category:-
Target version:Ruby 1.8.7
ruby -v:ruby 1.8.7 (2012-02-08 patchlevel 358) [i686-linux]

Description

As described in a post (https://bbs.archlinux.org/viewtopic.php?id=139547) on the ArchLinux forum, there's an issue with Ruby 1.8.7 when compiled with GCC 4.7 on a modern Linux system. Ruby segfault as soon as we try to install a gem, although it seems to work fine for trivial things. Here's an output of the error message:

/opt/ruby1.8/lib/ruby/1.8/timeout.rb:60: [BUG] Segmentation fault
ruby 1.8.7 (2012-02-08 patchlevel 358) [i686-linux]

It can be circumvented by installing older versions of GCC but this is a very time consuming operation and it's not possible one every systems.

History

#1 Updated by Heesob Park almost 2 years ago

I can reproduce this issue on Arch Linux 3.3.4.

I guess the over-optimization of GCC 4.7 caused the segfault.

Try to build Ruby 1.8.7 with the following config options:
./configure CFLAGS="-O2 -fno-tree-dce -fno-optimize-sibling-calls"

Don't ask me why. I just found it by trial and error.

#2 Updated by Roger Pack 10 months ago

(thanks for the workaround phasis68). Does this occur with gcc 4.8 anyone know? (i.e. was it a bug in 4.7 now fixed in 4.8...?)

#3 Updated by Eric Hodel 10 months ago

  • Status changed from Open to Rejected
  • Priority changed from High to Normal

Sorry, but Ruby 1.8.7 is closed for bug fixes. If you can reproduce with ruby 2.0 or 1.9.3 please open a new issue.

Also available in: Atom PDF