Skip to content

Give * params a name#4961

Closed
tenderlove wants to merge 6 commits intoruby:masterfrom
Shopify:make-shareable-anonymous
Closed

Give * params a name#4961
tenderlove wants to merge 6 commits intoruby:masterfrom
Shopify:make-shareable-anonymous

Conversation

@tenderlove
Copy link
Copy Markdown
Member

This commit gives * params a name of *. Before this change, a
method like:

def foo(*); ->{ super }; end

Would not assign a name to the anonymous * parameter. The problem is
that when Ractors try to scan getlocal instructions, it puts the name
of the parameter in to a hash. Since there is no name, we end up with a
strange exception. This commit gives it a name so that we get the same
exception for ... as *.

Co-Authored-By: John Hawthorn john@hawthorn.email

@tenderlove tenderlove marked this pull request as draft October 12, 2021 23:58
@tenderlove tenderlove force-pushed the make-shareable-anonymous branch from 46bc65e to a94d578 Compare October 13, 2021 00:29
@tenderlove tenderlove marked this pull request as ready for review October 13, 2021 00:39
@eregon
Copy link
Copy Markdown
Member

eregon commented Oct 13, 2021

This could be problematic, because in various discussions and notably https://bugs.ruby-lang.org/issues/18011#note-6 and https://bugs.ruby-lang.org/issues/16456#note-9 it was relied that only ... produces [:rest, :*]:
Currently:

$ ruby -e 'p method(def m(...); end).parameters'
[[:rest, :*], [:block, :&]]
$ ruby -e 'p method(def m(*); end).parameters'
[[:rest]]

There is also the question whether this changes:

$ ruby -e 'p method(def m(**); end).parameters'
[[:keyrest]]

In those discussion the detection was based on :*, :** and :&, only :& would remain correct after this change (def m(&) is SyntaxError).

@tenderlove
Copy link
Copy Markdown
Member Author

@eregon I think we have tests for these cases and my patch handles them (afaict)

casperisfine pushed a commit to rails/bootsnap that referenced this pull request Oct 26, 2021
@casperisfine
Copy link
Copy Markdown
Contributor

I tested this patch, and def foo(*); ->{ super }; end still cause the same problem. I suppose it need to be named as well.

@casperisfine
Copy link
Copy Markdown
Contributor

@tenderlove I took the liberty to push a second commit to your branch to handle **. It might be totally off so feel free to just force push it away.

There's one small regression left with ruby2keywordsthough:

def foo(*)
  ->{ super }
end
ruby2_keywords :foo
method(:foo).parameters # => [[:rest], [:keyrest, :**]]

On 3.0.2 it prints [[:rest]]. I haven't dug into that yet.

On another note unless this is fixed before 3.1.0preview1 ships, I may have to disable ISeq caching in bootsnap for releases with this bug: https://github.com/Shopify/bootsnap/compare/detect-ruby-3-1-dev-bug

@casperisfine
Copy link
Copy Markdown
Contributor

Hum, actually CI quickly caught problems in my commit :/

  4) Failure:
TestMethod#test_bound_parameters [/tmp/cirrus-ci-build/test/ruby/test_method.rb:572]:
<[[:keyrest, :o]]> expected but was
<[[:keyrest, false]]>.

  5) Failure:
TestMethod#test_unbound_parameters [/tmp/cirrus-ci-build/test/ruby/test_method.rb:598]:
<[[:keyrest, :o]]> expected but was
<[[:keyrest, false]]>.
...

@eregon
Copy link
Copy Markdown
Member

eregon commented Oct 26, 2021

On master:

def foo(*)
  ->{ super }
end
ruby2_keywords :foo
method(:foo).parameters # => [[:rest], [:keyrest, :**]]

which is somewhat expected from https://bugs.ruby-lang.org/issues/18011#note-12

@casperisfine
Copy link
Copy Markdown
Contributor

Oh, so I don't need to fix that one? Thanks for the info Benoit!

@eregon
Copy link
Copy Markdown
Member

eregon commented Oct 26, 2021

Yeah, I think it's already the behavior before your commit and intended.
(I'm not sure about [:keyrest, :**] vs [:keyrest] but it was already [:keyrest, :**] so seems fine)

@casperisfine casperisfine force-pushed the make-shareable-anonymous branch from 84cbbc1 to 962d604 Compare October 26, 2021 16:59
@casperisfine
Copy link
Copy Markdown
Contributor

Ok, I amended my commit and now it passes both test/ruby/test_iseq.rb and test/ruby/test_keyword.rb, so 🤞

@casperisfine
Copy link
Copy Markdown
Contributor

cc @nobu since you also fixed some more edge cases in master...nobu:anonymous-lvar.

@ko1
Copy link
Copy Markdown
Contributor

ko1 commented Oct 26, 2021

How about Binding#local_variables* methods? Are they affected?

@ko1
Copy link
Copy Markdown
Contributor

ko1 commented Oct 26, 2021

Maybe this is out of topic (feature request), but sometimes get anonymous local variables will help for debuggers and so on.

@casperisfine
Copy link
Copy Markdown
Contributor

How about Binding#local_variables* methods? Are they affected?

No, it's handled too:

$ ./ruby -e 'RubyVM::InstructionSequence.load_from_binary(RubyVM::InstructionSequence.compile("def foo(**); ->{ p binding.local_variables; super if defined? super }; end").to_binary).eval; foo.call; p method(:foo).parameters'
[]
[[:keyrest]]

tenderlove and others added 5 commits October 26, 2021 11:22
This commit gives `*` params a name of `*`.  Before this change, a
method like:

```ruby
def foo(*); ->{ super }; end
```

Would not assign a name to the anonymous `*` parameter.  The problem is
that when Ractors try to scan `getlocal` instructions, it puts the name
of the parameter in to a hash.  Since there is no name, we end up with a
strange exception.  This commit gives it a name so that we get the same
exception for `...` as `*`.

Co-Authored-By: John Hawthorn <john@hawthorn.email>
Same principle than a94d578
but applied to `**`.
@tenderlove tenderlove force-pushed the make-shareable-anonymous branch from 962d604 to 85d195d Compare October 26, 2021 18:23
@tenderlove
Copy link
Copy Markdown
Member Author

I pulled in nobu's changes as well

@casperisfine
Copy link
Copy Markdown
Contributor

Apparently typeprof was failing CI, not sure why though, I can't see the output. You think nobu's branch fixed this?

@casperisfine
Copy link
Copy Markdown
Contributor

Ok, I managed to get the error locally:

Failure: test: smoke/noname.rb(TypeProf::SmokeTest)
/Users/byroot/src/github.com/Shopify/ruby/gems/src/typeprof/test/typeprof/smoke_test.rb:35:in `block (2 levels) in <class:SmokeTest>'
     32:           expected = actual
     33:         end
     34: 
  => 35:         assert_equal(expected, actual)
     36:       end
     37:     end
     38:   end
<"# Classes\n" +
"class Object\n" +
"  private\n" +
"  def foo: (*untyped noname_2) -> nil\n" +
"end\n"> expected but was
<"# Classes\n" +
"class Object\n" +
"  private\n" +
"  def foo: (*untyped ?) -> nil\n" +
"end\n">

diff:
  # Classes
  class Object
    private
?   def foo: (*untyped noname_2) -> nil
?                      ?               
?                      ????????               
  end

That make somewhat sense.

@casperisfine
Copy link
Copy Markdown
Contributor

So I might be wrong, but it seem to me that typeprof parses the instruction sequence, so it's not really a ruby bug, more typeprof that would need to be updated to handle the slightly changed format.

Anonymous parameters shouldn't show up in the array representation of
instruction sequences
@casperisfine
Copy link
Copy Markdown
Contributor

Ok, CI is green now (except for a minGW timeout) thanks Aaron's last commit. Any objections to merging this?

@nobu
Copy link
Copy Markdown
Member

nobu commented Oct 27, 2021

This segfaluts.

$ ./miniruby --dump=parse -e 'def foo(*, **); super; end'
Assertion Failed: ../debug/include/ruby/internal/globals.h:199:rb_class_of:unexpected type
ruby 3.1.0dev (2021-10-27T08:38:04Z make-shareable-ano.. fb3675d2e4) [x86_64-darwin19]

-- Crash Report log information --------------------------------------------
   See Crash Report log file in one of the following locations:             
     * ~/Library/Logs/DiagnosticReports                                     
     * /Library/Logs/DiagnosticReports                                      
   for more details.                                                        
Don't forget to include the above Crash Report log file in bug reports.     

-- Control frame information -----------------------------------------------
c:0001 p:0000 s:0003 E:0001d0 (none) [FINISH]


-- C level backtrace information -------------------------------------------
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(rb_print_backtrace+0x19) [0x1012ab949] ../debug/vm_dump.c:759
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(rb_print_backtrace) (null):0
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(rb_vm_bugreport+0x178) [0x1012abae8] ../debug/vm_dump.c:1045
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(rb_assert_failure+0x9b) [0x1012eac1b] ../debug/error.c:885
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(rb_class_of+0x141) [0x10126f381] ../debug/include/ruby/internal/globals.h:199
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(gccct_method_search+0x74) [0x1012841a4] ../debug/vm_eval.c:444
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(rb_funcallv_scope+0x3d) [0x1012728ed] ../debug/vm_eval.c:1032
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(rb_funcallv+0x7e) [0x10126e69e] ../debug/vm_eval.c:1053
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(rb_funcall+0x24d) [0x10127323d] ../debug/vm_eval.c:1110
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(rb_obj_as_string+0x180) [0x1011cbcd0] ../debug/string.c:1655
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(ruby__sfvextra+0x360) [0x1011b2120] ../debug/sprintf.c:1128
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(BSD_vfprintf+0x7e7) [0x1011b2a57] ../debug/vsnprintf.c:843
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(rb_str_vcatf+0xaf) [0x1011b661f] ../debug/sprintf.c:1232
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(rb_str_catf+0x179) [0x1011b1549] ../debug/sprintf.c:1246
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(add_id+0x84) [0x1010be054] ../debug/node.c:119
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(dump_node+0x9978) [0x1010bbc98] ../debug/node.c:1034
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(dump_node+0x9e35) [0x1010bc155] ../debug/node.c:1056
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(dump_node+0x73a0) [0x1010b96c0] ../debug/node.c:818
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(dump_node+0x9eef) [0x1010bc20f] ../debug/node.c:1058
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(rb_parser_dump_tree+0x49) [0x1010b22d9] ../debug/node.c:1128
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(process_options+0x127c) [0x10119f9dc] ../debug/ruby.c:2140
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(ruby_process_options+0x11e) [0x10119e6fe] ../debug/ruby.c:2709
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(ruby_options+0x10d) [0x100fee82d] ../debug/eval.c:118
/Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby(main+0x74) [0x100f125d4] ../debug/main.c:47

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

* Loaded script: -e

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 fiber.so
    3 rational.so
    4 complex.so
    5 ruby2_keywords.rb

* Process memory map:

100f11000-10139d000 r-x /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby
10139d000-1013a5000 r-- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby
1013a5000-1013a9000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby
1013a9000-1013bd000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby
1013bd000-101587000 r-- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby
101587000-101589000 r-- /opt/local/lib/libgmp.10.dylib
101589000-10158b000 rw- /opt/local/lib/libgmp.10.dylib
10158b000-1015fc000 r-x /opt/local/lib/libgmp.10.dylib
1015fc000-1015fd000 r-- /opt/local/lib/libgmp.10.dylib
1015fd000-1015fe000 rw- /opt/local/lib/libgmp.10.dylib
1015fe000-101608000 r-- /opt/local/lib/libgmp.10.dylib
101608000-101609000 r-- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
101609000-10160a000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10160a000-10160b000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10160b000-101616000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
101616000-101617000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
101617000-101618000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
101618000-101623000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
101623000-101624000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
101624000-101625000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
101625000-101630000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
101630000-101631000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
101631000-101632000 r-- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
101634000-101638000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10163c000-101640000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
101644000-101648000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10164c000-101650000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
101654000-101658000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10165c000-101660000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
101664000-101668000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10166c000-101670000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
101674000-101678000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10167c000-101680000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
101684000-101688000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10168c000-101690000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
101694000-101698000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10169c000-1016a0000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1016a4000-1016a8000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1016ac000-1016b0000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1016b4000-1016b8000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1016bc000-1016c0000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1016c4000-1016c8000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1016cc000-1016d0000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1016d4000-1016d8000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1016dc000-1016e0000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1016e4000-1016e8000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1016ec000-1016f0000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1016f8000-1036f8000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1036f8000-1036f9000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1036f9000-10379a000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10379a000-10379b000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10379b000-10383c000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10383c000-10383d000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10383d000-1038de000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1038de000-1038df000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1038df000-103980000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103980000-103981000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103981000-103a22000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103a22000-103a23000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103a23000-103ac4000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103ac4000-103ac5000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103ac5000-103b66000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103b66000-103b67000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103b67000-103c08000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103c08000-103c09000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103c09000-103caa000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103caa000-103cab000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103cab000-103d4c000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103d4c000-103d4d000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103d4d000-103dee000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103dee000-103def000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103def000-103e90000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103e90000-103e91000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103e91000-103f32000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103f32000-103f33000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103f33000-103fd4000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103fd4000-103fd5000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
103fd5000-104076000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
104076000-104077000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
104077000-104118000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
104118000-104119000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
104119000-1041ba000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1041ba000-1041bb000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1041bb000-10425c000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10425c000-10425d000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10425d000-1042fe000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1042fe000-1042ff000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1042ff000-1043a0000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1043a0000-1043a1000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1043a1000-104442000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
104442000-104443000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
104443000-1044e4000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1044e4000-1044e5000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1044e5000-104586000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
104586000-104587000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
104587000-104628000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
104628000-104629000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
104629000-1046ca000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1046ca000-1046cb000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1046cb000-10476c000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10476c000-10476d000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10476d000-10480e000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10480e000-10480f000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10480f000-1048b0000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1048b0000-1048b1000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1048b1000-104952000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
104952000-104953000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
104953000-1049f4000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1049f4000-1049f5000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
1049f5000-104a96000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
104a96000-104a97000 --- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
104a97000-104b38000 rw- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
104b38000-10509f000 r-- /Users/nobu/build/ruby/master/debug.x86_64-darwin/miniruby.dSYM/Contents/Resources/DWARF/miniruby
10fbdd000-10fc70000 r-x /usr/lib/dyld
10fc70000-10fc75000 r-- /usr/lib/dyld
10fc75000-10fc76000 rw- /usr/lib/dyld
10fc76000-10fcab000 rw- /usr/lib/dyld
10fcab000-10fce3000 r-- /usr/lib/dyld
700008065000-700008066000 --- /usr/lib/dyld
700008066000-7000080e8000 rw- /usr/lib/dyld
7f96d0c00000-7f96d0d00000 rw- /usr/lib/dyld
7f96d0d00000-7f96d0e00000 rw- /usr/lib/dyld
7f96d0e00000-7f96d0f00000 rw- /usr/lib/dyld
7f96d0f00000-7f96d1000000 rw- /usr/lib/dyld
7f96d1000000-7f96d1800000 rw- /usr/lib/dyld
7f96d1800000-7f96d2000000 rw- /usr/lib/dyld
7f96d2000000-7f96d2800000 rw- /usr/lib/dyld
7f96d2800000-7f96d2900000 rw- /usr/lib/dyld
7f96d2900000-7f96d2a00000 rw- /usr/lib/dyld
7f96d2a00000-7f96d2b00000 rw- /usr/lib/dyld
7f96d2b00000-7f96d2c00000 rw- /usr/lib/dyld
7f96d3000000-7f96d3800000 rw- /usr/lib/dyld
7f96d3800000-7f96d4000000 rw- /usr/lib/dyld
7f96d8000000-7f96d8800000 rw- /usr/lib/dyld
7f96d8800000-7f96d9000000 rw- /usr/lib/dyld
7f96d9000000-7f96d9800000 rw- /usr/lib/dyld
7f96d9800000-7f96da000000 rw- /usr/lib/dyld
7f96da000000-7f96da800000 rw- /usr/lib/dyld
7f96da800000-7f96db000000 rw- /usr/lib/dyld
7f96db000000-7f96db800000 rw- /usr/lib/dyld
7f96db800000-7f96dc000000 rw- /usr/lib/dyld
7f96dc000000-7f96dc800000 rw- /usr/lib/dyld
7f96dc800000-7f96dd000000 rw- /usr/lib/dyld
7f96dd000000-7f96dd800000 rw- /usr/lib/dyld
7f96dd800000-7f96de000000 rw- /usr/lib/dyld
7f96de000000-7f96de800000 rw- /usr/lib/dyld
7f96de800000-7f96df000000 rw- /usr/lib/dyld
7f96df000000-7f96df800000 rw- /usr/lib/dyld
7f96df800000-7f96e0000000 rw- /usr/lib/dyld
7ffeeacef000-7ffeee4ef000 --- /usr/lib/dyld
7ffeee4ef000-7ffeeecef000 rw- /usr/lib/dyld
7fff00000000-7fff80000000 r-- /usr/lib/dyld
7fff80000000-7fff85400000 r-- /usr/lib/dyld
7fff85400000-7fff85600000 rw- /usr/lib/dyld
7fff85600000-7fff88400000 r-- /usr/lib/dyld
7fff88400000-7fff88600000 rw- /usr/lib/dyld
7fff88600000-7fff90e00000 r-- /usr/lib/dyld
7fff90e00000-7fff91000000 rw- /usr/lib/dyld
7fff91000000-7fff91200000 rw- /usr/lib/dyld
7fff91200000-7fff91400000 rw- /usr/lib/dyld
7fff91400000-7fff91800000 r-- /usr/lib/dyld
7fff91800000-7fff91a00000 rw- /usr/lib/dyld
7fff91a00000-7fffc0000000 r-- /usr/lib/dyld
7fffc0000000-7fffffe00000 r-- /usr/lib/dyld
7fffffe00000-7fffffe01000 r-- /usr/lib/dyld
7fffffee9000-7fffffeea000 r-x /usr/lib/dyld
[IMPORTANT]
Don't forget to include the Crash Report log file under
DiagnosticReports directory in bug reports.

@ko1
Copy link
Copy Markdown
Contributor

ko1 commented Oct 27, 2021

Sorry, why not 321ddcd solves? (why two before commits are needed?)

I understand error message can be polished, but it solves the original problem.

@ko1
Copy link
Copy Markdown
Contributor

ko1 commented Oct 27, 2021

@nobu made new PR #5035
could you check it?

@casperisfine casperisfine mentioned this pull request Oct 27, 2021
@ko1
Copy link
Copy Markdown
Contributor

ko1 commented Nov 8, 2021

can we close this ticket?

casperisfine pushed a commit to rails/bootsnap that referenced this pull request Nov 24, 2021
@tenderlove tenderlove closed this Oct 14, 2022
@tenderlove tenderlove deleted the make-shareable-anonymous branch October 14, 2022 21:45
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.

6 participants