Description
IRB displays ThreadError when changing the window size unexpectedly.
Reproduce
- Start IRB with
irb command
- Change the terminal emulator size
- It happens only when I make the window's width wider. No error when making it tight, or changing height.
- It displays the following error
irb(main):001:0> <internal:/home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:40:in `enter': can't be called from trap context (ThreadError)
from <internal:/home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:40:in `require'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/irb/input-method.rb:320:in `block in <class:ReidlineInputMethod>'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline/line_editor.rb:545:in `instance_exec'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline/line_editor.rb:545:in `call'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline/line_editor.rb:578:in `call'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline/line_editor.rb:605:in `render_each_dialog'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline/line_editor.rb:590:in `block in render_dialog'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline/line_editor.rb:589:in `each'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline/line_editor.rb:589:in `render_dialog'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline/line_editor.rb:467:in `rerender'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline/line_editor.rb:180:in `block in reset'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline/ansi.rb:129:in `getbyte'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline/ansi.rb:129:in `raw'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline/ansi.rb:129:in `inner_getc'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline/ansi.rb:176:in `getc'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline.rb:354:in `block in read_io'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline.rb:353:in `loop'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline.rb:353:in `read_io'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline.rb:311:in `block in inner_readline'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline.rb:309:in `loop'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline.rb:309:in `inner_readline'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/reline.rb:239:in `readmultiline'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/forwardable.rb:238:in `readmultiline'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/forwardable.rb:238:in `readmultiline'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/irb/input-method.rb:390:in `gets'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/irb.rb:532:in `block (2 levels) in eval_input'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/irb.rb:761:in `signal_status'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/irb.rb:531:in `block in eval_input'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/irb/ruby-lex.rb:282:in `lex'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/irb/ruby-lex.rb:251:in `block (2 levels) in each_top_level_statement'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/irb/ruby-lex.rb:248:in `loop'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/irb/ruby-lex.rb:248:in `block in each_top_level_statement'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/irb/ruby-lex.rb:247:in `catch'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/irb/ruby-lex.rb:247:in `each_top_level_statement'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/irb.rb:550:in `eval_input'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/irb.rb:484:in `block in run'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/irb.rb:483:in `catch'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/irb.rb:483:in `run'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/irb.rb:412:in `start'
from /home/pocke/.rbenv/versions/trunk/lib/ruby/gems/3.1.0/gems/irb-1.3.8.pre.7/exe/irb:11:in `<top (required)>'
from /home/pocke/.rbenv/versions/trunk/bin/irb:25:in `load'
from /home/pocke/.rbenv/versions/trunk/bin/irb:25:in `<main>'
Result of irb_info
irb(main):001:0> irb_info
=>
Ruby version: 3.1.0
IRB version: irb 1.3.8.pre.7 (2021-09-04)
InputMethod: ReidlineInputMethod with Reline 0.2.8.pre.7
.irbrc path: /home/pocke/.irbrc
RUBY_PLATFORM: x86_64-linux
LANG env: en_GB.UTF-8
Terminal Emulator
I reproduced it with Sakura and xterm on Arch Linux, with and without tmux.
Setting Files
I reproduced it with and without ~/.irbrc.
Description
IRB displays ThreadError when changing the window size unexpectedly.
Reproduce
irbcommandResult of irb_info
Terminal Emulator
I reproduced it with Sakura and xterm on Arch Linux, with and without tmux.
Setting Files
I reproduced it with and without
~/.irbrc.