I'm hitting strange issue where to_s is timing out a whole lot making debugging inside some methods extremely slow/unreliable/cumbersome.
I've tried a bunch of different values for --timeout-limit -- below is a sample with timeout set to 5ms ...
Any advice on how to tune this -- or ideas for something that can cause the to_s evaluation to take longer than it should in general -- not clear to me why evaluation of to_s for an integer should take longer than 5 ms ...
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:249:in `block in exec_with_allocation_control'
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:249:in `block in exec_with_allocation_control'
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:249:in `block in exec_with_allocation_control'
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:37:in `block in non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `loop'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:20:in `read_command'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/ide_processor.rb:80:in `process_commands'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide.rb:176:in `block in _start_control_common'
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:249:in `block in exec_with_allocation_control'
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:248:in `inspect'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:248:in `inspect'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:248:in `block in exec_with_allocation_control'
8044: <variable name="os_item" compactValue="{<?>: 640212321, <?>: <?>, final_tax_rate: <?>, grubhub_price: <?>, modifier_classes: <?>, name: BSB Roast Beef, ...}" kind="local" value="Hash (7 elements)" type="Hash" hasChildren="true" objectId="+0x2b0b281d3478">
8044: </variable>
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/core_ext/numeric/conversions.rb:139:in `block (2 levels) in <class:Numeric>'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:248:in `block in exec_with_allocation_control'
8044: <variable name="os_item_id" kind="local" value="Timeout: evaluation of to_s took longer than 5ms." type="Integer" hasChildren="false" objectId="+0x4c51bac3">
8044: </variable>
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:37:in `block in non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `loop'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:20:in `read_command'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/ide_processor.rb:80:in `process_commands'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide.rb:176:in `block in _start_control_common'
8044: <variable name="os_menu_id" kind="local" value="Timeout: evaluation of to_s took longer than 5ms." type="Integer" hasChildren="false" objectId="+0x3">
8044: </variable>
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:37:in `block in non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `loop'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:20:in `read_command'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/ide_processor.rb:80:in `process_commands'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide.rb:176:in `block in _start_control_common'
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/core_ext/numeric/conversions.rb:133:in `block (2 levels) in <class:Numeric>'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:248:in `block in exec_with_allocation_control'
8044: <variable name="os_modifier" compactValue="{<?>: 0.0, active: false, id: 640212648, name: *Harvest Wheat Bun, price: <?>}" kind="local" value="Hash (5 elements)" type="Hash" hasChildren="true" objectId="+0x2b0b281d2fc8">
8044: </variable>
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:249:in `block in exec_with_allocation_control'
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:37:in `block in non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `loop'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:20:in `read_command'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/ide_processor.rb:80:in `process_commands'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide.rb:176:in `block in _start_control_common'
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:249:in `block in exec_with_allocation_control'
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:37:in `block in non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `loop'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:20:in `read_command'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/ide_processor.rb:80:in `process_commands'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide.rb:176:in `block in _start_control_common'
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:248:in `inspect'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:248:in `inspect'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:248:in `block in exec_with_allocation_control'
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:37:in `block in non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `loop'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:20:in `read_command'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/ide_processor.rb:80:in `process_commands'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide.rb:176:in `block in _start_control_common'
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:249:in `block in exec_with_allocation_control'
8044: <variable name="os_modifier_group" compactValue="{<?>: <?>, <?>: 0, <?>: <?>, free: <?>, max: <?>, name: Bread}" kind="local" value="Hash (6 elements)" type="Hash" hasChildren="true" objectId="+0x2b0b281d3234">
8044: </variable>
8044: <variable name="os_modifier_group_id" kind="local" value="640214236" type="Integer" hasChildren="false" objectId="+0x4c51c9b9">
8044: </variable>
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:249:in `block in exec_with_allocation_control'
8044: <variable name="os_modifier_id" kind="local" value="Timeout: evaluation of to_s took longer than 5ms." type="Integer" hasChildren="false" objectId="+0x4c51bd51">
8044: </variable>
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:37:in `block in non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `loop'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:20:in `read_command'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/ide_processor.rb:80:in `process_commands'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide.rb:176:in `block in _start_control_common'
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:248:in `inspect'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:248:in `block in exec_with_allocation_control'
8044: <variable name="os_section" compactValue="{id: <?>, items: <?>, name: All Items}" kind="local" value="Hash (3 elements)" type="Hash" hasChildren="true" objectId="+0x2b0b281d36a8">
8044: </variable>
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:37:in `block in non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `loop'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:20:in `read_command'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/ide_processor.rb:80:in `process_commands'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide.rb:176:in `block in _start_control_common'
8044: <variable name="os_section_id" kind="local" value="Timeout: evaluation of to_s took longer than 5ms." type="Integer" hasChildren="false" objectId="+0x1e847f">
8044: </variable>
8044: <variable name="parent_ref" kind="local" value="MenuSection:999999" type="String" hasChildren="true" objectId="+0x2b0b28f49940">
8044: </variable>
8044: <variable name="price_from_pos" kind="local" value="5.49" type="String" hasChildren="true" objectId="+0x2b0b1cd1a5e0">
8044: </variable>
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:37:in `block in non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `loop'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:36:in `non_blocking_gets'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/interface.rb:20:in `read_command'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/ide_processor.rb:80:in `process_commands'
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide.rb:176:in `block in _start_control_common'
8044: Timeout: evaluation of to_s took longer than 5ms.
/app/vendor/bundle/ruby/2.4.0/gems/ruby-debug-ide-0.7.2/lib/ruby-debug-ide/xml_printer.rb:249:in `block in exec_with_allocation_control'
8044: <variable name="section" compactValue="{<?>: All Items, <?>: 999999, pos_active: , ref: MenuSection:999999}" kind="local" value="Hash (4 elements)" type="Hash" hasChildren="true" objectId="+0x2b0b28f4997c">
8044: </variable>
And still a whole lot of timeouts with that timeout set to 1 second ... -- and then there becomes a very large delay after pausing on any breakpoint during which all the variables in scope are inspected again -- and all the variables in global context are 'evaluated' again ...
I've tried with and without --keep-frame-binding in case that behavior is somehow related ... (doesn't seem to help either way)
This is one cycle of rdebug-ide debug output when stopping at a breakpoint within a loop in a particular method I am working on. It takes a long time after hitting the breakpoint before the debug output stops ...
I'm hitting strange issue where to_s is timing out a whole lot making debugging inside some methods extremely slow/unreliable/cumbersome.
I've tried a bunch of different values for --timeout-limit -- below is a sample with timeout set to 5ms ...
Any advice on how to tune this -- or ideas for something that can cause the to_s evaluation to take longer than it should in general -- not clear to me why evaluation of to_s for an integer should take longer than 5 ms ...
And still a whole lot of timeouts with that timeout set to 1 second ... -- and then there becomes a very large delay after pausing on any breakpoint during which all the variables in scope are inspected again -- and all the variables in global context are 'evaluated' again ...
I've tried with and without --keep-frame-binding in case that behavior is somehow related ... (doesn't seem to help either way)
This is one cycle of rdebug-ide debug output when stopping at a breakpoint within a loop in a particular method I am working on. It takes a long time after hitting the breakpoint before the debug output stops ...