Project

General

Profile

Backport #2214

Segfault with Range of Symbols in IRB

Added by runpaint (Run Paint Run Run) over 9 years ago. Updated about 8 years ago.

Status:
Closed
Priority:
Normal
[ruby-core:26092]

Description

=begin
This is very similar to http://redmine.ruby-lang.org/issues/show/1891 .

$ cat /tmp/segfault.rb
(:a..:zzzzzz).to_a; true
(:a..:zzzzz)
$ irb -v
irb 0.9.6(09/06/30)
$ irb '
(:a..:zzzzz)
(irb):2: [BUG] Segmentation fault
ruby 1.9.2dev (2009-10-14 trunk 25330) [i686-linux]

-- control frame ----------
c:0024 p:---- s:0084 b:0084 l:000083 d:000083 CFUNC :<=>
c:0023 p:0008 s:0082 b:0082 l:000d14 d:000081 EVAL (irb):2
c:0022 p:---- s:0080 b:0080 l:000079 d:000079 FINISH
c:0021 p:---- s:0078 b:0078 l:000077 d:000077 CFUNC :eval
c:0020 p:0028 s:0071 b:0071 l:000070 d:000070 METHOD /usr/local/lib/ruby/1.9.1/irb/workspace.rb:80
c:0019 p:0033 s:0064 b:0063 l:000062 d:000062 METHOD /usr/local/lib/ruby/1.9.1/irb/context.rb:252
c:0018 p:0031 s:0058 b:0058 l:001fdc d:000057 BLOCK /usr/local/lib/ruby/1.9.1/irb.rb:157
c:0017 p:0042 s:0050 b:0050 l:000049 d:000049 METHOD /usr/local/lib/ruby/1.9.1/irb.rb:271
c:0016 p:0011 s:0045 b:0045 l:001fdc d:000044 BLOCK /usr/local/lib/ruby/1.9.1/irb.rb:154
c:0015 p:0144 s:0041 b:0041 l:000024 d:000040 BLOCK /usr/local/lib/ruby/1.9.1/irb/ruby- lex.rb:244
c:0014 p:---- s:0038 b:0038 l:000037 d:000037 FINISH
c:0013 p:---- s:0036 b:0036 l:000035 d:000035 CFUNC :loop
c:0012 p:0009 s:0033 b:0033 l:000024 d:000032 BLOCK /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:230
c:0011 p:---- s:0031 b:0031 l:000030 d:000030 FINISH
c:0010 p:---- s:0029 b:0029 l:000028 d:000028 CFUNC :catch
c:0009 p:0023 s:0025 b:0025 l:000024 d:000024 METHOD /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:229
c:0008 p:0046 s:0022 b:0022 l:001fdc d:001fdc METHOD /usr/local/lib/ruby/1.9.1/irb.rb:153
c:0007 p:0011 s:0019 b:0019 l:002364 d:000018 BLOCK /usr/local/lib/ruby/1.9.1/irb.rb:70
c:0006 p:---- s:0017 b:0017 l:000016 d:000016 FINISH
c:0005 p:---- s:0015 b:0015 l:000014 d:000014 CFUNC :catch
c:0004 p:0183 s:0011 b:0011 l:002364 d:002364 METHOD /usr/local/lib/ruby/1.9.1/irb.rb:69
c:0003 p:0039 s:0006 b:0006 l:0015f4 d:00041c EVAL /usr/local/bin/irb:12
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:0015f4 d:0015f4 TOP


/usr/local/bin/irb:12:in <main>'
/usr/local/lib/ruby/1.9.1/irb.rb:69:in
start'
/usr/local/lib/ruby/1.9.1/irb.rb:69:in catch'
/usr/local/lib/ruby/1.9.1/irb.rb:70:in
block in start'
/usr/local/lib/ruby/1.9.1/irb.rb:153:in eval_input'
/usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in
each_top_level_statement'
/usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in catch'
/usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:230:in
block in each_top_level_statement'
/usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:230:in loop'
/usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:244:in
block (2 levels) in each_top_level_statement'
/usr/local/lib/ruby/1.9.1/irb.rb:154:in block in eval_input'
/usr/local/lib/ruby/1.9.1/irb.rb:271:in
signal_status'
/usr/local/lib/ruby/1.9.1/irb.rb:157:in block (2 levels) in eval_input'
/usr/local/lib/ruby/1.9.1/irb/context.rb:252:in
evaluate'
/usr/local/lib/ruby/1.9.1/irb/workspace.rb:80:in evaluate'
/usr/local/lib/ruby/1.9.1/irb/workspace.rb:80:in
eval'
(irb):2:in irb_binding'
(irb):2:in
<=>'

-- C level backtrace information -------------------------------------------
irb(rb_vm_bugreport+0xb6) [0x81687b6]
/lib/tls/i686/cmov/libc.so.6(IO_2_1_stderr+0x47) [0xb7ed15a7]

[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
=end

Associated revisions

Revision 69b51262
Added by yugui (Yuki Sonoda) over 9 years ago

merges r25351 from trunk into ruby_1_9_1. fixes the backport task #2214.

  • parse.y (rb_intern3): check symbol table overflow. [ruby-core:26092]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@26011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

History

#1

Updated by nobu (Nobuyoshi Nakada) over 9 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
This issue was solved with changeset r25351.
Run Paint, thank you for your reporting of the issue.
You have greatfully contributed toward Ruby.
May Ruby be with you.

=end

#2

Updated by nobu (Nobuyoshi Nakada) over 9 years ago

  • Status changed from Closed to Assigned
  • Assignee set to yugui (Yuki Sonoda)
  • Priority changed from 5 to Normal

=begin

=end

#3

Updated by yugui (Yuki Sonoda) over 9 years ago

  • Status changed from Assigned to Closed

=begin
This issue was solved with changeset r26011.
Run Paint, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

=end

Also available in: Atom PDF