Project

General

Profile

Actions

Bug #5090

closed

Segfault using Enumerator

Added by robsyme (Robert Syme) over 12 years ago. Updated over 12 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]
Backport:
[ruby-core:38451]

Description

Running bug_report.rb on my laptop simply raises a StopIteration as expected, but running it on a compute cluster node (Intel Xeon 2.93 GHz - Nehalem series) generates a segfault (below, and in "gcc and output.txt" when getting the next element from an Enumerator.
Ruby was compiled as described in configure.log and make.log

$ ruby bug_report.rb bug_report.rb bug_report.rb
bug_report.rb:6: [BUG] Segmentation fault
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]

-- control frame ----------
c:0009 p:---- s:0027 b:0027 l:000050 d:000050 CFUNC :next
c:0008 p:0011 s:0024 b:0024 l:0006c8 d:000023 BLOCK bug_report.rb:6
c:0007 p:---- s:0019 b:0019 l:000018 d:000018 FINISH
c:0006 p:---- s:0017 b:0017 l:0021d0 d:0021d0 CFUNC :each
c:0005 p:---- s:0015 b:0015 l:000014 d:000014 CFUNC :each
c:0004 p:---- s:0013 b:0013 l:002100 d:002100 CFUNC :count
c:0003 p:0104 s:0010 b:0009 l:0006c8 d:001920 EVAL bug_report.rb:18
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:0006c8 d:0006c8 TOP

-- Ruby level backtrace information ----------------------------------------
bug_report.rb:18:in <main>' bug_report.rb:18:in count'
bug_report.rb:18:in each' bug_report.rb:18:in each'
bug_report.rb:6:in block in <main>' bug_report.rb:6:in next'

-- C level backtrace information -------------------------------------------
/home/585/rxs585/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(rb_vm_bugreport+0x66) [0x7ffff7a8fde6]
/home/585/rxs585/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(rb_bug+0x189) [0x7ffff79087f9]
/home/585/rxs585/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9 [0x7ffff79f55fe]
/lib64/libpthread.so.0 [0x7ffff7651b10]
[0x7ffff7ffa850]

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

Aborted


Files

bug_report.rb (349 Bytes) bug_report.rb The code that generates the error robsyme (Robert Syme), 07/24/2011 10:39 PM
gcc_and_output.txt (2.13 KB) gcc_and_output.txt Commands used to run the code and generate the segfault robsyme (Robert Syme), 07/24/2011 10:39 PM
configure.log (14.5 KB) configure.log Ruby configure log robsyme (Robert Syme), 07/24/2011 10:39 PM
install.log (1.92 KB) install.log Ruby install log robsyme (Robert Syme), 07/24/2011 10:39 PM
make.log (963 KB) make.log Ruby make log robsyme (Robert Syme), 07/24/2011 10:39 PM

Updated by mame (Yusuke Endoh) over 12 years ago

Could you show gdb backtrace?

$ gdb --args ruby bug_report.rb bug_report.rb bug_report.rb
(gdb) run
(gdb) bt

--
Yusuke Endoh

Updated by robsyme (Robert Syme) over 12 years ago

$ gdb --args ruby bug_report.rb bug_report.rb bug_report.rb
GNU gdb (GDB) Red Hat Enterprise Linux (7.0.1-32.el5_6.2)
Copyright (C) 2009 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 "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
Reading symbols from /home/585/rxs585/.rvm/rubies/ruby-1.9.2-p180/bin/ruby...(no debugging symbols found)...done.
(gdb) run
Starting program: /home/585/rxs585/.rvm/rubies/ruby-1.9.2-p180/bin/ruby bug_report.rb bug_report.rb bug_report.rb
[Thread debugging using libthread_db enabled]
[New Thread 0x40003940 (LWP 15263)]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7ffa850 in ?? ()
(gdb) bt
#0 0x00007ffff7ffa850 in ?? ()
#1 0x000000000076fdd0 in ?? ()
#2 0x00000000029ea4c3 in ?? ()
#3 0x00007ffff7863e20 in ?? () from /home/585/rxs585/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9
#4 0x0000000000553418 in ?? ()
#5 0x0000000000772920 in ?? ()
#6 0x00000000006473d8 in ?? ()
#7 0x000000000076fdd0 in ?? ()
#8 0x00000000006473f0 in ?? ()
#9 0x00007ffff785e000 in ?? ()
#10 0x0000000000000000 in ?? ()

Updated by robsyme (Robert Syme) over 12 years ago

I notice that gdb reports "no debugging symbols found". Do I need to recompile ruby for this to work? Do I need to provide a particular flag to configure, and if so, what flag? Sorry for my ignorance, this is my first ruby bug report.

Updated by mame (Yusuke Endoh) over 12 years ago

Umm, thanks. But I have no idea :-)

gcc -g generates binary with debugging symbol.
But I think that the option is set by default if you build it from a tarball.

I'm not sure if rvm might tweak build option. I'm not familiar with rvm.
Can anyone who is familiar with rvm, answer?

--
Yusuke Endoh

Updated by Eregon (Benoit Daloze) over 12 years ago

On 24 July 2011 16:30, Robert Syme wrote:

I notice that gdb reports "no debugging symbols found". Do I need to recompile ruby for this to work? Do I need to provide a particular flag to configure, and if so, what flag? Sorry for my ignorance, this is my first ruby bug report.

On 24 July 2011 16:37, Yusuke Endoh wrote:

I'm not sure if rvm might tweak build option.  I'm not familiar with rvm.
Can anyone who is familiar with rvm, answer?

http://beginrescueend.com/rubies/installing/ says to use:
export optflags

Updated by robsyme (Robert Syme) over 12 years ago

$ export optflags="-O0 -ggdb"
$ rvm install 1.9.2-p290
$ ruby bug_report.rb bug_report.rb bug_report.rb

Everything works as expected. I should have just tried with the latest patchlevel before submitting the report. Sorry guys! Closing.

-r

Updated by kosaki (Motohiro KOSAKI) over 12 years ago

  • Status changed from Open to Closed
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0