热卖商品
新闻详情
Bug #9931: irb: Really weird behavior for x = \"#{x\\\"}\" (ex...
来自 : bugs.ruby-lang.org/issues/9...
发布时间:2021-03-25
This appears to still be a problem in the master branch, though the details have changed slightly. You still need Ctrl-C to reset the state after the x = #{x\\ } line:
irb(main):001:0 x = #{x\\ } irb(main):001:0 irb(main):001:0 1irb(main):001:0 nilirb(main):001:0 # Ctrl-D at this point has no effectirb(main):001:0 # Ctrl-D after Ctrl-C exits
In nested irb, you can end up with deadlock due to this:
irb(main):001:0 irbirb#1(main):001:0 x = #{x\\ } irb#1(main):001:0 irb#1(main):001:0 exitTraceback (most recent call last): 16: from /home/jeremy/tmp/irb/lib/irb/ruby-lex.rb:84:in `block in each_top_level_statement 15: from /home/jeremy/tmp/irb/lib/irb/ruby-lex.rb:84:in `loop 14: from /home/jeremy/tmp/irb/lib/irb/ruby-lex.rb:99:in `block (2 levels) in each_top_level_statement 13: from /home/jeremy/tmp/irb/lib/irb.rb:493:in `block in eval_input 12: from /home/jeremy/tmp/irb/lib/irb.rb:650:in `signal_status 11: from /home/jeremy/tmp/irb/lib/irb.rb:496:in `block (2 levels) in eval_input 10: from /home/jeremy/tmp/irb/lib/irb/context.rb:404:in `evaluate 9: from /home/jeremy/tmp/irb/lib/irb/workspace.rb:85:in `evaluate 8: from /home/jeremy/tmp/irb/lib/irb/workspace.rb:85:in `eval 7: from (irb):1:in `irb_binding 6: from /home/jeremy/tmp/irb/lib/irb/extend-command.rb:154:in `irb 5: from /home/jeremy/tmp/irb/lib/irb/extend-command.rb:151:in `irb 4: from /home/jeremy/tmp/irb/lib/irb/cmd/nop.rb:20:in `execute 3: from /home/jeremy/tmp/irb/lib/irb/cmd/subirb.rb:20:in `execute 2: from /home/jeremy/tmp/irb/lib/irb/ext/multi-irb.rb:229:in `irb 1: from /home/jeremy/tmp/irb/lib/irb/ext/multi-irb.rb:229:in `stop fatal (No live threads left. Deadlock?)1 threads, 1 sleeps current:0x000004f3ae7d1e00 main thread:0x000004f3ae7d1e00* # Thread:0x000004f39ef17f70 sleep_forever rb_thread_t:0x000004f3ae7d1e00 native:0x000004f3d8a08000 int:0 /home/jeremy/tmp/irb/lib/irb/ext/multi-irb.rb:229:in `stop /home/jeremy/tmp/irb/lib/irb/ext/multi-irb.rb:229:in `irb /home/jeremy/tmp/irb/lib/irb/cmd/subirb.rb:20:in `execute /home/jeremy/tmp/irb/lib/irb/cmd/nop.rb:20:in `execute /home/jeremy/tmp/irb/lib/irb/extend-command.rb:151:in `irb /home/jeremy/tmp/irb/lib/irb/extend-command.rb:154:in `irb (irb):1:in `irb_binding /home/jeremy/tmp/irb/lib/irb/workspace.rb:85:in `eval /home/jeremy/tmp/irb/lib/irb/workspace.rb:85:in `evaluate /home/jeremy/tmp/irb/lib/irb/context.rb:404:in `evaluate /home/jeremy/tmp/irb/lib/irb.rb:496:in `block (2 levels) in eval_input /home/jeremy/tmp/irb/lib/irb.rb:650:in `signal_status /home/jeremy/tmp/irb/lib/irb.rb:493:in `block in eval_input /home/jeremy/tmp/irb/lib/irb/ruby-lex.rb:99:in `block (2 levels) in each_top_level_statement /home/jeremy/tmp/irb/lib/irb/ruby-lex.rb:84:in `loop /home/jeremy/tmp/irb/lib/irb/ruby-lex.rb:84:in `block in each_top_level_statement /home/jeremy/tmp/irb/lib/irb/ruby-lex.rb:83:in `catch /home/jeremy/tmp/irb/lib/irb/ruby-lex.rb:83:in `each_top_level_statement /home/jeremy/tmp/irb/lib/irb.rb:492:in `eval_input /home/jeremy/tmp/irb/lib/irb.rb:431:in `block in run /home/jeremy/tmp/irb/lib/irb.rb:430:in `catch /home/jeremy/tmp/irb/lib/irb.rb:430:in `run /home/jeremy/tmp/irb/lib/irb.rb:388:in `start /home/jeremy/tmp/irb/exe/irb:11:in ` main Maybe IRB bug!
本文链接: http://irbex.immuno-online.com/view-757378.html
发布于 : 2021-03-25
阅读(0)
最新动态
2021-03-25
2021-03-25
2021-03-25
2021-03-25
2021-03-25
2021-03-25
2021-03-25
2021-03-25
2021-03-25
2021-03-25
2021-03-25
2021-03-25
联络我们