Project

General

Profile

Actions

Bug #18750

open

Segmentation fault on SIGINT when waiting in TracePoint handler

Added by hurricup (Alexandr Evstigneev) about 1 month ago. Updated 27 days ago.

Status:
Feedback
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:108367]

Description

Affected rubies: 3.0, 3.1

Currently I'm working on migrating JetBrains debugger to the targeted TracePoint API and we have an unstable Sgementation Fault issue on application interruption by SIGINT.
I was not able to pinpoint the reason (presumably it's some kind of a race on iseq->aux.exec update) and could not make a sample t reproduce the problem. Here is what I found:

I'm unable to attach images to the issue, it fails with Internal Server Error. Please, fix it and I'll update some information from gdb.

Program is standing at:

__ppoll 0x00007f644cfdbac6
rb_sigwait_sleep thread_pthread.c:2108
native_sleep thread_pthread.c:2229
sleep_forever thread.c:1451
rb_thread_sleep_deadly_allow_spurious_wakeup thread.c:1549
queue_sleep thread_sync.c:969
rb_ensure eval.c:993
queue_do_pop thread_sync.c:1031
rb_queue_pop thread_sync.c:1067
ractor_safe_call_cfunc_m1 vm_insnhelper.c:2847
vm_call_cfunc_with_frame vm_insnhelper.c:3037
vm_sendish vm_insnhelper.c:4751
vm_exec_core insns.def:778
rb_vm_exec vm.c:2211
invoke_block vm.c:1316
invoke_iseq_block_from_c vm.c:1372
invoke_block_from_c_bh vm.c:1390
vm_yield_with_cref vm.c:1427
vm_yield vm.c:1435
rb_yield_0 vm_eval.c:1347
rb_yield vm_eval.c:1360
rb_ensure eval.c:993
rb_mutex_synchronize thread_sync.c:600
rb_mutex_synchronize_m thread_sync.c:617
ractor_safe_call_cfunc_0 vm_insnhelper.c:2854
vm_call_cfunc_with_frame vm_insnhelper.c:3037
vm_sendish vm_insnhelper.c:4751
vm_exec_core insns.def:759
rb_vm_exec vm.c:2211
invoke_block vm.c:1316
invoke_iseq_block_from_c vm.c:1372
invoke_block_from_c_proc vm.c:1470
vm_invoke_proc vm.c:1500
rb_vm_invoke_proc vm.c:1521
rb_proc_call_with_block_kw proc.c:1017
rb_proc_call_with_block proc.c:1025
tp_call_trace vm_trace.c:1150
exec_hooks_body vm_trace.c:331
exec_hooks_protected vm_trace.c:378
rb_exec_event_hooks vm_trace.c:422
rb_exec_event_hook_orig vm_core.h:2052
vm_trace_hook vm_insnhelper.c:5586
vm_trace vm_insnhelper.c:5697
vm_exec_core vm.inc:5088
rb_vm_exec vm.c:2211
rb_iseq_eval vm.c:2458
load_iseq_eval load.c:656
rb_load_internal load.c:717
rb_load load.c:727
rb_load_protect load.c:737
Debase_load_protect debase_internals.c:213
call_cfunc_1 vm_insnhelper.c:2723
vm_call_cfunc_with_frame vm_insnhelper.c:3037
vm_call_cfunc vm_insnhelper.c:3058
vm_call_method_each_type vm_insnhelper.c:3639
vm_call_method vm_insnhelper.c:3725
vm_call_general vm_insnhelper.c:3768
vm_sendish vm_insnhelper.c:4751
vm_exec_core insns.def:778
rb_vm_exec vm.c:2220
rb_iseq_eval_main vm.c:2469
rb_ec_exec_node eval.c:280
ruby_run_node eval.c:321
main main.c:47
__libc_start_main 0x00007f644ceed0b3
_start 0x0000555cf774214e

Debugger released from the suspension (starting to exit the TracePoint handler) and application receives SIGINT

Segfault output:

/home/hurricup/RubymineProjects/untitled14/test.rb:3: [BUG] Segmentation fault at 0x0000000100000001
ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0007 p:0003 s:0041 E:000390 METHOD /home/hurricup/RubymineProjects/untitled14/test.rb:3
c:0006 p:0006 s:0036 E:001b90 TOP    /home/hurricup/RubymineProjects/untitled14/test.rb:5 [FINISH]
c:0005 p:---- s:0033 e:000032 CFUNC  :load_protect
c:0004 p:0122 s:0028 E:0018c8 METHOD /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase.rb:211
c:0003 p:0053 s:0019 E:000368 METHOD /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide.rb:95
c:0002 p:0805 s:0012 E:001aa0 EVAL   /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/bin/rdebug-ide:189 [FINISH]
c:0001 p:0000 s:0003 E:0016b0 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
/home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/bin/rdebug-ide:189:in `<main>'
/home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide.rb:95:in `debug_program'
/home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase.rb:211:in `debug_load'
/home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase.rb:211:in `load_protect'
/home/hurricup/RubymineProjects/untitled14/test.rb:5:in `<top (required)>'
/home/hurricup/RubymineProjects/untitled14/test.rb:3:in `bar'

-- Machine register context ------------------------------------------------
 RIP: 0x00007f644d65df15 RBP: 0x00007fff1c80a0b0 RSP: 0x00007fff1c80a070
 RAX: 0x0000000100000001 RBX: 0x0000555cf8237420 RCX: 0x0000555cf83347b0
 RDX: 0x00007fff1c80a210 RDI: 0x0000555cf7d638e0 RSI: 0x0000555cf83347b0
  R8: 0x0000000000000000  R9: 0x0000000000000000 R10: 0x00007f644bfe82c9
 R11: 0x0000000000000000 R12: 0x0000555cf7742120 R13: 0x00007fff1c80c660
 R14: 0x0000555cf8237430 R15: 0x00007f644c0e7e50 EFL: 0x0000000000010202

-- C level backtrace information -------------------------------------------
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(rb_print_backtrace+0x20) [0x7f644d65b7d3] vm_dump.c:759
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(rb_vm_bugreport+0xd2) [0x7f644d65bcc4] vm_dump.c:1045
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(rb_bug_for_fatal_signal+0x12c) [0x7f644d4161df] error.c:821
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(sigsegv+0x74) [0x7f644d5a1cd5] signal.c:964
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(sigill) (null):0
/lib/x86_64-linux-gnu/libpthread.so.0(__restore_rt+0x0) [0x7f644d2ef3c0] ../sysdeps/pthread/funlockfile.c:28
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(exec_hooks_body+0x2d) [0x7f644d65df15] vm_trace.c:323
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(exec_hooks_protected+0x14d) [0x7f644d65e24b] vm_trace.c:378
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(rb_exec_event_hooks+0x132) [0x7f644d65e3ea] vm_trace.c:422
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(rb_exec_event_hook_orig+0xa4) [0x7f644d61d80b] vm_core.h:2052
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(vm_trace_hook+0xfe) [0x7f644d6356fd] vm_insnhelper.c:5594
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(vm_trace+0x2d0) [0x7f644d635a87] vm_insnhelper.c:5697
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(vm_exec_core+0x871c) [0x7f644d63ed44] vm.inc:5088
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(rb_vm_exec+0x149) [0x7f644d650c52] vm.c:2211
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(rb_iseq_eval+0x42) [0x7f644d651a18] vm.c:2458
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(load_iseq_eval+0xe3) [0x7f644d48e365] load.c:656
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(rb_load_internal+0x89) [0x7f644d48e630] load.c:717
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(rb_load+0x7e) [0x7f644d48e6c2] load.c:727
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(rb_load_protect+0x103) [0x7f644d48e7e0] load.c:737
/home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase_internals.so(Debase_load_protect+0x7f) [0x7f64489dccdf] debase_internals.c:213
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(call_cfunc_1+0x3f) [0x7f644d62ca40] vm_insnhelper.c:2723
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(vm_call_cfunc_with_frame+0x251) [0x7f644d62e087] vm_insnhelper.c:3037
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(vm_call_cfunc+0xb2) [0x7f644d62e24e] vm_insnhelper.c:3058
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(vm_call_method_each_type+0xf7) [0x7f644d6301ba] vm_insnhelper.c:3639
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(vm_call_method+0x9e) [0x7f644d6308ba] vm_insnhelper.c:3725
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(vm_call_general+0x2f) [0x7f644d630ab0] vm_insnhelper.c:3768
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(vm_sendish+0x1e7) [0x7f644d632df2] vm_insnhelper.c:4751
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(vm_exec_core+0x388a) [0x7f644d639eb2] insns.def:778
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(rb_vm_exec+0x19f) [0x7f644d650ca8] vm.c:2220
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(rb_iseq_eval_main+0x42) [0x7f644d651a64] vm.c:2469
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(rb_ec_exec_node+0x125) [0x7f644d4200bc] eval.c:280
/usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1(ruby_run_node+0x79) [0x7f644d42020c] eval.c:321
/usr/share/rvm/rubies/ruby-3.1.1-debug/bin/ruby(main+0x73) [0x555cf774227c] ./main.c:47

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

* Loaded script: /home/hurricup/RubymineProjects/untitled14/test.rb

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 fiber.so
    3 rational.so
    4 complex.so
    5 ruby2_keywords.rb
    6 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/enc/encdb.so
    7 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/enc/trans/transdb.so
    8 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/rbconfig.rb
    9 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/compatibility.rb
   10 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/defaults.rb
   11 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/deprecate.rb
   12 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/errors.rb
   13 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/unknown_command_spell_checker.rb
   14 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/exceptions.rb
   15 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/basic_specification.rb
   16 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/stub_specification.rb
   17 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/platform.rb
   18 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/version.rb
   19 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/requirement.rb
   20 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/util/list.rb
   21 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/specification.rb
   22 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/util.rb
   23 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/dependency.rb
   24 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/core_ext/kernel_gem.rb
   25 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/monitor.so
   26 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/monitor.rb
   27 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb
   28 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/core_ext/kernel_warn.rb
   29 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems.rb
   30 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/rubygems/path_support.rb
   31 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/error_highlight/version.rb
   32 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/error_highlight/base.rb
   33 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/error_highlight/formatter.rb
   34 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/error_highlight/core_ext.rb
   35 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/error_highlight.rb
   36 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/did_you_mean/version.rb
   37 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/did_you_mean/core_ext/name_error.rb
   38 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/did_you_mean/levenshtein.rb
   39 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/did_you_mean/jaro_winkler.rb
   40 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/did_you_mean/spell_checker.rb
   41 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
   42 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
   43 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/did_you_mean/spell_checkers/name_error_checkers.rb
   44 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/did_you_mean/spell_checkers/method_name_checker.rb
   45 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/did_you_mean/spell_checkers/key_error_checker.rb
   46 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/did_you_mean/spell_checkers/null_checker.rb
   47 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/did_you_mean/tree_spell_checker.rb
   48 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/did_you_mean/spell_checkers/require_path_checker.rb
   49 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/did_you_mean/spell_checkers/pattern_key_name_checker.rb
   50 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/did_you_mean/formatter.rb
   51 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/did_you_mean.rb
   52 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/optparse.rb
   53 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/ostruct.rb
   54 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/prettyprint.rb
   55 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/pp.rb
   56 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/stringio.so
   57 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/socket.so
   58 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/io/wait.so
   59 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/socket.rb
   60 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase_internals.so
   61 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase/version.rb
   62 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/set.rb
   63 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase/context.rb
   64 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase/file_filter.rb
   65 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase/debug_thread.rb
   66 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase/breakpoint.rb
   67 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/logger/version.rb
   68 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/logger/formatter.rb
   69 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/logger/period.rb
   70 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/logger/log_device.rb
   71 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/logger/severity.rb
   72 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/logger/errors.rb
   73 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/logger.rb
   74 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/mutex_m.rb
   75 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase.rb
   76 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/version.rb
   77 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/interface.rb
   78 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/thread_alias.rb
   79 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/helper.rb
   80 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/delegate.rb
   81 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/breakpoints.rb
   82 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/catchpoint.rb
   83 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/condition.rb
   84 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/control.rb
   85 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/enable.rb
   86 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/eval.rb
   87 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/ripper.so
   88 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/ripper/core.rb
   89 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/ripper/lexer.rb
   90 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/ripper/filter.rb
   91 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/ripper/sexp.rb
   92 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/ripper.rb
   93 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/irb/ruby-lex.rb
   94 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/expression_info.rb
   95 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/file_filtering.rb
   96 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/frame.rb
   97 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/inspect.rb
   98 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/jump.rb
   99 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/load.rb
  100 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/location.rb
  101 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/pause.rb
  102 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/set_type.rb
  103 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/stepping.rb
  104 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/threads.rb
  105 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/commands/variables.rb
  106 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/command.rb
  107 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/ide_processor.rb
  108 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/greeter.rb
  109 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/cgi/core.rb
  110 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/cgi/escape.so
  111 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/cgi/util.rb
  112 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/cgi/cookie.rb
  113 /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/cgi.rb
  114 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/xml_printer.rb
  115 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/event_processor.rb
  116 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide.rb
  117 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/multiprocess/pre_child.rb
  118 /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/ruby-debug-ide-3.0.0.beta.0/lib/ruby-debug-ide/multiprocess.rb

* Process memory map:

555cf7741000-555cf7742000 r--p 00000000 103:05 7190152                   /usr/share/rvm/rubies/ruby-3.1.1-debug/bin/ruby
555cf7742000-555cf7743000 r-xp 00001000 103:05 7190152                   /usr/share/rvm/rubies/ruby-3.1.1-debug/bin/ruby
555cf7743000-555cf7744000 r--p 00002000 103:05 7190152                   /usr/share/rvm/rubies/ruby-3.1.1-debug/bin/ruby
555cf7744000-555cf7745000 r--p 00002000 103:05 7190152                   /usr/share/rvm/rubies/ruby-3.1.1-debug/bin/ruby
555cf7745000-555cf7746000 rw-p 00003000 103:05 7190152                   /usr/share/rvm/rubies/ruby-3.1.1-debug/bin/ruby
555cf7d5f000-555cf83dd000 rw-p 00000000 00:00 0                          [heap]
7f643c000000-7f643c021000 rw-p 00000000 00:00 0 
7f643c021000-7f6440000000 ---p 00000000 00:00 0 
7f64421aa000-7f644323e000 r--s 00000000 103:05 6704169                   /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.31.so
7f644323e000-7f644342e000 r--s 00000000 103:05 15753292                  /lib/x86_64-linux-gnu/libc-2.31.so
7f644342e000-7f64434c0000 r--s 00000000 103:05 5991955                   /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase_internals.so
7f64434c0000-7f6443734000 r--s 00000000 103:05 6704159                   /usr/lib/debug/.build-id/f0/983025f0e0f327a6da752ff4ffa675e0be393f.debug
7f6443734000-7f6443842000 rw-p 00000000 00:00 0 
7f6443842000-7f6444000000 r--s 00000000 103:05 7190579                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1.1
7f6444000000-7f6444021000 rw-p 00000000 00:00 0 
7f6444021000-7f6448000000 ---p 00000000 00:00 0 
7f6448003000-7f6448439000 rw-p 00000000 00:00 0 
7f6448439000-7f644846b000 r--s 00000000 103:05 7190152                   /usr/share/rvm/rubies/ruby-3.1.1-debug/bin/ruby
7f644846b000-7f644846e000 r--p 00000000 103:05 15728729                  /lib/x86_64-linux-gnu/libgcc_s.so.1
7f644846e000-7f6448480000 r-xp 00003000 103:05 15728729                  /lib/x86_64-linux-gnu/libgcc_s.so.1
7f6448480000-7f6448483000 r--p 00015000 103:05 15728729                  /lib/x86_64-linux-gnu/libgcc_s.so.1
7f6448483000-7f6448484000 ---p 00018000 103:05 15728729                  /lib/x86_64-linux-gnu/libgcc_s.so.1
7f6448484000-7f6448485000 r--p 00018000 103:05 15728729                  /lib/x86_64-linux-gnu/libgcc_s.so.1
7f6448485000-7f6448486000 rw-p 00019000 103:05 15728729                  /lib/x86_64-linux-gnu/libgcc_s.so.1
7f644848d000-7f64484b4000 r--s 00000000 103:05 15753305                  /lib/x86_64-linux-gnu/libpthread-2.31.so
7f64484b4000-7f64484e0000 rw-p 00000000 00:00 0 
7f64484e3000-7f64484e4000 ---p 00000000 00:00 0 
7f64484e4000-7f64486fc000 rw-p 00000000 00:00 0 
7f64486ff000-7f6448700000 ---p 00000000 00:00 0 
7f6448700000-7f6448944000 rw-p 00000000 00:00 0 
7f6448944000-7f6448946000 r--p 00000000 103:05 7190592                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/cgi/escape.so
7f6448946000-7f6448948000 r-xp 00002000 103:05 7190592                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/cgi/escape.so
7f6448948000-7f644894a000 r--p 00004000 103:05 7190592                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/cgi/escape.so
7f644894a000-7f644894b000 r--p 00005000 103:05 7190592                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/cgi/escape.so
7f644894b000-7f644894c000 rw-p 00006000 103:05 7190592                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/cgi/escape.so
7f644894c000-7f6448950000 rw-p 00000000 00:00 0 
7f6448951000-7f6448957000 r--p 00000000 103:05 7190679                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/ripper.so
7f6448957000-7f644897b000 r-xp 00006000 103:05 7190679                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/ripper.so
7f644897b000-7f6448995000 r--p 0002a000 103:05 7190679                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/ripper.so
7f6448995000-7f6448997000 r--p 00043000 103:05 7190679                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/ripper.so
7f6448997000-7f6448998000 rw-p 00045000 103:05 7190679                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/ripper.so
7f6448998000-7f64489cc000 rw-p 00000000 00:00 0 
7f64489ce000-7f64489d0000 r--p 00000000 103:05 5991955                   /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase_internals.so
7f64489d0000-7f64489e3000 r-xp 00002000 103:05 5991955                   /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase_internals.so
7f64489e3000-7f6448a01000 r--p 00015000 103:05 5991955                   /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase_internals.so
7f6448a01000-7f6448a02000 ---p 00033000 103:05 5991955                   /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase_internals.so
7f6448a02000-7f6448a03000 r--p 00033000 103:05 5991955                   /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase_internals.so
7f6448a03000-7f6448a04000 rw-p 00034000 103:05 5991955                   /home/hurricup/.rvm/gems/ruby-3.1.1-debug@debase30/gems/debase-3.0.0.beta.1/lib/debase_internals.so
7f6448a04000-7f6448a08000 rw-p 00000000 00:00 0 
7f6448a0b000-7f6448a0c000 r--p 00000000 103:05 7190584                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/io/wait.so
7f6448a0c000-7f6448a0d000 r-xp 00001000 103:05 7190584                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/io/wait.so
7f6448a0d000-7f6448a0e000 r--p 00002000 103:05 7190584                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/io/wait.so
7f6448a0e000-7f6448a0f000 r--p 00002000 103:05 7190584                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/io/wait.so
7f6448a0f000-7f6448a10000 rw-p 00003000 103:05 7190584                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/io/wait.so
7f6448a10000-7f6448a1c000 rw-p 00000000 00:00 0 
7f6448a1f000-7f6448a25000 r--p 00000000 103:05 7190601                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/socket.so
7f6448a25000-7f6448a53000 r-xp 00006000 103:05 7190601                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/socket.so
7f6448a53000-7f6448a5e000 r--p 00034000 103:05 7190601                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/socket.so
7f6448a5e000-7f6448a5f000 r--p 0003e000 103:05 7190601                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/socket.so
7f6448a5f000-7f6448a60000 rw-p 0003f000 103:05 7190601                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/socket.so
7f6448a60000-7f6448a74000 rw-p 00000000 00:00 0 
7f6448a74000-7f6448a76000 r--p 00000000 103:05 7190593                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/stringio.so
7f6448a76000-7f6448a7c000 r-xp 00002000 103:05 7190593                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/stringio.so
7f6448a7c000-7f6448a7e000 r--p 00008000 103:05 7190593                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/stringio.so
7f6448a7e000-7f6448a7f000 r--p 00009000 103:05 7190593                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/stringio.so
7f6448a7f000-7f6448a80000 rw-p 0000a000 103:05 7190593                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/stringio.so
7f6448a80000-7f6448a84000 rw-p 00000000 00:00 0 
7f6448a87000-7f6448a88000 r--p 00000000 103:05 7190596                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/monitor.so
7f6448a88000-7f6448a89000 r-xp 00001000 103:05 7190596                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/monitor.so
7f6448a89000-7f6448a8a000 r--p 00002000 103:05 7190596                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/monitor.so
7f6448a8a000-7f6448a8b000 r--p 00002000 103:05 7190596                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/monitor.so
7f6448a8b000-7f6448a8c000 rw-p 00003000 103:05 7190596                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/monitor.so
7f6448a8c000-7f6448b00000 rw-p 00000000 00:00 0 
7f6448b02000-7f6448b03000 r--p 00000000 103:05 7190640                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/enc/trans/transdb.so
7f6448b03000-7f6448b05000 r-xp 00001000 103:05 7190640                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/enc/trans/transdb.so
7f6448b05000-7f6448b06000 r--p 00003000 103:05 7190640                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/enc/trans/transdb.so
7f6448b06000-7f6448b07000 r--p 00003000 103:05 7190640                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/enc/trans/transdb.so
7f6448b07000-7f6448b08000 rw-p 00004000 103:05 7190640                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/enc/trans/transdb.so
7f6448b08000-7f6448b09000 ---p 00000000 00:00 0 
7f6448b09000-7f6448baa000 rw-p 00000000 00:00 0 
7f6448baa000-7f6448bab000 ---p 00000000 00:00 0 
7f6448bab000-7f6448c4c000 rw-p 00000000 00:00 0 
7f6448c4c000-7f6448c4d000 ---p 00000000 00:00 0 
7f6448c4d000-7f6448cee000 rw-p 00000000 00:00 0 
7f6448cee000-7f6448cef000 ---p 00000000 00:00 0 
7f6448cef000-7f6448d90000 rw-p 00000000 00:00 0 
7f6448d90000-7f6448d91000 ---p 00000000 00:00 0 
7f6448d91000-7f6448e32000 rw-p 00000000 00:00 0 
7f6448e32000-7f6448e33000 ---p 00000000 00:00 0 
7f6448e33000-7f6448ed4000 rw-p 00000000 00:00 0 
7f6448ed4000-7f6448ed5000 ---p 00000000 00:00 0 
7f6448ed5000-7f6448f76000 rw-p 00000000 00:00 0 
7f6448f76000-7f6448f77000 ---p 00000000 00:00 0 
7f6448f77000-7f6449018000 rw-p 00000000 00:00 0 
7f6449018000-7f6449019000 ---p 00000000 00:00 0 
7f6449019000-7f64490ba000 rw-p 00000000 00:00 0 
7f64490ba000-7f64490bb000 ---p 00000000 00:00 0 
7f64490bb000-7f644915c000 rw-p 00000000 00:00 0 
7f644915c000-7f644915d000 ---p 00000000 00:00 0 
7f644915d000-7f64491fe000 rw-p 00000000 00:00 0 
7f64491fe000-7f64491ff000 ---p 00000000 00:00 0 
7f64491ff000-7f64492a0000 rw-p 00000000 00:00 0 
7f64492a0000-7f64492a1000 ---p 00000000 00:00 0 
7f64492a1000-7f6449342000 rw-p 00000000 00:00 0 
7f6449342000-7f6449343000 ---p 00000000 00:00 0 
7f6449343000-7f64493e4000 rw-p 00000000 00:00 0 
7f64493e4000-7f64493e5000 ---p 00000000 00:00 0 
7f64493e5000-7f6449486000 rw-p 00000000 00:00 0 
7f6449486000-7f6449487000 ---p 00000000 00:00 0 
7f6449487000-7f6449528000 rw-p 00000000 00:00 0 
7f6449528000-7f6449529000 ---p 00000000 00:00 0 
7f6449529000-7f64495ca000 rw-p 00000000 00:00 0 
7f64495ca000-7f64495cb000 ---p 00000000 00:00 0 
7f64495cb000-7f644966c000 rw-p 00000000 00:00 0 
7f644966c000-7f644966d000 ---p 00000000 00:00 0 
7f644966d000-7f644970e000 rw-p 00000000 00:00 0 
7f644970e000-7f644970f000 ---p 00000000 00:00 0 
7f644970f000-7f64497b0000 rw-p 00000000 00:00 0 
7f64497b0000-7f64497b1000 ---p 00000000 00:00 0 
7f64497b1000-7f6449852000 rw-p 00000000 00:00 0 
7f6449852000-7f6449853000 ---p 00000000 00:00 0 
7f6449853000-7f64498f4000 rw-p 00000000 00:00 0 
7f64498f4000-7f64498f5000 ---p 00000000 00:00 0 
7f64498f5000-7f6449996000 rw-p 00000000 00:00 0 
7f6449996000-7f6449997000 ---p 00000000 00:00 0 
7f6449997000-7f6449a38000 rw-p 00000000 00:00 0 
7f6449a38000-7f6449a39000 ---p 00000000 00:00 0 
7f6449a39000-7f6449ada000 rw-p 00000000 00:00 0 
7f6449ada000-7f6449adb000 ---p 00000000 00:00 0 
7f6449adb000-7f6449b7c000 rw-p 00000000 00:00 0 
7f6449b7c000-7f6449b7d000 ---p 00000000 00:00 0 
7f6449b7d000-7f6449c1e000 rw-p 00000000 00:00 0 
7f6449c1e000-7f6449c1f000 ---p 00000000 00:00 0 
7f6449c1f000-7f6449cc0000 rw-p 00000000 00:00 0 
7f6449cc0000-7f6449cc1000 ---p 00000000 00:00 0 
7f6449cc1000-7f6449d62000 rw-p 00000000 00:00 0 
7f6449d62000-7f6449d63000 ---p 00000000 00:00 0 
7f6449d63000-7f6449e04000 rw-p 00000000 00:00 0 
7f6449e04000-7f6449e05000 ---p 00000000 00:00 0 
7f6449e05000-7f6449ea6000 rw-p 00000000 00:00 0 
7f6449ea6000-7f6449ea7000 ---p 00000000 00:00 0 
7f6449ea7000-7f644bf48000 rw-p 00000000 00:00 0 
7f644bf48000-7f644bf4f000 r--s 00000000 103:05 6992150                   /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache
7f644bf4f000-7f644c0e9000 rw-p 00000000 00:00 0 
7f644c0e9000-7f644cec7000 r--p 00000000 103:05 6686869                   /usr/lib/locale/locale-archive
7f644cec7000-7f644cec9000 rw-p 00000000 00:00 0 
7f644cec9000-7f644ceeb000 r--p 00000000 103:05 15753292                  /lib/x86_64-linux-gnu/libc-2.31.so
7f644ceeb000-7f644d063000 r-xp 00022000 103:05 15753292                  /lib/x86_64-linux-gnu/libc-2.31.so
7f644d063000-7f644d0b1000 r--p 0019a000 103:05 15753292                  /lib/x86_64-linux-gnu/libc-2.31.so
7f644d0b1000-7f644d0b5000 r--p 001e7000 103:05 15753292                  /lib/x86_64-linux-gnu/libc-2.31.so
7f644d0b5000-7f644d0b7000 rw-p 001eb000 103:05 15753292                  /lib/x86_64-linux-gnu/libc-2.31.so
7f644d0b7000-7f644d0bb000 rw-p 00000000 00:00 0 
7f644d0bb000-7f644d0c8000 r--p 00000000 103:05 15753294                  /lib/x86_64-linux-gnu/libm-2.31.so
7f644d0c8000-7f644d16f000 r-xp 0000d000 103:05 15753294                  /lib/x86_64-linux-gnu/libm-2.31.so
7f644d16f000-7f644d208000 r--p 000b4000 103:05 15753294                  /lib/x86_64-linux-gnu/libm-2.31.so
7f644d208000-7f644d209000 r--p 0014c000 103:05 15753294                  /lib/x86_64-linux-gnu/libm-2.31.so
7f644d209000-7f644d20a000 rw-p 0014d000 103:05 15753294                  /lib/x86_64-linux-gnu/libm-2.31.so
7f644d20a000-7f644d20c000 r--p 00000000 103:05 15755984                  /lib/x86_64-linux-gnu/libcrypt.so.1.1.0
7f644d20c000-7f644d221000 r-xp 00002000 103:05 15755984                  /lib/x86_64-linux-gnu/libcrypt.so.1.1.0
7f644d221000-7f644d23b000 r--p 00017000 103:05 15755984                  /lib/x86_64-linux-gnu/libcrypt.so.1.1.0
7f644d23b000-7f644d23c000 r--p 00030000 103:05 15755984                  /lib/x86_64-linux-gnu/libcrypt.so.1.1.0
7f644d23c000-7f644d23d000 rw-p 00031000 103:05 15755984                  /lib/x86_64-linux-gnu/libcrypt.so.1.1.0
7f644d23d000-7f644d247000 rw-p 00000000 00:00 0 
7f644d247000-7f644d248000 r--p 00000000 103:05 15753293                  /lib/x86_64-linux-gnu/libdl-2.31.so
7f644d248000-7f644d24a000 r-xp 00001000 103:05 15753293                  /lib/x86_64-linux-gnu/libdl-2.31.so
7f644d24a000-7f644d24b000 r--p 00003000 103:05 15753293                  /lib/x86_64-linux-gnu/libdl-2.31.so
7f644d24b000-7f644d24c000 r--p 00003000 103:05 15753293                  /lib/x86_64-linux-gnu/libdl-2.31.so
7f644d24c000-7f644d24d000 rw-p 00004000 103:05 15753293                  /lib/x86_64-linux-gnu/libdl-2.31.so
7f644d24d000-7f644d257000 r--p 00000000 103:05 6698588                   /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.0
7f644d257000-7f644d2b7000 r-xp 0000a000 103:05 6698588                   /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.0
7f644d2b7000-7f644d2ce000 r--p 0006a000 103:05 6698588                   /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.0
7f644d2ce000-7f644d2cf000 ---p 00081000 103:05 6698588                   /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.0
7f644d2cf000-7f644d2d0000 r--p 00081000 103:05 6698588                   /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.0
7f644d2d0000-7f644d2d1000 rw-p 00082000 103:05 6698588                   /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.0
7f644d2d1000-7f644d2d3000 r--p 00000000 103:05 15753307                  /lib/x86_64-linux-gnu/librt-2.31.so
7f644d2d3000-7f644d2d7000 r-xp 00002000 103:05 15753307                  /lib/x86_64-linux-gnu/librt-2.31.so
7f644d2d7000-7f644d2d9000 r--p 00006000 103:05 15753307                  /lib/x86_64-linux-gnu/librt-2.31.so
7f644d2d9000-7f644d2da000 r--p 00007000 103:05 15753307                  /lib/x86_64-linux-gnu/librt-2.31.so
7f644d2da000-7f644d2db000 rw-p 00008000 103:05 15753307                  /lib/x86_64-linux-gnu/librt-2.31.so
7f644d2db000-7f644d2e1000 r--p 00000000 103:05 15753305                  /lib/x86_64-linux-gnu/libpthread-2.31.so
7f644d2e1000-7f644d2f2000 r-xp 00006000 103:05 15753305                  /lib/x86_64-linux-gnu/libpthread-2.31.so
7f644d2f2000-7f644d2f8000 r--p 00017000 103:05 15753305                  /lib/x86_64-linux-gnu/libpthread-2.31.so
7f644d2f8000-7f644d2f9000 r--p 0001c000 103:05 15753305                  /lib/x86_64-linux-gnu/libpthread-2.31.so
7f644d2f9000-7f644d2fa000 rw-p 0001d000 103:05 15753305                  /lib/x86_64-linux-gnu/libpthread-2.31.so
7f644d2fa000-7f644d2fe000 rw-p 00000000 00:00 0 
7f644d2fe000-7f644d300000 r--p 00000000 103:05 15753486                  /lib/x86_64-linux-gnu/libz.so.1.2.11
7f644d300000-7f644d311000 r-xp 00002000 103:05 15753486                  /lib/x86_64-linux-gnu/libz.so.1.2.11
7f644d311000-7f644d317000 r--p 00013000 103:05 15753486                  /lib/x86_64-linux-gnu/libz.so.1.2.11
7f644d317000-7f644d318000 ---p 00019000 103:05 15753486                  /lib/x86_64-linux-gnu/libz.so.1.2.11
7f644d318000-7f644d319000 r--p 00019000 103:05 15753486                  /lib/x86_64-linux-gnu/libz.so.1.2.11
7f644d319000-7f644d31a000 rw-p 0001a000 103:05 15753486                  /lib/x86_64-linux-gnu/libz.so.1.2.11
7f644d31a000-7f644d31b000 r--p 00000000 103:05 7190655                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/enc/encdb.so
7f644d31b000-7f644d31d000 r-xp 00001000 103:05 7190655                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/enc/encdb.so
7f644d31d000-7f644d31e000 r--p 00003000 103:05 7190655                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/enc/encdb.so
7f644d31e000-7f644d31f000 r--p 00003000 103:05 7190655                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/enc/encdb.so
7f644d31f000-7f644d320000 rw-p 00004000 103:05 7190655                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/ruby/3.1.0/x86_64-linux/enc/encdb.so
7f644d320000-7f644d348000 rw-p 00000000 00:00 0 
7f644d348000-7f644d37b000 r--p 00000000 103:05 7190579                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1.1
7f644d37b000-7f644d695000 r-xp 00033000 103:05 7190579                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1.1
7f644d695000-7f644d809000 r--p 0034d000 103:05 7190579                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1.1
7f644d809000-7f644d80a000 ---p 004c1000 103:05 7190579                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1.1
7f644d80a000-7f644d811000 r--p 004c1000 103:05 7190579                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1.1
7f644d811000-7f644d815000 rw-p 004c8000 103:05 7190579                   /usr/share/rvm/rubies/ruby-3.1.1-debug/lib/libruby.so.3.1.1
7f644d815000-7f644d82b000 rw-p 00000000 00:00 0 
7f644d82b000-7f644d82c000 r--p 00000000 103:05 15753288                  /lib/x86_64-linux-gnu/ld-2.31.so
7f644d82c000-7f644d84f000 r-xp 00001000 103:05 15753288                  /lib/x86_64-linux-gnu/ld-2.31.so
7f644d84f000-7f644d857000 r--p 00024000 103:05 15753288                  /lib/x86_64-linux-gnu/ld-2.31.so
7f644d858000-7f644d859000 r--p 0002c000 103:05 15753288                  /lib/x86_64-linux-gnu/ld-2.31.so
7f644d859000-7f644d85a000 rw-p 0002d000 103:05 15753288                  /lib/x86_64-linux-gnu/ld-2.31.so
7f644d85a000-7f644d85b000 rw-p 00000000 00:00 0 
7fff1c010000-7fff1c80f000 rw-p 00000000 00:00 0                          [stack]
7fff1c952000-7fff1c955000 r--p 00000000 00:00 0                          [vvar]
7fff1c955000-7fff1c956000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0                  [vsyscall]



Process finished with exit code 134 (interrupted by signal 6: SIGABRT)

gdb output:

Debugger attached to process 50671
Signal: SIGSEGV (Segmentation fault)
Signal: SIGINT (Interrupt)
Signal: SIGABRT (Aborted)
Debugger detached

Files

clipboard-202204291329-tuevd.png (83.5 KB) clipboard-202204291329-tuevd.png hurricup (Alexandr Evstigneev), 04/29/2022 10:29 AM
clipboard-202204291332-nymdc.png (41.9 KB) clipboard-202204291332-nymdc.png hurricup (Alexandr Evstigneev), 04/29/2022 10:32 AM
Actions #1

Updated by hurricup (Alexandr Evstigneev) about 1 month ago

  • Description updated (diff)

Updated by jeremyevans0 (Jeremy Evans) 27 days ago

  • Status changed from Open to Feedback

Can you try https://github.com/ruby/ruby/pull/5862 and see if that fixes the issue? I'm not sure it will, but the segfault in your backtrace occurs in exec_hooks_body, the same place the segfault occurs in the test included in https://github.com/ruby/ruby/pull/5862, before the changes to fix the use-after-free issue.

Updated by hurricup (Alexandr Evstigneev) 27 days ago

jeremyevans0 (Jeremy Evans) wrote in #note-2:

Can you try https://github.com/ruby/ruby/pull/5862 and see if that fixes the issue? I'm not sure it will, but the segfault in your backtrace occurs in exec_hooks_body, the same place the segfault occurs in the test included in https://github.com/ruby/ruby/pull/5862, before the changes to fix the use-after-free issue.

I built ruby from your branch. But now I getting segfault while inspecting ec, because of some broken cfp:

Unsure if this is related to your change or something else from master. I'll try to pick your changes to some stable branch and build from there.

Updated by hurricup (Alexandr Evstigneev) 27 days ago

jeremyevans0 (Jeremy Evans) wrote in #note-2:

Can you try https://github.com/ruby/ruby/pull/5862 and see if that fixes the issue? I'm not sure it will, but the segfault in your backtrace occurs in exec_hooks_body, the same place the segfault occurs in the test included in https://github.com/ruby/ruby/pull/5862, before the changes to fix the use-after-free issue.

Built ruby 3.1 with your patch from https://github.com/hurricup/ruby/tree/hurricup/segfault-fix-from-master
Could not reproduce the issue, so most likely it was the same.
Feels like it should be backported.

Actions

Also available in: Atom PDF