Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix test suite on platforms without compaction support #355

Merged
merged 1 commit into from
Nov 21, 2023

Conversation

casperisfine
Copy link

Fix: #354

@byroot byroot merged commit e52d18b into msgpack:master Nov 21, 2023
16 checks passed
@matoro
Copy link

matoro commented Nov 21, 2023

Hi, I noted in #354 that this seemed the obvious fix to me and so I had already tried it, but this commit causes the test suite to hang. Output is just:

buffer_io random seed: 0x6bcdeddedff9306664eb005489b573d6
buffer random seed: 0x7c581d44e0ab7455e52e90c9ce3a4d82

and then it spins chewing one CPU core.

@byroot
Copy link
Member

byroot commented Nov 21, 2023

If you remove the auto_compact = true call entirely, does it work?

If so I'm happy to take a PR that detect your environment and just skips this part.

@matoro
Copy link

matoro commented Nov 21, 2023

If you remove the auto_compact = true call entirely, does it work?

If so I'm happy to take a PR that detect your environment and just skips this part.

Hmmm, no it still hangs, so this must not be the cause. I provide free shell access to all of the machines I use to reproduce these bugs on, would this be useful to look into it?

@casperisfine
Copy link
Author

would this be useful to look into it?

I might if I have time to kill.

In the meantime, what happens if you send a SEGV signal? That should trigger the ruby crash report and give you a C-backtrace of where ruby is hanging.

@matoro
Copy link

matoro commented Nov 21, 2023

buffer_io random seed: 0xe525c194ce2761c3d31289ad88f8496e
buffer random seed: 0x7048b0d457a79ec49813f6cf97f9a8d6
/usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration.rb:2117: [BUG] Segmentation fault at 0x0000000000000000
ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [powerpc64le-linux]

-- Control frame information -----------------------------------------------
c:0013 p:---- s:0066 e:000065 CFUNC  :load
c:0012 p:0007 s:0061 e:000060 METHOD /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration.rb:2117
c:0011 p:0022 s:0052 e:000051 BLOCK  /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration.rb:1617 [FINISH]
c:0010 p:---- s:0047 e:000046 CFUNC  :each
c:0009 p:0017 s:0043 e:000042 METHOD /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration.rb:1615
c:0008 p:0036 s:0039 e:000038 METHOD /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/runner.rb:102
c:0007 p:0007 s:0033 e:000032 METHOD /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/runner.rb:86
c:0006 p:0065 s:0027 e:000026 METHOD /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/runner.rb:71
c:0005 p:0020 s:0019 e:000018 METHOD /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/runner.rb:45
c:0004 p:0025 s:0014 e:000013 TOP    /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/bin/rspec:4 [FINISH]
c:0003 p:---- s:0011 e:000010 CFUNC  :load
c:0002 p:0036 s:0006 e:000005 EVAL   /usr/bin/rspec-3:9 [FINISH]
c:0001 p:0000 s:0003 E:0009a0 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
/usr/bin/rspec-3:9:in `<main>'
/usr/bin/rspec-3:9:in `load'
/usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/bin/rspec:4:in `<top (required)>'
/usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/runner.rb:45:in `invoke'
/usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/runner.rb:71:in `run'
/usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/runner.rb:86:in `run'
/usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/runner.rb:102:in `setup'
/usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration.rb:1615:in `load_spec_files'
/usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration.rb:1615:in `each'
/usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration.rb:1617:in `block in load_spec_files'
/usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration.rb:2117:in `load_file_handling_errors'
/usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration.rb:2117:in `load'

-- C level backtrace information -------------------------------------------
/usr/lib64/libruby31.so.3.1(0x7fff956ee764) [0x7fff956ee764]
/usr/lib64/libruby31.so.3.1(0x7fff954e021c) [0x7fff954e021c]
/usr/lib64/libruby31.so.3.1(0x7fff95633148) [0x7fff95633148]
linux-vdso64.so.1(__kernel_sigtramp_rt64+0x0) [0x7fff95ab0424]
[0x7fff95516560]
/usr/lib64/libruby31.so.3.1(rb_imemo_new+0xd4) [0x7fff95516964]
[0x7fff955ab414]
[0x7fff955b41d4]
[0x7fff955bfbbc]
[0x7fff956f367c]
[0x7fff955b2174]
[0x7fff9562f920]
/usr/lib64/libruby31.so.3.1(rb_ensure+0xfc) [0x7fff954e9d3c]
[0x7fff9562f370]
[0x7fff9555b62c]
[0x7fff9555b7f0]
[0x7fff956b3cc8]
[0x7fff956c0dbc]
[0x7fff956dbb18]
[0x7fff956d36dc]
/usr/lib64/libruby31.so.3.1(rb_vm_exec+0xdc) [0x7fff956d8bdc]
[0x7fff956dcef4]
/usr/lib64/libruby31.so.3.1(rb_yield+0x94) [0x7fff956de2e4]
/usr/lib64/libruby31.so.3.1(rb_ary_each+0x54) [0x7fff95444354]
[0x7fff956b3d14]
[0x7fff956c0dbc]
[0x7fff956d59d0]
/usr/lib64/libruby31.so.3.1(rb_vm_exec+0xdc) [0x7fff956d8bdc]
/usr/lib64/libruby31.so.3.1(rb_iseq_eval+0xa4) [0x7fff956d9bb4]
[0x7fff9555b5d8]
[0x7fff9555b7f0]
[0x7fff956b3cc8]
[0x7fff956c0dbc]
[0x7fff956d36dc]
/usr/lib64/libruby31.so.3.1(rb_vm_exec+0xdc) [0x7fff956d8bdc]
/usr/lib64/libruby31.so.3.1(rb_iseq_eval_main+0xdc) [0x7fff956d9cdc]
[0x7fff954e7d80]
/usr/lib64/libruby31.so.3.1(ruby_run_node+0x7c) [0x7fff954ec40c]
[0x13c7d0a18]
[0x7fff95024b2c]
[0x7fff95024d6c]

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

* Loaded script: /usr/bin/rspec-3

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 fiber.so
    3 rational.so
    4 complex.so
    5 ruby2_keywords.rb
    6 /usr/lib64/ruby/3.1.0/powerpc64le-linux/enc/encdb.so
    7 /usr/lib64/ruby/3.1.0/powerpc64le-linux/enc/trans/transdb.so
    8 /usr/lib64/ruby/3.1.0/powerpc64le-linux/rbconfig.rb
    9 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/compatibility.rb
   10 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/defaults.rb
   11 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/deprecate.rb
   12 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/errors.rb
   13 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/unknown_command_spell_checker.rb
   14 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/exceptions.rb
   15 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/basic_specification.rb
   16 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/stub_specification.rb
   17 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/platform.rb
   18 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/util/list.rb
   19 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/version.rb
   20 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/requirement.rb
   21 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/specification.rb
   22 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/defaults/operating_system.rb
   23 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/util.rb
   24 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/dependency.rb
   25 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_gem.rb
   26 /usr/lib64/ruby/3.1.0/powerpc64le-linux/monitor.so
   27 /usr/lib64/ruby/3.1.0/monitor.rb
   28 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb
   29 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_warn.rb
   30 /usr/lib64/ruby/site_ruby/3.1.0/rubygems.rb
   31 /usr/lib64/ruby/site_ruby/3.1.0/rubygems/path_support.rb
   32 /usr/lib64/ruby/3.1.0/error_highlight/version.rb
   33 /usr/lib64/ruby/3.1.0/error_highlight/base.rb
   34 /usr/lib64/ruby/3.1.0/error_highlight/formatter.rb
   35 /usr/lib64/ruby/3.1.0/error_highlight/core_ext.rb
   36 /usr/lib64/ruby/3.1.0/error_highlight.rb
   37 /usr/lib64/ruby/gems/3.1.0/gems/did_you_mean-1.6.3/lib/did_you_mean/version.rb
   38 /usr/lib64/ruby/gems/3.1.0/gems/did_you_mean-1.6.3/lib/did_you_mean/core_ext/name_error.rb
   39 /usr/lib64/ruby/gems/3.1.0/gems/did_you_mean-1.6.3/lib/did_you_mean/levenshtein.rb
   40 /usr/lib64/ruby/gems/3.1.0/gems/did_you_mean-1.6.3/lib/did_you_mean/jaro_winkler.rb
   41 /usr/lib64/ruby/gems/3.1.0/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checker.rb
   42 /usr/lib64/ruby/gems/3.1.0/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
   43 /usr/lib64/ruby/gems/3.1.0/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
   44 /usr/lib64/ruby/gems/3.1.0/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checkers/name_error_checkers.rb
   45 /usr/lib64/ruby/gems/3.1.0/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checkers/method_name_checker.rb
   46 /usr/lib64/ruby/gems/3.1.0/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checkers/key_error_checker.rb
   47 /usr/lib64/ruby/gems/3.1.0/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checkers/null_checker.rb
   48 /usr/lib64/ruby/gems/3.1.0/gems/did_you_mean-1.6.3/lib/did_you_mean/tree_spell_checker.rb
   49 /usr/lib64/ruby/gems/3.1.0/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checkers/require_path_checker.rb
   50 /usr/lib64/ruby/gems/3.1.0/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checkers/pattern_key_name_checker.rb
   51 /usr/lib64/ruby/gems/3.1.0/gems/did_you_mean-1.6.3/lib/did_you_mean/formatter.rb
   52 /usr/lib64/ruby/gems/3.1.0/gems/did_you_mean-1.6.3/lib/did_you_mean.rb
   53 /usr/lib64/ruby/gems/3.1.0/gems/rspec-support-3.12.1/lib/rspec/support/version.rb
   54 /usr/lib64/ruby/gems/3.1.0/gems/rspec-support-3.12.1/lib/rspec/support/comparable_version.rb
   55 /usr/lib64/ruby/gems/3.1.0/gems/rspec-support-3.12.1/lib/rspec/support/ruby_features.rb
   56 /usr/lib64/ruby/gems/3.1.0/gems/rspec-support-3.12.1/lib/rspec/support.rb
   57 /usr/lib64/ruby/gems/3.1.0/gems/rspec-support-3.12.1/lib/rspec/support/caller_filter.rb
   58 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/version.rb
   59 /usr/lib64/ruby/gems/3.1.0/gems/rspec-support-3.12.1/lib/rspec/support/warnings.rb
   60 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/warnings.rb
   61 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/set.rb
   62 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/flat_map.rb
   63 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/filter_manager.rb
   64 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/dsl.rb
   65 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/console_codes.rb
   66 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/snippet_extractor.rb
   67 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/syntax_highlighter.rb
   68 /usr/lib64/ruby/gems/3.1.0/gems/rspec-support-3.12.1/lib/rspec/support/encoded_string.rb
   69 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/exception_presenter.rb
   70 /usr/lib64/ruby/3.1.0/shellwords.rb
   71 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/shell_escape.rb
   72 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/helpers.rb
   73 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/notifications.rb
   74 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/reporter.rb
   75 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/hooks.rb
   76 /usr/lib64/ruby/gems/3.1.0/gems/rspec-support-3.12.1/lib/rspec/support/reentrant_mutex.rb
   77 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/memoized_helpers.rb
   78 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/metadata.rb
   79 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/metadata_filter.rb
   80 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/pending.rb
   81 /usr/lib64/ruby/gems/3.1.0/gems/rspec-support-3.12.1/lib/rspec/support/directory_maker.rb
   82 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters.rb
   83 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/ordering.rb
   84 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/world.rb
   85 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/backtrace_formatter.rb
   86 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/ruby_project.rb
   87 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/deprecation_formatter.rb
   88 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/output_wrapper.rb
   89 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration.rb
   90 /usr/lib64/ruby/3.1.0/optparse.rb
   91 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/option_parser.rb
   92 /usr/lib64/ruby/3.1.0/powerpc64le-linux/cgi/escape.so
   93 /usr/lib64/ruby/3.1.0/cgi/util.rb
   94 /usr/lib64/ruby/3.1.0/erb/version.rb
   95 /usr/lib64/ruby/3.1.0/powerpc64le-linux/strscan.so
   96 /usr/lib64/ruby/3.1.0/erb.rb
   97 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration_options.rb
   98 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/runner.rb
   99 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/invocations.rb
  100 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/example.rb
  101 /usr/lib64/ruby/gems/3.1.0/gems/rspec-support-3.12.1/lib/rspec/support/matcher_definition.rb
  102 /usr/lib64/ruby/gems/3.1.0/gems/rspec-support-3.12.1/lib/rspec/support/method_signature_verifier.rb
  103 /usr/lib64/ruby/gems/3.1.0/gems/rspec-support-3.12.1/lib/rspec/support/with_keywords_when_needed.rb
  104 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/shared_example_group.rb
  105 /usr/lib64/ruby/gems/3.1.0/gems/rspec-support-3.12.1/lib/rspec/support/recursive_const_methods.rb
  106 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/example_group.rb
  107 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core.rb
  108 /usr/lib64/ruby/gems/3.1.0/gems/stringio-3.0.7/lib/stringio.so
  109 /usr/lib64/ruby/gems/3.1.0/gems/stringio-3.0.7/lib/stringio.rb
  110 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/base_formatter.rb
  111 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/base_text_formatter.rb
  112 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/progress_formatter.rb
  113 /usr/lib64/ruby/3.1.0/set.rb
  114 /usr/lib64/ruby/3.1.0/powerpc64le-linux/objspace.so
  115 /usr/lib64/ruby/3.1.0/objspace.rb
  116 /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/lib/msgpack/version.rb
  117 /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/lib/msgpack/msgpack.so
  118 /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/lib/msgpack/buffer.rb
  119 /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/lib/msgpack/packer.rb
  120 /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/lib/msgpack/unpacker.rb
  121 /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/lib/msgpack/factory.rb
  122 /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/lib/msgpack/symbol.rb
  123 /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/lib/msgpack/core_ext.rb
  124 /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/lib/msgpack/timestamp.rb
  125 /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/lib/msgpack/time.rb
  126 /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/lib/msgpack.rb
  127 /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/lib/msgpack/bigint.rb
  128 /usr/lib64/ruby/gems/3.1.0/gems/rspec-support-3.12.1/lib/rspec/support/object_formatter.rb
  129 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/english_phrasing.rb
  130 /usr/lib64/ruby/gems/3.1.0/gems/rspec-support-3.12.1/lib/rspec/support/fuzzy_matcher.rb
  131 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/composable.rb
  132 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/base_matcher.rb
  133 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in.rb
  134 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/generated_descriptions.rb
  135 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/dsl.rb
  136 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/matcher_delegator.rb
  137 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/aliased_matcher.rb
  138 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/expecteds_for_multiple_diffs.rb
  139 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers.rb
  140 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/expectation_target.rb
  141 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/syntax.rb
  142 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/configuration.rb
  143 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/fail_with.rb
  144 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/handler.rb
  145 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/version.rb
  146 /usr/lib64/ruby/gems/3.1.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations.rb
  147 /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/spec/spec_helper.rb
  148 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/instance_method_stasher.rb
  149 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/method_double.rb
  150 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/argument_matchers.rb
  151 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/object_reference.rb
  152 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/example_methods.rb
  153 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/proxy.rb
  154 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/test_double.rb
  155 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/argument_list_matcher.rb
  156 /usr/lib64/ruby/gems/3.1.0/gems/rspec-support-3.12.1/lib/rspec/support/mutex.rb
  157 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/message_expectation.rb
  158 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/order_group.rb
  159 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/error_generator.rb
  160 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/space.rb
  161 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/mutate_const.rb
  162 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/targets.rb
  163 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/syntax.rb
  164 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/configuration.rb
  165 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/verifying_message_expectation.rb
  166 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/method_reference.rb
  167 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/verifying_proxy.rb
  168 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/verifying_double.rb
  169 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/version.rb
  170 /usr/lib64/ruby/gems/3.1.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks.rb
  171 /usr/lib64/ruby/gems/3.1.0/gems/rspec-core-3.12.2/lib/rspec/core/mocking_adapters/rspec.rb
  172 /usr/lib64/ruby/gems/3.1.0/gems/json-2.6.3/lib/json/version.rb
  173 /usr/lib64/ruby/3.1.0/ostruct.rb
  174 /usr/lib64/ruby/gems/3.1.0/gems/json-2.6.3/lib/json/generic_object.rb
  175 /usr/lib64/ruby/gems/3.1.0/gems/json-2.6.3/lib/json/common.rb
  176 /usr/lib64/ruby/gems/3.1.0/extensions/powerpc64le-linux/3.1.0/json-2.6.3/json/ext/parser.so
  177 /usr/lib64/ruby/gems/3.1.0/extensions/powerpc64le-linux/3.1.0/json-2.6.3/json/ext/generator.so
  178 /usr/lib64/ruby/gems/3.1.0/gems/json-2.6.3/lib/json/ext.rb
  179 /usr/lib64/ruby/gems/3.1.0/gems/json-2.6.3/lib/json.rb
  180 /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/spec/random_compat.rb
  181 /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/spec/exttypes.rb

* Process memory map:

13c7d0000-13c7e0000 r-xp 00000000 07:00 273472                           /usr/bin/ruby31
13c7e0000-13c7f0000 r--p 00000000 07:00 273472                           /usr/bin/ruby31
13c7f0000-13c800000 rw-p 00010000 07:00 273472                           /usr/bin/ruby31
163710000-1643c0000 rw-p 00000000 00:00 0                                [heap]
7fff90800000-7fff90c30000 r--s 00000000 07:00 273473                     /usr/lib64/libruby31.so.3.1.4
7fff90d80000-7fff90da0000 r--s 00000000 07:00 273472                     /usr/bin/ruby31
7fff90da0000-7fff90dc0000 r-xp 00000000 07:00 394432                     /usr/lib/gcc/powerpc64le-unknown-linux-gnu/13/libgcc_s.so.1
7fff90dc0000-7fff90dd0000 r--p 00010000 07:00 394432                     /usr/lib/gcc/powerpc64le-unknown-linux-gnu/13/libgcc_s.so.1
7fff90dd0000-7fff90de0000 rw-p 00020000 07:00 394432                     /usr/lib/gcc/powerpc64le-unknown-linux-gnu/13/libgcc_s.so.1
7fff90df0000-7fff91000000 rw-p 00000000 00:00 0 
7fff91000000-7fff91010000 r-xp 00000000 07:00 68135                      /usr/lib64/ruby/gems/3.1.0/extensions/powerpc64le-linux/3.1.0/json-2.6.3/json/ext/generator.so
7fff91010000-7fff91020000 r--p 00000000 07:00 68135                      /usr/lib64/ruby/gems/3.1.0/extensions/powerpc64le-linux/3.1.0/json-2.6.3/json/ext/generator.so
7fff91020000-7fff91030000 rw-p 00010000 07:00 68135                      /usr/lib64/ruby/gems/3.1.0/extensions/powerpc64le-linux/3.1.0/json-2.6.3/json/ext/generator.so
7fff91030000-7fff91040000 r-xp 00000000 07:00 68133                      /usr/lib64/ruby/gems/3.1.0/extensions/powerpc64le-linux/3.1.0/json-2.6.3/json/ext/parser.so
7fff91040000-7fff91050000 r--p 00000000 07:00 68133                      /usr/lib64/ruby/gems/3.1.0/extensions/powerpc64le-linux/3.1.0/json-2.6.3/json/ext/parser.so
7fff91050000-7fff91060000 rw-p 00010000 07:00 68133                      /usr/lib64/ruby/gems/3.1.0/extensions/powerpc64le-linux/3.1.0/json-2.6.3/json/ext/parser.so
7fff91060000-7fff91080000 r-xp 00000000 07:00 69328                      /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/lib/msgpack/msgpack.so
7fff91080000-7fff91090000 r--p 00010000 07:00 69328                      /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/lib/msgpack/msgpack.so
7fff91090000-7fff910a0000 rw-p 00020000 07:00 69328                      /var/tmp/portage/dev-ruby/msgpack-1.7.2/work/ruby31/msgpack-ruby-1.7.2/lib/msgpack/msgpack.so
7fff910a0000-7fff910b0000 r-xp 00000000 07:00 273549                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/objspace.so
7fff910b0000-7fff910c0000 r--p 00000000 07:00 273549                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/objspace.so
7fff910c0000-7fff910d0000 rw-p 00010000 07:00 273549                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/objspace.so
7fff910d0000-7fff910e0000 r-xp 00000000 07:00 68439                      /usr/lib64/ruby/gems/3.1.0/gems/stringio-3.0.7/lib/stringio.so
7fff910e0000-7fff910f0000 r--p 00000000 07:00 68439                      /usr/lib64/ruby/gems/3.1.0/gems/stringio-3.0.7/lib/stringio.so
7fff910f0000-7fff91100000 rw-p 00010000 07:00 68439                      /usr/lib64/ruby/gems/3.1.0/gems/stringio-3.0.7/lib/stringio.so
7fff91100000-7fff91110000 r-xp 00000000 07:00 273567                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/strscan.so
7fff91110000-7fff91120000 r--p 00000000 07:00 273567                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/strscan.so
7fff91120000-7fff91130000 rw-p 00010000 07:00 273567                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/strscan.so
7fff91130000-7fff91140000 r-xp 00000000 07:00 273545                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/cgi/escape.so
7fff91140000-7fff91150000 r--p 00000000 07:00 273545                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/cgi/escape.so
7fff91150000-7fff91160000 rw-p 00010000 07:00 273545                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/cgi/escape.so
7fff91160000-7fff91170000 r-xp 00000000 07:00 273577                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/monitor.so
7fff91170000-7fff91180000 r--p 00000000 07:00 273577                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/monitor.so
7fff91180000-7fff91190000 rw-p 00010000 07:00 273577                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/monitor.so
7fff91190000-7fff911a0000 r-xp 00000000 07:00 273525                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/enc/trans/transdb.so
7fff911a0000-7fff911b0000 r--p 00000000 07:00 273525                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/enc/trans/transdb.so
7fff911b0000-7fff911c0000 rw-p 00010000 07:00 273525                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/enc/trans/transdb.so
7fff911c0000-7fff911d0000 r-xp 00000000 07:00 273502                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/enc/encdb.so
7fff911d0000-7fff911e0000 r--p 00000000 07:00 273502                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/enc/encdb.so
7fff911e0000-7fff911f0000 rw-p 00010000 07:00 273502                     /usr/lib64/ruby/3.1.0/powerpc64le-linux/enc/encdb.so
7fff911f0000-7fff91200000 ---p 00000000 00:00 0 
7fff91200000-7fff912b0000 rw-p 00000000 00:00 0 
7fff912b0000-7fff912c0000 ---p 00000000 00:00 0 
7fff912c0000-7fff91370000 rw-p 00000000 00:00 0 
7fff91370000-7fff91380000 ---p 00000000 00:00 0 
7fff91380000-7fff91430000 rw-p 00000000 00:00 0 
7fff91430000-7fff91440000 ---p 00000000 00:00 0 
7fff91440000-7fff914f0000 rw-p 00000000 00:00 0 
7fff914f0000-7fff91500000 ---p 00000000 00:00 0 
7fff91500000-7fff915b0000 rw-p 00000000 00:00 0 
7fff915b0000-7fff915c0000 ---p 00000000 00:00 0 
7fff915c0000-7fff91670000 rw-p 00000000 00:00 0 
7fff91670000-7fff91680000 ---p 00000000 00:00 0 
7fff91680000-7fff91730000 rw-p 00000000 00:00 0 
7fff91730000-7fff91740000 ---p 00000000 00:00 0 
7fff91740000-7fff917f0000 rw-p 00000000 00:00 0 
7fff917f0000-7fff91800000 ---p 00000000 00:00 0 
7fff91800000-7fff918b0000 rw-p 00000000 00:00 0 
7fff918b0000-7fff918c0000 ---p 00000000 00:00 0 
7fff918c0000-7fff91970000 rw-p 00000000 00:00 0 
7fff91970000-7fff91980000 ---p 00000000 00:00 0 
7fff91980000-7fff91a30000 rw-p 00000000 00:00 0 
7fff91a30000-7fff91a40000 ---p 00000000 00:00 0 
7fff91a40000-7fff91af0000 rw-p 00000000 00:00 0 
7fff91af0000-7fff91b00000 ---p 00000000 00:00 0 
7fff91b00000-7fff91bb0000 rw-p 00000000 00:00 0 
7fff91bb0000-7fff91bc0000 ---p 00000000 00:00 0 
7fff91bc0000-7fff91c70000 rw-p 00000000 00:00 0 
7fff91c70000-7fff91c80000 ---p 00000000 00:00 0 
7fff91c80000-7fff91d30000 rw-p 00000000 00:00 0 
7fff91d30000-7fff91d40000 ---p 00000000 00:00 0 
7fff91d40000-7fff91df0000 rw-p 00000000 00:00 0 
7fff91df0000-7fff91e00000 ---p 00000000 00:00 0 
7fff91e00000-7fff91eb0000 rw-p 00000000 00:00 0 
7fff91eb0000-7fff91ec0000 ---p 00000000 00:00 0 
7fff91ec0000-7fff91f70000 rw-p 00000000 00:00 0 
7fff91f70000-7fff91f80000 ---p 00000000 00:00 0 
7fff91f80000-7fff92030000 rw-p 00000000 00:00 0 
7fff92030000-7fff92040000 ---p 00000000 00:00 0 
7fff92040000-7fff920f0000 rw-p 00000000 00:00 0 
7fff920f0000-7fff92100000 ---p 00000000 00:00 0 
7fff92100000-7fff921b0000 rw-p 00000000 00:00 0 
7fff921b0000-7fff921c0000 ---p 00000000 00:00 0 
7fff921c0000-7fff92270000 rw-p 00000000 00:00 0 
7fff92270000-7fff92280000 ---p 00000000 00:00 0 
7fff92280000-7fff92330000 rw-p 00000000 00:00 0 
7fff92330000-7fff92340000 ---p 00000000 00:00 0 
7fff92340000-7fff923f0000 rw-p 00000000 00:00 0 
7fff923f0000-7fff92400000 ---p 00000000 00:00 0 
7fff92400000-7fff924b0000 rw-p 00000000 00:00 0 
7fff924b0000-7fff924c0000 ---p 00000000 00:00 0 
7fff924c0000-7fff92570000 rw-p 00000000 00:00 0 
7fff92570000-7fff92580000 ---p 00000000 00:00 0 
7fff92580000-7fff92630000 rw-p 00000000 00:00 0 
7fff92630000-7fff92640000 ---p 00000000 00:00 0 
7fff92640000-7fff926f0000 rw-p 00000000 00:00 0 
7fff926f0000-7fff92700000 ---p 00000000 00:00 0 
7fff92700000-7fff927b0000 rw-p 00000000 00:00 0 
7fff927b0000-7fff927c0000 ---p 00000000 00:00 0 
7fff927c0000-7fff92870000 rw-p 00000000 00:00 0 
7fff92870000-7fff92880000 ---p 00000000 00:00 0 
7fff92880000-7fff92930000 rw-p 00000000 00:00 0 
7fff92930000-7fff92940000 ---p 00000000 00:00 0 
7fff92940000-7fff94a00000 rw-p 00000000 00:00 0 
7fff94a00000-7fff94cf0000 r--p 00000000 07:00 441356                     /usr/lib/locale/locale-archive
7fff94cf0000-7fff95000000 rw-p 00000000 00:00 0 
7fff95000000-7fff95230000 r-xp 00000000 07:00 90                         /lib64/libc.so.6
7fff95230000-7fff95240000 r--p 00230000 07:00 90                         /lib64/libc.so.6
7fff95240000-7fff95250000 rw-p 00240000 07:00 90                         /lib64/libc.so.6
7fff95250000-7fff952c0000 rw-p 00000000 00:00 0 
7fff952c0000-7fff953e0000 r-xp 00000000 07:00 104                        /lib64/libm.so.6
7fff953e0000-7fff953f0000 r--p 00110000 07:00 104                        /lib64/libm.so.6
7fff953f0000-7fff95400000 rw-p 00120000 07:00 104                        /lib64/libm.so.6
7fff95400000-7fff95820000 r-xp 00000000 07:00 273473                     /usr/lib64/libruby31.so.3.1.4
7fff95820000-7fff95830000 r--p 00410000 07:00 273473                     /usr/lib64/libruby31.so.3.1.4
7fff95830000-7fff95840000 rw-p 00420000 07:00 273473                     /usr/lib64/libruby31.so.3.1.4
7fff95840000-7fff95850000 rw-p 00000000 00:00 0 
7fff95850000-7fff958e0000 rw-p 00000000 00:00 0 
7fff958e0000-7fff95920000 r-xp 00000000 07:00 96                         /lib64/libcrypt.so.2.0.0
7fff95920000-7fff95930000 r--p 00030000 07:00 96                         /lib64/libcrypt.so.2.0.0
7fff95930000-7fff95940000 rw-p 00040000 07:00 96                         /lib64/libcrypt.so.2.0.0
7fff95940000-7fff959e0000 r-xp 00000000 07:00 418875                     /usr/lib64/libgmp.so.10.5.0
7fff959e0000-7fff959f0000 r--p 00090000 07:00 418875                     /usr/lib64/libgmp.so.10.5.0
7fff959f0000-7fff95a00000 rw-p 000a0000 07:00 418875                     /usr/lib64/libgmp.so.10.5.0
7fff95a00000-7fff95a20000 r-xp 00000000 07:00 150                        /lib64/libz.so.1.3
7fff95a20000-7fff95a30000 r--p 00010000 07:00 150                        /lib64/libz.so.1.3
7fff95a30000-7fff95a40000 rw-p 00020000 07:00 150                        /lib64/libz.so.1.3
7fff95a40000-7fff95a60000 r-xp 00000000 07:00 418910                     /usr/lib64/libsandbox.so
7fff95a60000-7fff95a70000 r--p 00010000 07:00 418910                     /usr/lib64/libsandbox.so
7fff95a70000-7fff95a80000 rw-p 00020000 07:00 418910                     /usr/lib64/libsandbox.so
7fff95a80000-7fff95a90000 rw-p 00000000 00:00 0 
7fff95a90000-7fff95ab0000 r--p 00000000 00:00 0                          [vvar]
7fff95ab0000-7fff95ac0000 r-xp 00000000 00:00 0                          [vdso]
7fff95ac0000-7fff95b10000 r-xp 00000000 07:00 82                         /lib64/ld64.so.2
7fff95b10000-7fff95b20000 r--p 00040000 07:00 82                         /lib64/ld64.so.2
7fff95b20000-7fff95b30000 rw-p 00050000 07:00 82                         /lib64/ld64.so.2
7fffd2800000-7fffd3000000 rw-p 00000000 00:00 0                          [stack]

@byroot
Copy link
Member

byroot commented Nov 21, 2023

Thanks, ok so this is very weird. It's literally stuck loading the code, it hasn't even started the test suite yet.

I really have little idea what it could be.

@matoro
Copy link

matoro commented Nov 22, 2023

Recompiled everything with -O0, debug assertions, etc. Slightly better backtrace here - the exact line varies slightly depending on when I stop it, but everything up to the top 2 frames or so is consistent.

0x00007ffff7932a24 in heap_next_freepage (objspace=0x1000340e0, size_pool=0x100034108, heap=0x100034118) at gc.c:2392                                                                                                                            
2392        while (heap->free_pages == NULL) {                                                                                                                                                                                                   
(gdb) bt                                                                                                                                                                                                                                         
#0  0x00007ffff7932a24 in heap_next_freepage (objspace=0x1000340e0, size_pool=0x100034108, heap=0x100034118) at gc.c:2392                                                                                                                        
#1  0x00007ffff7932ba4 in ractor_cache_slots (objspace=0x1000340e0, cr=0x100034ed0, size_pool_idx=0) at gc.c:2429                                                                                                                                
#2  0x00007ffff7932ddc in newobj_slowpath (size_pool_idx=0, wb_protected=1, cr=0x100034ed0, objspace=0x1000340e0, flags=5, klass=4295926840) at gc.c:2489                                                                                        
#3  newobj_slowpath_wb_protected (klass=4295926840, flags=5, objspace=0x1000340e0, cr=0x100034ed0, size_pool_idx=0) at gc.c:2509                                                                                                                 
#4  0x00007ffff793327c in newobj_of0 (klass=4295926840, flags=5, wb_protected=1, cr=0x100034ed0, alloc_size=32) at gc.c:2550                                                                                                                     
#5  0x00007ffff7933330 in newobj_of (klass=4295926840, flags=5, v1=0, v2=0, v3=0, wb_protected=1, alloc_size=32) at gc.c:2560                                                                                                                    
#6  0x00007ffff79334c0 in rb_wb_protected_newobj_of (klass=4295926840, flags=5, size=32) at gc.c:2582                                                                                                                                            
#7  0x00007ffff7ae3d54 in str_alloc (klass=4295926840, size=32) at string.c:845                                                                                                                                                                  
#8  0x00007ffff7ae3dc8 in str_alloc_embed (klass=4295926840, capa=16) at string.c:858                                                                                                                                                            
#9  0x00007ffff7ae3f98 in str_new0 (klass=4295926840, ptr=0x100cb4860 "symbolized keys", len=15, termlen=1) at string.c:888                                                                                                                      
#10 0x00007ffff7ae43cc in rb_enc_str_new (ptr=0x100cb4860 "symbolized keys", len=15, enc=0x100037d60) at string.c:946                                                                                                                            
#11 0x00007ffff7a0f0b4 in parser_str_new (ptr=0x100cb4860 "symbolized keys", len=15, enc=0x100037d60, func=64, enc0=0x100037d60) at parse.y:6563                                                                                                 
#12 0x00007ffff7a12480 in parse_string (p=0x100cade80, quote=0x100048168) at parse.y:7523
#13 0x00007ffff7a18d94 in parser_yylex (p=0x100cade80) at parse.y:9268
#14 0x00007ffff7a1b8e8 in yylex (lval=0x7fffffff81e8, yylloc=0x7fffffff8360, p=0x100cade80) at parse.y:9971
#15 0x00007ffff7a00590 in ruby_yyparse (p=0x100cade80) at parse.c:7037
#16 0x00007ffff7a0e564 in yycompile0 (arg=4308262528) at parse.y:6357
#17 0x00007ffff7bc4e1c in rb_suppress_tracing (func=0x7ffff7a0e3b0 <yycompile0>, arg=4308262528) at vm_trace.c:463
#18 0x00007ffff7a0e8d8 in yycompile (vparser=4298150120, p=0x100cade80, fname=4298150200, line=1) at parse.y:6408
#19 0x00007ffff7a0eeec in rb_parser_compile_file_path (vparser=4298150120, fname=4298150200, file=4298149720, start=1) at parse.y:6511
#20 0x00007ffff7ac09cc in load_file_internal (argp_v=140737488331424) at ruby.c:2368
#21 0x00007ffff7917804 in rb_ensure (b_proc=0x7ffff7ac030c <load_file_internal>, data1=140737488331424, e_proc=0x7ffff7ac0e04 <restore_load_file>, data2=140737488331424) at eval.c:997
#22 0x00007ffff7ac0f2c in load_file (parser=4298150120, fname=4298150200, f=4298149720, script=0, opt=0x7fffffffa320) at ruby.c:2503
#23 0x00007ffff7ac10a8 in rb_parser_load_file (parser=4298150120, fname_v=4298150200) at ruby.c:2525
#24 0x00007ffff79b4fe0 in load_iseq_eval (ec=0x100034880, fname=4298150200) at load.c:654
#25 0x00007ffff79b5398 in rb_load_internal (fname=4298150200, wrap=8) at load.c:721
#26 0x00007ffff79b56f0 in rb_f_load (argc=1, argv=0x7ffff72f0200, _=4300223280) at load.c:796
#27 0x00007ffff7b860e8 in ractor_safe_call_cfunc_m1 (recv=4300223280, argc=1, argv=0x7ffff72f0200, func=0x7ffff79b55fc <rb_f_load>) at vm_insnhelper.c:2847
#28 0x00007ffff7b8734c in vm_call_cfunc_with_frame (ec=0x100034880, reg_cfp=0x7ffff73efd10, calling=0x7fffffffabc0) at vm_insnhelper.c:3037
#29 0x00007ffff7b8753c in vm_call_cfunc (ec=0x100034880, reg_cfp=0x7ffff73efd10, calling=0x7fffffffabc0) at vm_insnhelper.c:3058
#30 0x00007ffff7b89b18 in vm_call_method_each_type (ec=0x100034880, cfp=0x7ffff73efd10, calling=0x7fffffffabc0) at vm_insnhelper.c:3639
#31 0x00007ffff7b8a310 in vm_call_method (ec=0x100034880, cfp=0x7ffff73efd10, calling=0x7fffffffabc0) at vm_insnhelper.c:3736
#32 0x00007ffff7b88670 in vm_call_symbol (ec=0x100034880, reg_cfp=0x7ffff73efd10, calling=0x7fffffffabc0, ci=0xc0100140005, symbol=5681420) at vm_insnhelper.c:3263
#33 0x00007ffff7b88818 in vm_call_opt_send (ec=0x100034880, reg_cfp=0x7ffff73efd10, calling=0x7fffffffabc0) at vm_insnhelper.c:3303
#34 0x00007ffff7b8d50c in vm_sendish (ec=0x100034880, reg_cfp=0x7ffff73efd10, cd=0x1005bbba0, block_handler=0, method_explorer=mexp_search_method) at vm_insnhelper.c:4751
#35 0x00007ffff7b959c4 in vm_exec_core (ec=0x100034880, initial=0) at insns.def:778
#36 0x00007ffff7bb1948 in rb_vm_exec (ec=0x100034880, mjit_enable_p=true) at vm.c:2211
#37 0x00007ffff7badf10 in invoke_block (ec=0x100034880, iseq=0x100490290, self=4300223280, captured=0x7ffff73efde8, cref=0x0, type=572653569, opt_pc=0) at vm.c:1316
#38 0x00007ffff7bae2cc in invoke_iseq_block_from_c (me=0x0, is_lambda=0, cref=0x0, passed_block_handler=0, kw_splat=0, argv=0x7fffffffbf88, argc=1, self=4300223280, captured=0x7ffff73efde8, ec=0x100034880) at vm.c:1372
#39 invoke_block_from_c_bh (ec=0x100034880, block_handler=140737341488617, argc=1, argv=0x7fffffffbf88, kw_splat=0, passed_block_handler=0, cref=0x0, is_lambda=0, force_blockarg=0) at vm.c:1390
#40 0x00007ffff7bae4ec in vm_yield_with_cref (ec=0x100034880, argc=1, argv=0x7fffffffbf88, kw_splat=0, cref=0x0, is_lambda=0) at vm.c:1427
#41 0x00007ffff7bae570 in vm_yield (ec=0x100034880, argc=1, argv=0x7fffffffbf88, kw_splat=0) at vm.c:1435
#42 0x00007ffff7ba75b4 in rb_yield_0 (argc=1, argv=0x7fffffffbf88) at vm_eval.c:1347
#43 0x00007ffff7ba7684 in rb_yield (val=4301766320) at vm_eval.c:1363
#44 0x00007ffff784c130 in rb_ary_each (ary=4301763600) at array.c:2522
#45 0x00007ffff7b86164 in ractor_safe_call_cfunc_0 (recv=4301763600, argc=0, argv=0x7ffff72f0170, func=0x7ffff784c094 <rb_ary_each>) at vm_insnhelper.c:2854
#46 0x00007ffff7b8734c in vm_call_cfunc_with_frame (ec=0x100034880, reg_cfp=0x7ffff73efdd0, calling=0x7fffffffc230) at vm_insnhelper.c:3037
#47 0x00007ffff7b8d50c in vm_sendish (ec=0x100034880, reg_cfp=0x7ffff73efdd0, cd=0x100459770, block_handler=140737341488617, method_explorer=mexp_search_method) at vm_insnhelper.c:4751
#48 0x00007ffff7b9587c in vm_exec_core (ec=0x100034880, initial=0) at insns.def:759
#49 0x00007ffff7bb198c in rb_vm_exec (ec=0x100034880, mjit_enable_p=true) at vm.c:2220
#50 0x00007ffff7bb25e0 in rb_iseq_eval (iseq=0x100369ee8) at vm.c:2458
#51 0x00007ffff79b5064 in load_iseq_eval (ec=0x100034880, fname=4298547840) at load.c:660
#52 0x00007ffff79b5398 in rb_load_internal (fname=4298547840, wrap=8) at load.c:721
#53 0x00007ffff79b56f0 in rb_f_load (argc=1, argv=0x7ffff72f0048, _=4295951080) at load.c:796
#54 0x00007ffff7b860e8 in ractor_safe_call_cfunc_m1 (recv=4295951080, argc=1, argv=0x7ffff72f0048, func=0x7ffff79b55fc <rb_f_load>) at vm_insnhelper.c:2847
#55 0x00007ffff7b8734c in vm_call_cfunc_with_frame (ec=0x100034880, reg_cfp=0x7ffff73eff90, calling=0x7fffffffd9f0) at vm_insnhelper.c:3037
#56 0x00007ffff7b8753c in vm_call_cfunc (ec=0x100034880, reg_cfp=0x7ffff73eff90, calling=0x7fffffffd9f0) at vm_insnhelper.c:3058
#57 0x00007ffff7b89b18 in vm_call_method_each_type (ec=0x100034880, cfp=0x7ffff73eff90, calling=0x7fffffffd9f0) at vm_insnhelper.c:3639
#58 0x00007ffff7b8a310 in vm_call_method (ec=0x100034880, cfp=0x7ffff73eff90, calling=0x7fffffffd9f0) at vm_insnhelper.c:3736
#59 0x00007ffff7b8a4cc in vm_call_general (ec=0x100034880, reg_cfp=0x7ffff73eff90, calling=0x7fffffffd9f0) at vm_insnhelper.c:3768
#60 0x00007ffff7b8d50c in vm_sendish (ec=0x100034880, reg_cfp=0x7ffff73eff90, cd=0x10017ee60, block_handler=0, method_explorer=mexp_search_method) at vm_insnhelper.c:4751
#61 0x00007ffff7b959c4 in vm_exec_core (ec=0x100034880, initial=0) at insns.def:778
#62 0x00007ffff7bb198c in rb_vm_exec (ec=0x100034880, mjit_enable_p=true) at vm.c:2220
#63 0x00007ffff7bb2654 in rb_iseq_eval_main (iseq=0x100337d80) at vm.c:2469
#64 0x00007ffff7915590 in rb_ec_exec_node (ec=0x100034880, n=0x100337d80) at eval.c:280
#65 0x00007ffff7915798 in ruby_run_node (n=0x100337d80) at eval.c:321
#66 0x0000000100000bdc in main (argc=4, argv=0x7ffffffff328) at ./main.c:47

@matoro
Copy link

matoro commented Nov 22, 2023

Well...interesting discovery, everything works on Ruby 3.2!

@casperisfine casperisfine deleted the handle-missing-compaction branch November 22, 2023 08:57
@casperisfine
Copy link
Author

Interesting backtrace. I wonder if somehow it's a Ruby 3.1 GC bug (e.g. hile (heap->free_pages == NULL) { ending up in an infinite loop or something).

@peterzhu2118 does that ring any bell?

But good news on 3.2 working!

matoro added a commit to matoro/gentoo that referenced this pull request Nov 22, 2023
matoro added a commit to matoro/gentoo that referenced this pull request Nov 22, 2023
matoro added a commit to matoro/gentoo that referenced this pull request Nov 23, 2023
gentoo-bot pushed a commit to gentoo/gentoo that referenced this pull request Nov 23, 2023
See: msgpack/msgpack-ruby#355
Bug: https://bugs.gentoo.org/917362
Signed-off-by: Matoro Mahri <matoro_gentoo@matoro.tk>
Signed-off-by: Sam James <sam@gentoo.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix for platforms without compaction support not complete
3 participants