* [ruby-core:118797] [Ruby master Bug#20668] [3.3] shareable_constant_value: literal crash
@ 2024-08-05 8:34 byroot (Jean Boussier) via ruby-core
2024-08-06 10:19 ` [ruby-core:118798] " byroot (Jean Boussier) via ruby-core
2024-09-02 9:40 ` [ruby-core:119004] " k0kubun (Takashi Kokubun) via ruby-core
0 siblings, 2 replies; 3+ messages in thread
From: byroot (Jean Boussier) via ruby-core @ 2024-08-05 8:34 UTC (permalink / raw)
To: ruby-core; +Cc: byroot (Jean Boussier)
Issue #20668 has been reported by byroot (Jean Boussier).
----------------------------------------
Bug #20668: [3.3] shareable_constant_value: literal crash
https://bugs.ruby-lang.org/issues/20668
* Author: byroot (Jean Boussier)
* Status: Open
* ruby -v: ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin23]
* Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: REQUIRED
----------------------------------------
The following test script crashes in the parser:
```ruby
# shareable_constant_value: literal
FORM_STRATEGIES = {
'product' => Object,
'storefront_password' => String,
'contact' => Class,
}
```
The entire 3.3.x series is affected but not `master` nor 3.2.
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
* [ruby-core:118798] [Ruby master Bug#20668] [3.3] shareable_constant_value: literal crash
2024-08-05 8:34 [ruby-core:118797] [Ruby master Bug#20668] [3.3] shareable_constant_value: literal crash byroot (Jean Boussier) via ruby-core
@ 2024-08-06 10:19 ` byroot (Jean Boussier) via ruby-core
2024-09-02 9:40 ` [ruby-core:119004] " k0kubun (Takashi Kokubun) via ruby-core
1 sibling, 0 replies; 3+ messages in thread
From: byroot (Jean Boussier) via ruby-core @ 2024-08-06 10:19 UTC (permalink / raw)
To: ruby-core; +Cc: byroot (Jean Boussier)
Issue #20668 has been updated by byroot (Jean Boussier).
I believe I found a fix: https://github.com/ruby/ruby/pull/11314
cc @k0kubun
----------------------------------------
Bug #20668: [3.3] shareable_constant_value: literal crash
https://bugs.ruby-lang.org/issues/20668#change-109354
* Author: byroot (Jean Boussier)
* Status: Open
* ruby -v: ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin23]
* Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: REQUIRED
----------------------------------------
The following test script crashes in the parser:
```ruby
# shareable_constant_value: literal
FORM_STRATEGIES = {
'product' => Object,
'storefront_password' => String,
'contact' => Class,
}
```
The entire 3.3.x series is affected but not `master` nor 3.2.
```
* frame #0: 0x000000010016c240 miniruby`shareable_literal_constant at parse.y:13543:25
frame #1: 0x000000010016c230 miniruby`shareable_literal_constant [inlined] ensure_shareable_node(p=0x000000015270a8c0, dest=0x000000016fdfc920, value=<unavailable>, loc=0x000000015304e000) at parse.y:13587:33
frame #2: 0x000000010016c230 miniruby`shareable_literal_constant(p=0x000000015270a8c0, shareable=<unavailable>, dest=0x000000016fdfc920, value=<unavailable>, loc=0x000000015304e000, level=<unavailable>) at parse.y:13722:20
frame #3: 0x000000010016bec4 miniruby`shareable_literal_constant(p=0x000000015270a8c0, shareable=shareable_literal, dest=0x000000016fdfc920, value=0x0000000153048e60, loc=0x000000016fdfcae0, level=<unavailable>) at parse.y:13696:23
frame #4: 0x0000000100150414 miniruby`node_assign at parse.y:13754:25
frame #5: 0x00000001001503ec miniruby`node_assign(p=0x000000015270a8c0, lhs=0x000000015304de90, rhs=0x0000000153048e60, ctxt=<unavailable>, loc=0x000000016fdfcae0) at parse.y:13781:15
frame #6: 0x000000010014adc0 miniruby`ruby_yyparse(p=0x000000015270a8c0) at parse.y:3267:40
frame #7: 0x000000010015be98 miniruby`yycompile0(arg=5678082240) at parse.y:7381:9
frame #8: 0x000000010028a248 miniruby`rb_suppress_tracing(func=(miniruby`yycompile0 at parse.y:7351), arg=5678082240) at vm_trace.c:487:18
frame #9: 0x0000000100159dbc miniruby`rb_parser_compile_file_path [inlined] yycompile(p=0x000000015270a8c0, fname=<unavailable>, line=<unavailable>) at parse.y:7436:5
frame #10: 0x0000000100159d60 miniruby`rb_parser_compile_file_path [inlined] rb_ruby_parser_compile_file_path(p=0x000000015270a8c0, fname=4315517040, file=4315516512, start=<unavailable>) at parse.y:7526:12
frame #11: 0x0000000100159d48 miniruby`rb_parser_compile_file_path(vparser=<unavailable>, fname=4315517040, file=4315516512, start=<unavailable>) at parse.y:15685:12
frame #12: 0x00000001001d2398 miniruby`load_file_internal(argp_v=6171912760) at ruby.c:2627:11
frame #13: 0x00000001000ae768 miniruby`rb_ensure(b_proc=(miniruby`load_file_internal at ruby.c:2515), data1=6171912760, e_proc=<unavailable>, data2=<unavailable>) at eval.c:1009:18
frame #14: 0x00000001001d15b8 miniruby`ruby_process_options [inlined] load_file(parser=4315516608, fname=<unavailable>, f=4315516512, script=1, opt=0x000000016fdfe510) at ruby.c:2763:24
frame #15: 0x00000001001d1580 miniruby`ruby_process_options at ruby.c:2017:15
frame #16: 0x00000001001d1514 miniruby`ruby_process_options [inlined] process_options(argc=0, argv=<unavailable>, opt=0x000000016fdfe510) at ruby.c:2358:21
frame #17: 0x00000001001d0df4 miniruby`ruby_process_options(argc=<unavailable>, argv=<unavailable>) at ruby.c:3017:12
frame #18: 0x00000001000accf4 miniruby`ruby_options(argc=2, argv=0x000000016fdff0f0) at eval.c:121:9
frame #19: 0x000000010000122c miniruby`main [inlined] rb_main(argc=2, argv=0x000000016fdff0f0) at main.c:39:26
frame #20: 0x0000000100001214 miniruby`main(argc=2, argv=0x000000016fdff0f0) at main.c:58:12
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
* [ruby-core:119004] [Ruby master Bug#20668] [3.3] shareable_constant_value: literal crash
2024-08-05 8:34 [ruby-core:118797] [Ruby master Bug#20668] [3.3] shareable_constant_value: literal crash byroot (Jean Boussier) via ruby-core
2024-08-06 10:19 ` [ruby-core:118798] " byroot (Jean Boussier) via ruby-core
@ 2024-09-02 9:40 ` k0kubun (Takashi Kokubun) via ruby-core
1 sibling, 0 replies; 3+ messages in thread
From: k0kubun (Takashi Kokubun) via ruby-core @ 2024-09-02 9:40 UTC (permalink / raw)
To: ruby-core; +Cc: k0kubun (Takashi Kokubun)
Issue #20668 has been updated by k0kubun (Takashi Kokubun).
Backport changed from 3.1: DONTNEED, 3.2: DONTNEED, 3.3: REQUIRED to 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONE
ruby_3_3 commit:65cca99b30c65d462aa67969e0f16f6e45db4705.
----------------------------------------
Bug #20668: [3.3] shareable_constant_value: literal crash
https://bugs.ruby-lang.org/issues/20668#change-109579
* Author: byroot (Jean Boussier)
* Status: Closed
* ruby -v: ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin23]
* Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONE
----------------------------------------
The following test script crashes in the parser:
```ruby
# shareable_constant_value: literal
FORM_STRATEGIES = {
'product' => Object,
'storefront_password' => String,
'contact' => Class,
}
```
The entire 3.3.x series is affected but not `master` nor 3.2.
```
* frame #0: 0x000000010016c240 miniruby`shareable_literal_constant at parse.y:13543:25
frame #1: 0x000000010016c230 miniruby`shareable_literal_constant [inlined] ensure_shareable_node(p=0x000000015270a8c0, dest=0x000000016fdfc920, value=<unavailable>, loc=0x000000015304e000) at parse.y:13587:33
frame #2: 0x000000010016c230 miniruby`shareable_literal_constant(p=0x000000015270a8c0, shareable=<unavailable>, dest=0x000000016fdfc920, value=<unavailable>, loc=0x000000015304e000, level=<unavailable>) at parse.y:13722:20
frame #3: 0x000000010016bec4 miniruby`shareable_literal_constant(p=0x000000015270a8c0, shareable=shareable_literal, dest=0x000000016fdfc920, value=0x0000000153048e60, loc=0x000000016fdfcae0, level=<unavailable>) at parse.y:13696:23
frame #4: 0x0000000100150414 miniruby`node_assign at parse.y:13754:25
frame #5: 0x00000001001503ec miniruby`node_assign(p=0x000000015270a8c0, lhs=0x000000015304de90, rhs=0x0000000153048e60, ctxt=<unavailable>, loc=0x000000016fdfcae0) at parse.y:13781:15
frame #6: 0x000000010014adc0 miniruby`ruby_yyparse(p=0x000000015270a8c0) at parse.y:3267:40
frame #7: 0x000000010015be98 miniruby`yycompile0(arg=5678082240) at parse.y:7381:9
frame #8: 0x000000010028a248 miniruby`rb_suppress_tracing(func=(miniruby`yycompile0 at parse.y:7351), arg=5678082240) at vm_trace.c:487:18
frame #9: 0x0000000100159dbc miniruby`rb_parser_compile_file_path [inlined] yycompile(p=0x000000015270a8c0, fname=<unavailable>, line=<unavailable>) at parse.y:7436:5
frame #10: 0x0000000100159d60 miniruby`rb_parser_compile_file_path [inlined] rb_ruby_parser_compile_file_path(p=0x000000015270a8c0, fname=4315517040, file=4315516512, start=<unavailable>) at parse.y:7526:12
frame #11: 0x0000000100159d48 miniruby`rb_parser_compile_file_path(vparser=<unavailable>, fname=4315517040, file=4315516512, start=<unavailable>) at parse.y:15685:12
frame #12: 0x00000001001d2398 miniruby`load_file_internal(argp_v=6171912760) at ruby.c:2627:11
frame #13: 0x00000001000ae768 miniruby`rb_ensure(b_proc=(miniruby`load_file_internal at ruby.c:2515), data1=6171912760, e_proc=<unavailable>, data2=<unavailable>) at eval.c:1009:18
frame #14: 0x00000001001d15b8 miniruby`ruby_process_options [inlined] load_file(parser=4315516608, fname=<unavailable>, f=4315516512, script=1, opt=0x000000016fdfe510) at ruby.c:2763:24
frame #15: 0x00000001001d1580 miniruby`ruby_process_options at ruby.c:2017:15
frame #16: 0x00000001001d1514 miniruby`ruby_process_options [inlined] process_options(argc=0, argv=<unavailable>, opt=0x000000016fdfe510) at ruby.c:2358:21
frame #17: 0x00000001001d0df4 miniruby`ruby_process_options(argc=<unavailable>, argv=<unavailable>) at ruby.c:3017:12
frame #18: 0x00000001000accf4 miniruby`ruby_options(argc=2, argv=0x000000016fdff0f0) at eval.c:121:9
frame #19: 0x000000010000122c miniruby`main [inlined] rb_main(argc=2, argv=0x000000016fdff0f0) at main.c:39:26
frame #20: 0x0000000100001214 miniruby`main(argc=2, argv=0x000000016fdff0f0) at main.c:58:12
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-09-02 9:41 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-08-05 8:34 [ruby-core:118797] [Ruby master Bug#20668] [3.3] shareable_constant_value: literal crash byroot (Jean Boussier) via ruby-core
2024-08-06 10:19 ` [ruby-core:118798] " byroot (Jean Boussier) via ruby-core
2024-09-02 9:40 ` [ruby-core:119004] " k0kubun (Takashi Kokubun) via ruby-core
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).