Issue #10665 has been updated by Nobuyoshi Nakada.

Status changed from Open to Closed

----------------------------------------
Bug #10665: irb segfaults on user input (irb 0.9.6 / ruby 2.1.5p273 / i386-mingw32) under ConEmu
https://bugs.ruby-lang.org/issues/10665#change-50668

* Author: Jean-Charles Longuet
* Status: Closed
* Priority: Low
* Assignee: 
* Category: core
* Target version: 
* ruby -v: ruby 2.1.5p273 (2014-11-13 revision 48405) [i386-mingw32]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
irb crashes when any key is hit. Issue only appears when running under ConEmu, not under git-bash usual console

~~~
$ irb
irb(main):001:0> d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/input-method.rb:61: [BUG] Segmentation fault
ruby 2.1.5p273 (2014-11-13 revision 48405) [i386-mingw32]

-- Control frame information -----------------------------------------------
c:0023 p:---- s:0083 e:000082 CFUNC  :gets
c:0022 p:0018 s:0080 e:000079 METHOD d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/input-method.rb:61
c:0021 p:0011 s:0076 e:000075 BLOCK  d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb.rb:472
c:0020 p:0040 s:0073 e:000072 METHOD d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb.rb:624
c:0019 p:0009 s:0068 e:000067 BLOCK  d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb.rb:471 [FINISH]
c:0018 p:---- s:0066 e:000065 CFUNC  :call
c:0017 p:0015 s:0063 e:000062 METHOD d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:190
c:0016 p:0015 s:0059 e:000058 METHOD d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:105
c:0015 p:0022 s:0055 e:000054 METHOD d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/slex.rb:206
c:0014 p:0042 s:0047 e:000046 METHOD d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/slex.rb:76
c:0013 p:0044 s:0042 e:000041 METHOD d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:290
c:0012 p:0013 s:0038 e:000037 METHOD d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:266
c:0011 p:0022 s:0033 e:000032 BLOCK  d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:237 [FINISH]
c:0010 p:---- s:0030 e:000029 CFUNC  :loop
c:0009 p:0007 s:0027 e:000026 BLOCK  d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:233 [FINISH]
c:0008 p:---- s:0025 e:000024 CFUNC  :catch
c:0007 p:0015 s:0021 e:000020 METHOD d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:232
c:0006 p:0030 s:0018 E:000224 METHOD d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb.rb:488
c:0005 p:0008 s:0015 e:000014 BLOCK  d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb.rb:397 [FINISH]
c:0004 p:---- s:0013 e:000012 CFUNC  :catch
c:0003 p:0143 s:0009 E:002304 METHOD d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb.rb:396
c:0002 p:0021 s:0004 E:0017e4 EVAL   d:/RailsInstaller/Ruby2.1.0/bin/irb:11 [FINISH]
c:0001 p:0000 s:0002 E:00054c TOP    [FINISH]

d:/RailsInstaller/Ruby2.1.0/bin/irb:11:in `<main>'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb.rb:396:in `start'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb.rb:396:in `catch'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb.rb:397:in `block in start'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb.rb:488:in `eval_input'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:232:in `each_top_level_statement'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:232:in `catch'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:233:in `block in each_top_level_statement'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:233:in `loop'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:237:in `block (2 levels) in each_top_level_statement'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:266:in `lex'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:290:in `token'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/slex.rb:76:in `match'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/slex.rb:206:in `match_io'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:105:in `getc'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:190:in `buf_input'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb:190:in `call'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb.rb:471:in `block in eval_input'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb.rb:624:in `signal_status'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb.rb:472:in `block (2 levels) in eval_input'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/input-method.rb:61:in `gets'
d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/input-method.rb:61:in `gets'

-- C level backtrace information -------------------------------------------
C:\Windows\SysWOW64\ntdll.dll(ZwWaitForSingleObject+0x15) [0x771EF8D1]
C:\Windows\syswow64\kernel32.dll(WaitForSingleObjectEx+0x43) [0x76AE1194]
C:\Windows\syswow64\kernel32.dll(WaitForSingleObject+0x12) [0x76AE1148]
d:\RailsInstaller\Ruby2.1.0\bin\msvcrt-ruby210.dll(rb_vm_bugreport+0xa7) [0x6D394A17]
d:\RailsInstaller\Ruby2.1.0\bin\msvcrt-ruby210.dll(rb_name_err_mesg_new+0x69f) [0x6D248F7F]
d:\RailsInstaller\Ruby2.1.0\bin\msvcrt-ruby210.dll(rb_bug+0x2e) [0x6D249D5E]
d:\RailsInstaller\Ruby2.1.0\bin\msvcrt-ruby210.dll(rb_check_safe_str+0x34b) [0x6D31486B]
 [0x00401866]
C:\Windows\SysWOW64\ntdll.dll(RtlKnownExceptionFilter+0xb7) [0x772474FF]

-- Other runtime information -----------------------------------------------

* Loaded script: irb

* Loaded features:

    0 enumerator.so
    1 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/i386-mingw32/enc/encdb.so
    2 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/i386-mingw32/enc/iso_8859_1.so
    3 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/i386-mingw32/enc/trans/transdb.so
    4 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/i386-mingw32/rbconfig.rb
    5 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/compatibility.rb
    6 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/defaults.rb
    7 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/deprecate.rb
    8 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/errors.rb
    9 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/version.rb
   10 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/requirement.rb
   11 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/platform.rb
   12 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/basic_specification.rb
   13 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/stub_specification.rb
   14 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/util/stringio.rb
   15 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/specification.rb
   16 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/exceptions.rb
   17 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/rubygems/defaults/operating_system.rb
   18 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_gem.rb
   19 thread.rb
   20 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/i386-mingw32/thread.so
   21 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/monitor.rb
   22 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb
   23 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems.rb
   24 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/e2mmap.rb
   25 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/init.rb
   26 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/workspace.rb
   27 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/inspector.rb
   28 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/context.rb
   29 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/extend-command.rb
   30 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/output-method.rb
   31 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/notifier.rb
   32 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/slex.rb
   33 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-token.rb
   34 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/ruby-lex.rb
   35 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/src_encoding.rb
   36 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/magic-file.rb
   37 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/i386-mingw32/enc/euc_jp.so
   38 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/i386-mingw32/enc/windows_31j.so
   39 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/i386-mingw32/etc.so
   40 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/i386-mingw32/dl.so
   41 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/i386-mingw32/fiddle.so
   42 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/fiddle/function.rb
   43 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/fiddle/closure.rb
   44 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/fiddle.rb
   45 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/dl.rb
   46 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rbreadline.rb
   47 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/readline.rb
   48 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/input-method.rb
   49 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb/locale.rb
   50 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/irb.rb
   51 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/prettyprint.rb
   52 d:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/pp.rb
   53 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/path_support.rb
   54 d:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/dependency.rb

[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


This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
~~~



-- 
https://bugs.ruby-lang.org/