Project

General

Profile

Actions

Bug #20906

closed

Segmentation Fault in compile_keyword_arg

Added by bendrissou (Bachir Bendrissou) 3 months ago. Updated 4 days ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:119992]

Description

Hi,

I am getting a segmentation fault. The crash occurs in compile_keyword_arg (../compile.c:4604) during argument compilation for the keyword argument assignment.

Minimised test case:

a,b[c:nil]=d

Output:

test.rb: [BUG] Segmentation fault at 0x0000000000000000
ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0001 p:0000 s:0003 E:002270 DUMMY  [FINISH]


-- Threading information ---------------------------------------------------
Total ractor count: 1
Ruby thread count for this ractor: 1

-- Machine register context ------------------------------------------------
 RIP: 0x0000555fdcc6bb95 RBP: 0x0000000000000001 RSP: 0x00007ffe63864fc0
 RAX: 0x0000555fddc4fc80 RBX: 0x0000555fddc4fc88 RCX: 0x0000000000000001
 RDX: 0x0000000000000000 RDI: 0x0000555fddb7c2a0 RSI: 0x0000000000000018
  R8: 0x0000555fddb7c2a8  R9: 0x00007fbba21b6b80 R10: 0x0000000000000000
 R11: 0x0000000000000007 R12: 0x00007ffe638650a0 R13: 0x00007fbb86d032b8
 R14: 0x0000000000000000 R15: 0x0000555fddc52470 EFL: 0x0000000000010206

-- C level backtrace information -------------------------------------------
/home/benchmarks/ruby/program/build/ruby(rb_print_backtrace+0x11) [0x555fdcb0da7f] ../vm_dump.c:820
/home/benchmarks/ruby/program/build/ruby(rb_vm_bugreport) ../vm_dump.c:1151
/home/benchmarks/ruby/program/build/ruby(rb_bug_for_fatal_signal+0xfc) [0x555fdccd9a6c] ../error.c:1065
/home/benchmarks/ruby/program/build/ruby(sigsegv+0x4d) [0x555fdca5c1fd] ../signal.c:926
/lib/x86_64-linux-gnu/libpthread.so.0(__restore_rt+0x0) [0x7fbba21ed420]
/home/benchmarks/ruby/program/build/ruby(compile_keyword_arg+0x55) [0x555fdcc6bb95] ../compile.c:4604
/home/benchmarks/ruby/program/build/ruby(setup_args_core) ../compile.c:6063
/home/benchmarks/ruby/program/build/ruby(setup_args) ../compile.c:6181
/home/benchmarks/ruby/program/build/ruby(compile_attrasgn+0x90) [0x555fdcc6f440] ../compile.c:9696
/home/benchmarks/ruby/program/build/ruby(iseq_compile_each0+0x2082) [0x555fdcc63b82] ../compile.c:10433
/home/benchmarks/ruby/program/build/ruby(iseq_compile_each+0x11) [0x555fdcc70d91] ../compile.c:9767
/home/benchmarks/ruby/program/build/ruby(compile_massign_lhs) ../compile.c:5281
/home/benchmarks/ruby/program/build/ruby(compile_massign0+0xd4) [0x555fdcc712b4] ../compile.c:5475
/home/benchmarks/ruby/program/build/ruby(compile_massign+0xf5) [0x555fdcc77425] ../compile.c:5536
/home/benchmarks/ruby/program/build/ruby(iseq_compile_each0+0xeea) [0x555fdcc629ea] ../compile.c:9871
/home/benchmarks/ruby/program/build/ruby(iseq_compile_each+0x29) [0x555fdcc66ae9] ../compile.c:9767
/home/benchmarks/ruby/program/build/ruby(rb_iseq_compile_node+0x658) [0x555fdcc71c48] ../compile.c:931
/home/benchmarks/ruby/program/build/ruby(rb_iseq_new_with_opt+0x15d) [0x555fdc97189d] ../iseq.c:946
/home/benchmarks/ruby/program/build/ruby(rb_iseq_new_main+0x6f) [0x555fdc971c4f] ../iseq.c:885
/home/benchmarks/ruby/program/build/ruby(process_options+0x103f) [0x555fdca5767f] ../ruby.c:2444
/home/benchmarks/ruby/program/build/ruby(ruby_process_options+0x14c) [0x555fdca5876c] ../ruby.c:3017
/home/benchmarks/ruby/program/build/ruby(ruby_options+0xdd) [0x555fdc9047bd] ../eval.c:121
/home/benchmarks/ruby/program/build/ruby(rb_main+0x19) [0x555fdc8ff42f] ../main.c:39
/home/benchmarks/ruby/program/build/ruby(main) ../main.c:58
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7fbba1fee083]
[0x555fdc8ff48e]

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

* Loaded script: test.rb

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 fiber.so
    3 rational.so
    4 complex.so
    5 ruby2_keywords.rb
    6 /home/benchmarks/ruby/program/build/.ext/x86_64-linux/enc/encdb.so
    7 /home/benchmarks/ruby/program/build/.ext/x86_64-linux/enc/trans/transdb.so
    8 /home/benchmarks/ruby/program/build/rbconfig.rb
    9 /home/benchmarks/ruby/program/lib/rubygems/compatibility.rb
   10 /home/benchmarks/ruby/program/lib/rubygems/defaults.rb
   11 /home/benchmarks/ruby/program/lib/rubygems/deprecate.rb
   12 /home/benchmarks/ruby/program/lib/rubygems/errors.rb
   13 /home/benchmarks/ruby/program/lib/rubygems/unknown_command_spell_checker.rb
   14 /home/benchmarks/ruby/program/lib/rubygems/exceptions.rb
   15 /home/benchmarks/ruby/program/lib/rubygems/basic_specification.rb
   16 /home/benchmarks/ruby/program/lib/rubygems/stub_specification.rb
   17 /home/benchmarks/ruby/program/lib/rubygems/platform.rb
   18 /home/benchmarks/ruby/program/lib/rubygems/specification_record.rb
   19 /home/benchmarks/ruby/program/lib/rubygems/util/list.rb
   20 /home/benchmarks/ruby/program/lib/rubygems/version.rb
   21 /home/benchmarks/ruby/program/lib/rubygems/requirement.rb
   22 /home/benchmarks/ruby/program/lib/rubygems/specification.rb
   23 /home/benchmarks/ruby/program/lib/rubygems/util.rb
   24 /home/benchmarks/ruby/program/lib/rubygems/core_ext/kernel_gem.rb
   25 /home/benchmarks/ruby/program/build/.ext/x86_64-linux/monitor.so
   26 /home/benchmarks/ruby/program/ext/monitor/lib/monitor.rb
   27 /home/benchmarks/ruby/program/lib/rubygems.rb
   28 /home/benchmarks/ruby/program/lib/bundled_gems.rb
   29 /home/benchmarks/ruby/program/lib/error_highlight/version.rb
   30 /home/benchmarks/ruby/program/lib/error_highlight/base.rb
   31 /home/benchmarks/ruby/program/lib/error_highlight/formatter.rb
   32 /home/benchmarks/ruby/program/lib/error_highlight/core_ext.rb
   33 /home/benchmarks/ruby/program/lib/error_highlight.rb
   34 /home/benchmarks/ruby/program/lib/did_you_mean/version.rb
   35 /home/benchmarks/ruby/program/lib/did_you_mean/core_ext/name_error.rb
   36 /home/benchmarks/ruby/program/lib/did_you_mean/levenshtein.rb
   37 /home/benchmarks/ruby/program/lib/did_you_mean/jaro_winkler.rb
   38 /home/benchmarks/ruby/program/lib/did_you_mean/spell_checker.rb
   39 /home/benchmarks/ruby/program/lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
   40 /home/benchmarks/ruby/program/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
   41 /home/benchmarks/ruby/program/lib/did_you_mean/spell_checkers/name_error_checkers.rb
   42 /home/benchmarks/ruby/program/lib/did_you_mean/spell_checkers/method_name_checker.rb
   43 /home/benchmarks/ruby/program/lib/did_you_mean/spell_checkers/key_error_checker.rb
   44 /home/benchmarks/ruby/program/lib/did_you_mean/spell_checkers/null_checker.rb
   45 /home/benchmarks/ruby/program/lib/did_you_mean/tree_spell_checker.rb
   46 /home/benchmarks/ruby/program/lib/did_you_mean/spell_checkers/require_path_checker.rb
   47 /home/benchmarks/ruby/program/lib/did_you_mean/spell_checkers/pattern_key_name_checker.rb
   48 /home/benchmarks/ruby/program/lib/did_you_mean/formatter.rb
   49 /home/benchmarks/ruby/program/lib/did_you_mean.rb
   50 /home/benchmarks/ruby/program/lib/syntax_suggest/core_ext.rb

* Process memory map:

555fdc8ad000-555fdc8f0000 r--p 00000000 00:8d 5569471                    /home/benchmarks/ruby/program/build/ruby
555fdc8f0000-555fdcd02000 r-xp 00043000 00:8d 5569471                    /home/benchmarks/ruby/program/build/ruby
555fdcd02000-555fdce92000 r--p 00455000 00:8d 5569471                    /home/benchmarks/ruby/program/build/ruby
555fdce92000-555fdcea9000 r--p 005e4000 00:8d 5569471                    /home/benchmarks/ruby/program/build/ruby
555fdcea9000-555fdceaa000 rw-p 005fb000 00:8d 5569471                    /home/benchmarks/ruby/program/build/ruby
555fdceaa000-555fdcebf000 rw-p 00000000 00:00 0 
555fddb79000-555fddf8b000 rw-p 00000000 00:00 0                          [heap]
7fbb82fa8000-7fbb83198000 r--s 00000000 00:8d 1277502                    /usr/lib/x86_64-linux-gnu/libc-2.31.so
7fbb83198000-7fbb86b20000 r--s 00000000 00:8d 5569471                    /home/benchmarks/ruby/program/build/ruby
7fbb86b20000-7fbb86b30000 rw-p 00000000 00:00 0 
7fbb86c40000-7fbb86c50000 rw-p 00000000 00:00 0 
7fbb86cb9000-7fbb86ce0000 r--s 00000000 00:8d 1277596                    /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
7fbb86ce0000-7fbb86cf0000 rw-p 00000000 00:00 0 
7fbb86d00000-7fbb86da0000 rw-p 00000000 00:00 0 
7fbb86daf000-7fbb86db0000 ---p 00000000 00:00 0 
7fbb86db0000-7fbb86e51000 rw-p 00000000 00:00 0 
7fbb86e51000-7fbb86e52000 ---p 00000000 00:00 0 
7fbb86e52000-7fbb86ef3000 rw-p 00000000 00:00 0 
7fbb86ef3000-7fbb86ef4000 ---p 00000000 00:00 0 
7fbb86ef4000-7fbb86f95000 rw-p 00000000 00:00 0 
7fbb86f95000-7fbb86f96000 ---p 00000000 00:00 0 
7fbb86f96000-7fbb87037000 rw-p 00000000 00:00 0 
7fbb87037000-7fbb87038000 ---p 00000000 00:00 0 
7fbb87038000-7fbb870d9000 rw-p 00000000 00:00 0 
7fbb870d9000-7fbb870da000 ---p 00000000 00:00 0 
7fbb870da000-7fbb8717b000 rw-p 00000000 00:00 0 
7fbb8717b000-7fbb8717c000 ---p 00000000 00:00 0 
7fbb8717c000-7fbb8721d000 rw-p 00000000 00:00 0 
7fbb8721d000-7fbb8721e000 ---p 00000000 00:00 0 
7fbb8721e000-7fbb872bf000 rw-p 00000000 00:00 0 
7fbb872bf000-7fbb872c0000 ---p 00000000 00:00 0 
7fbb872c0000-7fbb87361000 rw-p 00000000 00:00 0 
7fbb87361000-7fbb87362000 ---p 00000000 00:00 0 
7fbb87362000-7fbb87403000 rw-p 00000000 00:00 0 
7fbb87403000-7fbb87404000 ---p 00000000 00:00 0 
7fbb87404000-7fbb874a5000 rw-p 00000000 00:00 0 
7fbb874a5000-7fbb874a6000 ---p 00000000 00:00 0 
7fbb874a6000-7fbb87547000 rw-p 00000000 00:00 0 
7fbb87547000-7fbb87548000 ---p 00000000 00:00 0 
7fbb87548000-7fbb875e9000 rw-p 00000000 00:00 0 
7fbb875e9000-7fbb875ea000 ---p 00000000 00:00 0 
7fbb875ea000-7fbb8768b000 rw-p 00000000 00:00 0 
7fbb8768b000-7fbb8768c000 ---p 00000000 00:00 0 
7fbb8768c000-7fbb8772d000 rw-p 00000000 00:00 0 
7fbb8772d000-7fbb8772e000 ---p 00000000 00:00 0 
7fbb8772e000-7fbb877cf000 rw-p 00000000 00:00 0 
7fbb877cf000-7fbb877d0000 ---p 00000000 00:00 0 
7fbb877d0000-7fbb87871000 rw-p 00000000 00:00 0 
7fbb87871000-7fbb87872000 ---p 00000000 00:00 0 
7fbb87872000-7fbb87913000 rw-p 00000000 00:00 0 
7fbb87913000-7fbb87914000 ---p 00000000 00:00 0 
7fbb87914000-7fbb879b5000 rw-p 00000000 00:00 0 
7fbb879b5000-7fbb879b6000 ---p 00000000 00:00 0 
7fbb879b6000-7fbb87a57000 rw-p 00000000 00:00 0 
7fbb87a57000-7fbb87a58000 ---p 00000000 00:00 0 
7fbb87a58000-7fbb87af9000 rw-p 00000000 00:00 0 
7fbb87af9000-7fbb87afa000 ---p 00000000 00:00 0 
7fbb87afa000-7fbb87b9b000 rw-p 00000000 00:00 0 
7fbb87b9b000-7fbb87b9c000 ---p 00000000 00:00 0 
7fbb87b9c000-7fbb87c3d000 rw-p 00000000 00:00 0 
7fbb87c3d000-7fbb87c3e000 ---p 00000000 00:00 0 
7fbb87c3e000-7fbb87cdf000 rw-p 00000000 00:00 0 
7fbb87cdf000-7fbb87ce0000 ---p 00000000 00:00 0 
7fbb87ce0000-7fbb87d81000 rw-p 00000000 00:00 0 
7fbb87d81000-7fbb87d82000 ---p 00000000 00:00 0 
7fbb87d82000-7fbb87e23000 rw-p 00000000 00:00 0 
7fbb87e23000-7fbb87e24000 ---p 00000000 00:00 0 
7fbb87e24000-7fbb87ec5000 rw-p 00000000 00:00 0 
7fbb87ec5000-7fbb87ec6000 ---p 00000000 00:00 0 
7fbb87ec6000-7fbb87f67000 rw-p 00000000 00:00 0 
7fbb87f67000-7fbb87f68000 ---p 00000000 00:00 0 
7fbb87f68000-7fbb88009000 rw-p 00000000 00:00 0 
7fbb88009000-7fbb8800a000 ---p 00000000 00:00 0 
7fbb8800a000-7fbb880ab000 rw-p 00000000 00:00 0 
7fbb880ab000-7fbb880ac000 ---p 00000000 00:00 0 
7fbb880ac000-7fbb8814d000 rw-p 00000000 00:00 0 
7fbb8814d000-7fbb8814e000 ---p 00000000 00:00 0 
7fbb8814e000-7fbb881ef000 rw-p 00000000 00:00 0 
7fbb881ef000-7fbb881f0000 ---p 00000000 00:00 0 
7fbb881f0000-7fbb88a40000 rw-p 00000000 00:00 0 
7fbb88a4a000-7fbb88a4b000 r--p 00000000 00:8d 5569421                    /home/benchmarks/ruby/program/build/.ext/x86_64-linux/monitor.so
7fbb88a4b000-7fbb88a4c000 r-xp 00001000 00:8d 5569421                    /home/benchmarks/ruby/program/build/.ext/x86_64-linux/monitor.so
7fbb88a4c000-7fbb88a4d000 r--p 00002000 00:8d 5569421                    /home/benchmarks/ruby/program/build/.ext/x86_64-linux/monitor.so
7fbb88a4d000-7fbb88a4e000 r--p 00002000 00:8d 5569421                    /home/benchmarks/ruby/program/build/.ext/x86_64-linux/monitor.so
7fbb88a4e000-7fbb88a4f000 rw-p 00003000 00:8d 5569421                    /home/benchmarks/ruby/program/build/.ext/x86_64-linux/monitor.so
7fbb88a4f000-7fbba1ec0000 rw-p 00000000 00:00 0 
7fbba1ec1000-7fbba1ec2000 r--p 00000000 00:8d 5569519                    /home/benchmarks/ruby/program/build/.ext/x86_64-linux/enc/trans/transdb.so
7fbba1ec2000-7fbba1ec4000 r-xp 00001000 00:8d 5569519                    /home/benchmarks/ruby/program/build/.ext/x86_64-linux/enc/trans/transdb.so
7fbba1ec4000-7fbba1ec5000 r--p 00003000 00:8d 5569519                    /home/benchmarks/ruby/program/build/.ext/x86_64-linux/enc/trans/transdb.so
7fbba1ec5000-7fbba1ec6000 r--p 00003000 00:8d 5569519                    /home/benchmarks/ruby/program/build/.ext/x86_64-linux/enc/trans/transdb.so
7fbba1ec6000-7fbba1ec7000 rw-p 00004000 00:8d 5569519                    /home/benchmarks/ruby/program/build/.ext/x86_64-linux/enc/trans/transdb.so
7fbba1ec7000-7fbba1fca000 rw-p 00000000 00:00 0 
7fbba1fca000-7fbba1fec000 r--p 00000000 00:8d 1277502                    /usr/lib/x86_64-linux-gnu/libc-2.31.so
7fbba1fec000-7fbba2164000 r-xp 00022000 00:8d 1277502                    /usr/lib/x86_64-linux-gnu/libc-2.31.so
7fbba2164000-7fbba21b2000 r--p 0019a000 00:8d 1277502                    /usr/lib/x86_64-linux-gnu/libc-2.31.so
7fbba21b2000-7fbba21b6000 r--p 001e7000 00:8d 1277502                    /usr/lib/x86_64-linux-gnu/libc-2.31.so
7fbba21b6000-7fbba21b8000 rw-p 001eb000 00:8d 1277502                    /usr/lib/x86_64-linux-gnu/libc-2.31.so
7fbba21b8000-7fbba21bc000 rw-p 00000000 00:00 0 
7fbba21bc000-7fbba21bf000 r--p 00000000 00:8d 1277527                    /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
7fbba21bf000-7fbba21d1000 r-xp 00003000 00:8d 1277527                    /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
7fbba21d1000-7fbba21d5000 r--p 00015000 00:8d 1277527                    /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
7fbba21d5000-7fbba21d6000 r--p 00018000 00:8d 1277527                    /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
7fbba21d6000-7fbba21d7000 rw-p 00019000 00:8d 1277527                    /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
7fbba21d7000-7fbba21d9000 rw-p 00000000 00:00 0 
7fbba21d9000-7fbba21df000 r--p 00000000 00:8d 1277596                    /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
7fbba21df000-7fbba21f0000 r-xp 00006000 00:8d 1277596                    /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
7fbba21f0000-7fbba21f6000 r--p 00017000 00:8d 1277596                    /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
7fbba21f6000-7fbba21f7000 r--p 0001c000 00:8d 1277596                    /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
7fbba21f7000-7fbba21f8000 rw-p 0001d000 00:8d 1277596                    /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
7fbba21f8000-7fbba21fc000 rw-p 00000000 00:00 0 
7fbba21fc000-7fbba2209000 r--p 00000000 00:8d 1277544                    /usr/lib/x86_64-linux-gnu/libm-2.31.so
7fbba2209000-7fbba22b0000 r-xp 0000d000 00:8d 1277544                    /usr/lib/x86_64-linux-gnu/libm-2.31.so
7fbba22b0000-7fbba2349000 r--p 000b4000 00:8d 1277544                    /usr/lib/x86_64-linux-gnu/libm-2.31.so
7fbba2349000-7fbba234a000 r--p 0014c000 00:8d 1277544                    /usr/lib/x86_64-linux-gnu/libm-2.31.so
7fbba234a000-7fbba234b000 rw-p 0014d000 00:8d 1277544                    /usr/lib/x86_64-linux-gnu/libm-2.31.so
7fbba234b000-7fbba234d000 r--p 00000000 00:8d 1277509                    /usr/lib/x86_64-linux-gnu/libcrypt.so.1.1.0
7fbba234d000-7fbba2362000 r-xp 00002000 00:8d 1277509                    /usr/lib/x86_64-linux-gnu/libcrypt.so.1.1.0
7fbba2362000-7fbba237c000 r--p 00017000 00:8d 1277509                    /usr/lib/x86_64-linux-gnu/libcrypt.so.1.1.0
7fbba237c000-7fbba237d000 r--p 00030000 00:8d 1277509                    /usr/lib/x86_64-linux-gnu/libcrypt.so.1.1.0
7fbba237d000-7fbba237e000 rw-p 00031000 00:8d 1277509                    /usr/lib/x86_64-linux-gnu/libcrypt.so.1.1.0
7fbba237e000-7fbba2386000 rw-p 00000000 00:00 0 
7fbba2386000-7fbba2387000 r--p 00000000 00:8d 1277513                    /usr/lib/x86_64-linux-gnu/libdl-2.31.so
7fbba2387000-7fbba2389000 r-xp 00001000 00:8d 1277513                    /usr/lib/x86_64-linux-gnu/libdl-2.31.so
7fbba2389000-7fbba238a000 r--p 00003000 00:8d 1277513                    /usr/lib/x86_64-linux-gnu/libdl-2.31.so
7fbba238a000-7fbba238b000 r--p 00003000 00:8d 1277513                    /usr/lib/x86_64-linux-gnu/libdl-2.31.so
7fbba238b000-7fbba238c000 rw-p 00004000 00:8d 1277513                    /usr/lib/x86_64-linux-gnu/libdl-2.31.so
7fbba238c000-7fbba2396000 r--p 00000000 00:8d 1277531                    /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.0
7fbba2396000-7fbba23f6000 r-xp 0000a000 00:8d 1277531                    /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.0
7fbba23f6000-7fbba240d000 r--p 0006a000 00:8d 1277531                    /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.0
7fbba240d000-7fbba240e000 ---p 00081000 00:8d 1277531                    /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.0
7fbba240e000-7fbba240f000 r--p 00081000 00:8d 1277531                    /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.0
7fbba240f000-7fbba2410000 rw-p 00082000 00:8d 1277531                    /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.0
7fbba2410000-7fbba2412000 r--p 00000000 00:8d 1277632                    /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7fbba2412000-7fbba2423000 r-xp 00002000 00:8d 1277632                    /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7fbba2423000-7fbba2429000 r--p 00013000 00:8d 1277632                    /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7fbba2429000-7fbba242a000 ---p 00019000 00:8d 1277632                    /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7fbba242a000-7fbba242b000 r--p 00019000 00:8d 1277632                    /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7fbba242b000-7fbba242c000 rw-p 0001a000 00:8d 1277632                    /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7fbba242c000-7fbba242e000 rw-p 00000000 00:00 0 
7fbba2432000-7fbba2433000 r--p 00000000 00:8d 5569472                    /home/benchmarks/ruby/program/build/.ext/x86_64-linux/enc/encdb.so
7fbba2433000-7fbba2434000 r-xp 00001000 00:8d 5569472                    /home/benchmarks/ruby/program/build/.ext/x86_64-linux/enc/encdb.so
7fbba2434000-7fbba2435000 r--p 00002000 00:8d 5569472                    /home/benchmarks/ruby/program/build/.ext/x86_64-linux/enc/encdb.so
7fbba2435000-7fbba2436000 r--p 00002000 00:8d 5569472                    /home/benchmarks/ruby/program/build/.ext/x86_64-linux/enc/encdb.so
7fbba2436000-7fbba2437000 rw-p 00003000 00:8d 5569472                    /home/benchmarks/ruby/program/build/.ext/x86_64-linux/enc/encdb.so
7fbba2437000-7fbba2438000 r--p 00000000 00:8d 1277480                    /usr/lib/x86_64-linux-gnu/ld-2.31.so
7fbba2438000-7fbba245b000 r-xp 00001000 00:8d 1277480                    /usr/lib/x86_64-linux-gnu/ld-2.31.so
7fbba245b000-7fbba2463000 r--p 00024000 00:8d 1277480                    /usr/lib/x86_64-linux-gnu/ld-2.31.so
7fbba2464000-7fbba2465000 r--p 0002c000 00:8d 1277480                    /usr/lib/x86_64-linux-gnu/ld-2.31.so
7fbba2465000-7fbba2466000 rw-p 0002d000 00:8d 1277480                    /usr/lib/x86_64-linux-gnu/ld-2.31.so
7fbba2466000-7fbba2467000 rw-p 00000000 00:00 0 
7ffe6306a000-7ffe63869000 rw-p 00000000 00:00 0                          [stack]
7ffe6393d000-7ffe63940000 r--p 00000000 00:00 0                          [vvar]
7ffe63940000-7ffe63941000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0                  [vsyscall]



Related issues 1 (0 open1 closed)

Is duplicate of Ruby master - Bug #20218: aset/masgn/op_asgn with keyword argumentsClosedActions
Actions #1

Updated by bendrissou (Bachir Bendrissou) 3 months ago

  • ruby -v set to 3.3.5

Updated by eightbitraptor (Matt V-H) 3 months ago

Worth noting that this is reported as a syntax error in Ruby 3.4.0 using both prism and parse.y

ruby 3.4.0dev (2024-09-27T10:34:35Z master 7f83bd3732) +PRISM [arm64-darwin24]
❯ ruby --parser=parse.y -e "a,b[c:nil]=d"
-e:1: keyword arg given in index assignment
a,b[c:nil]=d
ruby: compile error (SyntaxError)
❯ ruby --parser=prism -e "a,b[c:nil]=d"
-e: -e:1: syntax error found (SyntaxError)
> 1 | a,b[c:nil]=d
    |     ^~~~~ unexpected keyword arg given in index assignment; keywords are not allowed in index assignment expressions
  2 |
Actions #3

Updated by nobu (Nobuyoshi Nakada) 3 months ago

  • Is duplicate of Bug #20218: aset/masgn/op_asgn with keyword arguments added

Updated by masterleep2 (Bill Lipa) 3 months ago

Not sure if this is the same, but here's a shorter one that also crashes in 3.3.5.

*a[a:]=0

Updated by jeremyevans0 (Jeremy Evans) 4 days ago

  • Backport changed from 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN to 3.1: DONTNEED, 3.2: DONTNEED, 3.3: REQUIRED

This was fixed in Ruby 3.4 by removing support for the syntax. I don't think there are plans to fix Ruby 3.3 to allow the syntax to work, so it would be good to backport the changes to Ruby 3.3, as SyntaxError is preferable to segfault.

From a brief look, the following commits are related:

Actions #6

Updated by jeremyevans0 (Jeremy Evans) 4 days ago

  • Status changed from Open to Closed
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0