Bug #17923
closedtry to mark T_NONE object with miniruby x86 Win32 buildt with MSVC
Description
Hello, I was asked to open a new bug ticket for this specific issue in this thread: https://bugs.ruby-lang.org/issues/17864#note-6
When I try to build ruby using "Visual Studio 2019 Developer Command Prompt v16.9.4".
./tool/generic_erb.rb:7: [BUG] try to mark T_NONE object
ruby 3.1.0dev (2021-05-28) [i386-mswin32_140]
-- Control frame information -----------------------------------------------
c:0003 p:---- s:0023 e:000022 CFUNC :require
c:0002 p:0011 s:0018 E:002370 EVAL ./tool/generic_erb.rb:7 [FINISH]
c:0001 p:0000 s:0003 E:0006d0 (none) [FINISH]
-- Ruby level backtrace information ----------------------------------------
./tool/generic_erb.rb:7:in `<main>'
./tool/generic_erb.rb:7:in `require'
-- C level backtrace information -------------------------------------------
C:\WINDOWS\SYSTEM32\ntdll.dll(NtWaitForSingleObject+0xc) [0x770C29DC]
C:\WINDOWS\System32\KERNELBASE.dll(WaitForSingleObject+0x12) [0x754F0452]
D:\nuriy\Downloads\ruby\miniruby.exe(rb_print_backtrace+0x2f) [0x002B8E04] D:\nuriy\Downloads\ruby\vm_dump.c:778
D:\nuriy\Downloads\ruby\miniruby.exe(rb_vm_bugreport+0xd1) [0x002B8ED7] D:\nuriy\Downloads\ruby\vm_dump.c:1044
D:\nuriy\Downloads\ruby\miniruby.exe(rb_bug_without_die+0x43) [0x001E02ED] D:\nuriy\Downloads\ruby\error.c:777
D:\nuriy\Downloads\ruby\miniruby.exe(rb_bug+0xf) [0x001E0242] D:\nuriy\Downloads\ruby\error.c:785
D:\nuriy\Downloads\ruby\miniruby.exe(gc_mark_ptr+0x7f) [0x001ECCA5] D:\nuriy\Downloads\ruby\gc.c:6606
D:\nuriy\Downloads\ruby\miniruby.exe(cc_table_mark_i+0x4f) [0x001EB165] D:\nuriy\Downloads\ruby\gc.c:2966
D:\nuriy\Downloads\ruby\miniruby.exe(rb_id_table_foreach+0x46) [0x0028B4D7] D:\nuriy\Downloads\ruby\id_table.c:299
D:\nuriy\Downloads\ruby\miniruby.exe(cc_table_mark+0x2f) [0x001EB111] D:\nuriy\Downloads\ruby\gc.c:2981
D:\nuriy\Downloads\ruby\miniruby.exe(gc_mark_children+0x1cc) [0x001EC6D8] D:\nuriy\Downloads\ruby\gc.c:6826
D:\nuriy\Downloads\ruby\miniruby.exe(rgengc_rememberset_mark+0xa5) [0x001F3F55] D:\nuriy\Downloads\ruby\gc.c:8213
D:\nuriy\Downloads\ruby\miniruby.exe(gc_marks_start+0xce) [0x001ED365] D:\nuriy\Downloads\ruby\gc.c:7773
D:\nuriy\Downloads\ruby\miniruby.exe(gc_start+0x1d8) [0x001EE7A3] D:\nuriy\Downloads\ruby\gc.c:8883
D:\nuriy\Downloads\ruby\miniruby.exe(heap_prepare+0x6d) [0x001F0604] D:\nuriy\Downloads\ruby\gc.c:2150
D:\nuriy\Downloads\ruby\miniruby.exe(newobj_slowpath_wb_protected+0x5b) [0x001F0F46] D:\nuriy\Downloads\ruby\gc.c:2539
D:\nuriy\Downloads\ruby\miniruby.exe(newobj_of0+0x62) [0x001F0ECF] D:\nuriy\Downloads\ruby\gc.c:2581
D:\nuriy\Downloads\ruby\miniruby.exe(newobj_of+0x1a) [0x001F0E56] D:\nuriy\Downloads\ruby\gc.c:2593
D:\nuriy\Downloads\ruby\miniruby.exe(rb_wb_protected_newobj_of+0x1c) [0x001F3BD7] D:\nuriy\Downloads\ruby\gc.c:2616
D:\nuriy\Downloads\ruby\miniruby.exe(str_new0+0x1d) [0x00285E00] D:\nuriy\Downloads\ruby\string.c:795
D:\nuriy\Downloads\ruby\miniruby.exe(str_new+0x13) [0x00285DDE] D:\nuriy\Downloads\ruby\string.c:814
D:\nuriy\Downloads\ruby\miniruby.exe(rb_str_new+0x14) [0x00280CFB] D:\nuriy\Downloads\ruby\string.c:820
D:\nuriy\Downloads\ruby\miniruby.exe(rb_io_getline_fast+0x87) [0x002040A5] D:\nuriy\Downloads\ruby\io.c:3477
D:\nuriy\Downloads\ruby\miniruby.exe(rb_io_getline_0+0xee) [0x00203D27] D:\nuriy\Downloads\ruby\io.c:3613
D:\nuriy\Downloads\ruby\miniruby.exe(rb_io_gets_internal+0x2c) [0x002041E1] D:\nuriy\Downloads\ruby\io.c:3743
D:\nuriy\Downloads\ruby\miniruby.exe(lex_io_gets+0xb) [0x00233A3D] D:\nuriy\Downloads\ruby\parse.y:6389
D:\nuriy\Downloads\ruby\miniruby.exe(lex_getline+0xf) [0x002339F3] D:\nuriy\Downloads\ruby\parse.y:6340
D:\nuriy\Downloads\ruby\miniruby.exe(nextline+0x42) [0x00235616] D:\nuriy\Downloads\ruby\parse.y:6507
D:\nuriy\Downloads\ruby\miniruby.exe(nextc+0x27) [0x002355A5] D:\nuriy\Downloads\ruby\parse.y:6549
D:\nuriy\Downloads\ruby\miniruby.exe(parser_yylex+0x82) [0x00237C9D] D:\nuriy\Downloads\ruby\parse.y:9159
D:\nuriy\Downloads\ruby\miniruby.exe(ruby_yyparse+0x36f) [0x0023B107] D:\nuriy\Downloads\ruby\parse.c:6800
D:\nuriy\Downloads\ruby\miniruby.exe(yycompile0+0x78) [0x00241DB6] D:\nuriy\Downloads\ruby\parse.y:6252
D:\nuriy\Downloads\ruby\miniruby.exe(rb_suppress_tracing+0xad) [0x002BAC60] D:\nuriy\Downloads\ruby\vm_trace.c:436
D:\nuriy\Downloads\ruby\miniruby.exe(yycompile+0x58) [0x00241D23] D:\nuriy\Downloads\ruby\parse.y:6300
D:\nuriy\Downloads\ruby\miniruby.exe(rb_parser_compile_file_path+0x37) [0x0023997E] D:\nuriy\Downloads\ruby\parse.y:6403
D:\nuriy\Downloads\ruby\miniruby.exe(load_file_internal+0x2ff) [0x0026D171] D:\nuriy\Downloads\ruby\ruby.c:2200
D:\nuriy\Downloads\ruby\miniruby.exe(rb_ensure+0x9d) [0x001E3661] D:\nuriy\Downloads\ruby\eval.c:1166
D:\nuriy\Downloads\ruby\miniruby.exe(load_file+0x38) [0x0026CE6D] D:\nuriy\Downloads\ruby\ruby.c:2334
D:\nuriy\Downloads\ruby\miniruby.exe(rb_parser_load_file+0x2d) [0x0026F0C6] D:\nuriy\Downloads\ruby\ruby.c:2356
D:\nuriy\Downloads\ruby\miniruby.exe(load_iseq_eval+0x31) [0x0020CDF8] D:\nuriy\Downloads\ruby\load.c:588
D:\nuriy\Downloads\ruby\miniruby.exe(require_internal+0x175) [0x0020DE88] D:\nuriy\Downloads\ruby\load.c:1076
D:\nuriy\Downloads\ruby\miniruby.exe(rb_require_string+0x16) [0x0020DC51] D:\nuriy\Downloads\ruby\load.c:1142
D:\nuriy\Downloads\ruby\miniruby.exe(rb_f_require+0xb) [0x0020D4AA] D:\nuriy\Downloads\ruby\load.c:838
D:\nuriy\Downloads\ruby\miniruby.exe(ractor_safe_call_cfunc_1+0xe) [0x002A98DC] D:\nuriy\Downloads\ruby\vm_insnhelper.c:2767
D:\nuriy\Downloads\ruby\miniruby.exe(vm_call_cfunc_with_frame+0xe2) [0x002AFE4E] D:\nuriy\Downloads\ruby\vm_insnhelper.c:2945
D:\nuriy\Downloads\ruby\miniruby.exe(vm_sendish+0x130) [0x002B6879] D:\nuriy\Downloads\ruby\vm_insnhelper.c:4516
D:\nuriy\Downloads\ruby\miniruby.exe(vm_exec_core+0xa8d) [0x002B2CC2] D:\nuriy\Downloads\ruby\vm_exec.c:143
D:\nuriy\Downloads\ruby\miniruby.exe(rb_vm_exec+0xa8) [0x002AD435] D:\nuriy\Downloads\ruby\vm.c:2173
D:\nuriy\Downloads\ruby\miniruby.exe(rb_iseq_eval_main+0x1c) [0x002AB4CA] D:\nuriy\Downloads\ruby\vm.c:2417
D:\nuriy\Downloads\ruby\miniruby.exe(rb_ec_exec_node+0xb3) [0x001E3363] D:\nuriy\Downloads\ruby\eval.c:317
D:\nuriy\Downloads\ruby\miniruby.exe(ruby_run_node+0x3e) [0x001E4A42] D:\nuriy\Downloads\ruby\eval.c:375
D:\nuriy\Downloads\ruby\miniruby.exe(main+0x41) [0x001A1041] D:\nuriy\Downloads\ruby\main.c:47
D:\nuriy\Downloads\ruby\miniruby.exe(__scrt_common_main_seh+0xfa) [0x002C797E] d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
C:\WINDOWS\System32\KERNEL32.DLL(BaseThreadInitThunk+0x19) [0x7530FA29]
C:\WINDOWS\SYSTEM32\ntdll.dll(RtlGetAppContainerNamedObjectPath+0x11e) [0x770B7A7E]
-- Other runtime information -----------------------------------------------
* Loaded script: ./tool/generic_erb.rb
* Loaded features:
0 enumerator.so
1 thread.rb
2 fiber.so
3 rational.so
4 complex.so
5 ruby2_keywords.rb
6 D:/nuriy/Downloads/ruby/lib/cgi/util.rb
7 D:/nuriy/Downloads/ruby/lib/erb/version.rb
8 D:/nuriy/Downloads/ruby/lib/erb.rb
NMAKE : fatal error U1077: '.\miniruby.exe' : code retour '0x3'
Stop.```
Updated by byroot (Jean Boussier) over 3 years ago
I've just hit the same bug on linux:
<OBJ_INFO:gc_mark_ptr@gc.c:6605> 0x00007f1d22e9fc00 [2 M ] T_NONE
doesnt-matter.rb:224: [BUG] try to mark T_NONE object
ruby 3.1.0dev (2021-05-27T21:17:54Z master 2ad7a550f3) [x86_64-linux]
-- C level backtrace information -------------------------------------------
/usr/local/bin/ruby(rb_print_backtrace+0x11) [0x55d3fe322278] vm_dump.c:759
/usr/local/bin/ruby(rb_vm_bugreport) vm_dump.c:1041
/usr/local/bin/ruby(bug_report_end+0x0) [0x55d3fe144a9f] error.c:777
/usr/local/bin/ruby(rb_bug_without_die) error.c:777
/usr/local/bin/ruby(die+0x0) [0x55d3fe13d426] error.c:785
/usr/local/bin/ruby(rb_bug) error.c:787
/usr/local/bin/ruby(gc_mark_ptr+0x138) [0x55d3fe16b388] gc.c:6606
/usr/local/bin/ruby(each_insn_value+0x5) [0x55d3fe1ac26d] iseq.c:327
/usr/local/bin/ruby(iseq_extract_values) iseq.c:178
/usr/local/bin/ruby(rb_iseq_each_value) iseq.c:246
/usr/local/bin/ruby(rb_iseq_mark) iseq.c:342
/usr/local/bin/ruby(gc_mark_imemo+0x70) [0x55d3fe16c948] gc.c:6720
/usr/local/bin/ruby(gc_mark_children) gc.c:6802
/usr/local/bin/ruby(gc_mark_stacked_objects+0x41) [0x55d3fe173417] gc.c:6986
/usr/local/bin/ruby(gc_mark_stacked_objects_incremental) gc.c:7020
/usr/local/bin/ruby(gc_marks_step) gc.c:7972
/usr/local/bin/ruby(gc_marks_continue) gc.c:8032
/usr/local/bin/ruby(heap_prepare) gc.c:2146
/usr/local/bin/ruby(heap_next_freepage) gc.c:2442
/usr/local/bin/ruby(ractor_cache_slots) gc.c:2474
/usr/local/bin/ruby(newobj_slowpath) gc.c:2515
/usr/local/bin/ruby(newobj_slowpath_wb_protected) gc.c:2539
/usr/local/bin/ruby(newobj_of0+0xe) [0x55d3fe173b5e] gc.c:2582
/usr/local/bin/ruby(newobj_of) gc.c:2592
/usr/local/bin/ruby(rb_imemo_new) gc.c:2689
/usr/local/bin/ruby(enum_each_with_index+0x2f) [0x55d3fe3b491f] enum.c:2481
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(vm_call0_body+0x552) [0x55d3fe3096e2] vm_eval.c:178
/usr/local/bin/ruby(rb_call0+0x210) [0x55d3fe30c4b0] vm_eval.c:72
/usr/local/bin/ruby(rb_funcallv_kw+0x3e) [0x55d3fe30ce0e] vm_eval.c:845
/usr/local/bin/ruby(rb_class_new_instance_pass_kw+0xcb) [0x55d3fe1de10b] object.c:2156
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0xe) [0x55d3fe30e30b] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core) insns.def:773
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(load_iseq_eval+0x9) [0x55d3fe1b4810] load.c:594
/usr/local/bin/ruby(require_internal) load.c:1065
/usr/local/bin/ruby(rb_require_string+0x13) [0x55d3fe1b4bd5] load.c:1142
/usr/local/bin/ruby(rb_f_require) load.c:838
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_call_method_each_type+0x79) [0x55d3fe305a39] vm_insnhelper.c:3433
/usr/local/bin/ruby(vm_call_alias+0x87) [0x55d3fe306db7] vm_insnhelper.c:3083
/usr/local/bin/ruby(vm_sendish+0xe) [0x55d3fe30e30b] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core) insns.def:773
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(vm_call0_body+0x552) [0x55d3fe3096e2] vm_eval.c:178
/usr/local/bin/ruby(rb_funcallv_scope+0x1b0) [0x55d3fe30d460] vm_eval.c:72
/usr/local/bin/ruby(autoload_require+0x84) [0x55d3fe2e45b4] variable.c:2369
/usr/local/bin/ruby(rb_ensure+0x114) [0x55d3fe14f934] eval.c:1166
/usr/local/bin/ruby(rb_autoload_load+0x22a) [0x55d3fe2ecffa] variable.c:2499
/usr/local/bin/ruby(rb_const_lookup+0x0) [0x55d3fe2ee91b] variable.c:2585
/usr/local/bin/ruby(rb_const_search_from) variable.c:2571
/usr/local/bin/ruby(rb_const_search) variable.c:2608
/usr/local/bin/ruby(rb_const_get_0) variable.c:2549
/usr/local/bin/ruby(rb_public_const_get_from) variable.c:2637
/usr/local/bin/ruby(vm_get_ev_const+0x29) [0x55d3fe312f62] vm_insnhelper.c:1038
/usr/local/bin/ruby(vm_exec_core) insns.def:267
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(load_iseq_eval+0x9) [0x55d3fe1b4810] load.c:594
/usr/local/bin/ruby(require_internal) load.c:1065
/usr/local/bin/ruby(rb_require_string+0x13) [0x55d3fe1b4bd5] load.c:1142
/usr/local/bin/ruby(rb_f_require) load.c:838
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_call_method_each_type+0x79) [0x55d3fe305a39] vm_insnhelper.c:3433
/usr/local/bin/ruby(vm_call_alias+0x87) [0x55d3fe306db7] vm_insnhelper.c:3083
/usr/local/bin/ruby(vm_sendish+0xe) [0x55d3fe30e30b] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core) insns.def:773
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(vm_call0_body+0x552) [0x55d3fe3096e2] vm_eval.c:178
/usr/local/bin/ruby(rb_funcallv_scope+0x1b0) [0x55d3fe30d460] vm_eval.c:72
/usr/local/bin/ruby(autoload_require+0x84) [0x55d3fe2e45b4] variable.c:2369
/usr/local/bin/ruby(rb_ensure+0x114) [0x55d3fe14f934] eval.c:1166
/usr/local/bin/ruby(rb_autoload_load+0x22a) [0x55d3fe2ecffa] variable.c:2499
/usr/local/bin/ruby(rb_const_lookup+0x0) [0x55d3fe2ee91b] variable.c:2585
/usr/local/bin/ruby(rb_const_search_from) variable.c:2571
/usr/local/bin/ruby(rb_const_search) variable.c:2608
/usr/local/bin/ruby(rb_const_get_0) variable.c:2549
/usr/local/bin/ruby(rb_public_const_get_from) variable.c:2637
/usr/local/bin/ruby(vm_get_ev_const+0x29) [0x55d3fe312f62] vm_insnhelper.c:1038
/usr/local/bin/ruby(vm_exec_core) insns.def:267
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(load_iseq_eval+0x9) [0x55d3fe1b4810] load.c:594
/usr/local/bin/ruby(require_internal) load.c:1065
/usr/local/bin/ruby(rb_require_string+0x13) [0x55d3fe1b4bd5] load.c:1142
/usr/local/bin/ruby(rb_f_require) load.c:838
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_call_method_each_type+0x79) [0x55d3fe305a39] vm_insnhelper.c:3433
/usr/local/bin/ruby(vm_call_alias+0x87) [0x55d3fe306db7] vm_insnhelper.c:3083
/usr/local/bin/ruby(vm_sendish+0xe) [0x55d3fe30e30b] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core) insns.def:773
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(vm_call0_body+0x552) [0x55d3fe3096e2] vm_eval.c:178
/usr/local/bin/ruby(rb_funcallv_scope+0x1b0) [0x55d3fe30d460] vm_eval.c:72
/usr/local/bin/ruby(autoload_require+0x84) [0x55d3fe2e45b4] variable.c:2369
/usr/local/bin/ruby(rb_ensure+0x114) [0x55d3fe14f934] eval.c:1166
/usr/local/bin/ruby(rb_autoload_load+0x22a) [0x55d3fe2ecffa] variable.c:2499
/usr/local/bin/ruby(rb_const_lookup+0x0) [0x55d3fe2ee5eb] variable.c:2585
/usr/local/bin/ruby(rb_const_search_from) variable.c:2571
/usr/local/bin/ruby(rb_const_search) variable.c:2608
/usr/local/bin/ruby(rb_const_get_0) variable.c:2549
/usr/local/bin/ruby(rb_const_get_at) variable.c:2631
/usr/local/bin/ruby(rb_mod_const_get+0x11d) [0x55d3fe1dc74d] object.c:2475
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0xe) [0x55d3fe30e30b] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core) insns.def:773
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(rb_yield+0x24e) [0x55d3fe30849e] vm.c:1260
/usr/local/bin/ruby(dir_yield+0x5) [0x55d3fe39c013] dir.c:776
/usr/local/bin/ruby(dir_each_entry) dir.c:833
/usr/local/bin/ruby(dir_each) dir.c:803
/usr/local/bin/ruby(rb_ensure+0x114) [0x55d3fe14f934] eval.c:1166
/usr/local/bin/ruby(dir_foreach+0x9c) [0x55d3fe39c64c] dir.c:3013
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(rb_yield+0x557) [0x55d3fe3087a7] vm.c:1260
/usr/local/bin/ruby(rb_ensure+0x114) [0x55d3fe14f934] eval.c:1166
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(vm_call0_body+0x552) [0x55d3fe3096e2] vm_eval.c:178
/usr/local/bin/ruby(rb_call0+0x210) [0x55d3fe30c4b0] vm_eval.c:72
/usr/local/bin/ruby(rb_funcall_with_block_kw+0x4f) [0x55d3fe30cf3f] vm_eval.c:845
/usr/local/bin/ruby(rb_yield+0x3ac) [0x55d3fe3085fc] vm_insnhelper.c:3758
/usr/local/bin/ruby(RB_FL_TEST_RAW+0x0) [0x55d3fe330f8c] array.c:2534
/usr/local/bin/ruby(RB_FL_ANY_RAW) ./include/ruby/internal/fl_type.h:295
/usr/local/bin/ruby(rb_array_len) ./include/ruby/internal/core/rarray.h:135
/usr/local/bin/ruby(rb_ary_each) array.c:2533
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(yield_under+0x3f9) [0x55d3fe319019] vm.c:1260
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(rb_yield+0x24e) [0x55d3fe30849e] vm.c:1260
/usr/local/bin/ruby(RB_FL_TEST_RAW+0x0) [0x55d3fe330f8c] array.c:2534
/usr/local/bin/ruby(RB_FL_ANY_RAW) ./include/ruby/internal/fl_type.h:295
/usr/local/bin/ruby(rb_array_len) ./include/ruby/internal/core/rarray.h:135
/usr/local/bin/ruby(rb_ary_each) array.c:2533
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(vm_call0_body+0x552) [0x55d3fe3096e2] vm_eval.c:178
/usr/local/bin/ruby(rb_vm_call_kw+0xcd) [0x55d3fe31634d] vm_eval.c:57
/usr/local/bin/ruby(rb_method_call_pass_called_kw+0x82) [0x55d3fe218ae2] proc.c:2437
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(rb_yield+0x24e) [0x55d3fe30849e] vm.c:1260
/usr/local/bin/ruby(RB_FL_TEST_RAW+0x0) [0x55d3fe330f8c] array.c:2534
/usr/local/bin/ruby(RB_FL_ANY_RAW) ./include/ruby/internal/fl_type.h:295
/usr/local/bin/ruby(rb_array_len) ./include/ruby/internal/core/rarray.h:135
/usr/local/bin/ruby(rb_ary_each) array.c:2533
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(vm_call0_body+0x552) [0x55d3fe3096e2] vm_eval.c:178
/usr/local/bin/ruby(rb_vm_call_kw+0xcd) [0x55d3fe31634d] vm_eval.c:57
/usr/local/bin/ruby(rb_method_call_pass_called_kw+0x82) [0x55d3fe218ae2] proc.c:2437
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(rb_yield+0x24e) [0x55d3fe30849e] vm.c:1260
/usr/local/bin/ruby(RB_FL_TEST_RAW+0x0) [0x55d3fe330f8c] array.c:2534
/usr/local/bin/ruby(RB_FL_ANY_RAW) ./include/ruby/internal/fl_type.h:295
/usr/local/bin/ruby(rb_array_len) ./include/ruby/internal/core/rarray.h:135
/usr/local/bin/ruby(rb_ary_each) array.c:2533
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(vm_call0_body+0x552) [0x55d3fe3096e2] vm_eval.c:178
/usr/local/bin/ruby(rb_vm_call_kw+0xcd) [0x55d3fe31634d] vm_eval.c:57
/usr/local/bin/ruby(rb_method_call_pass_called_kw+0x82) [0x55d3fe218ae2] proc.c:2437
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(rb_yield+0x24e) [0x55d3fe30849e] vm.c:1260
/usr/local/bin/ruby(RB_FL_TEST_RAW+0x0) [0x55d3fe330f8c] array.c:2534
/usr/local/bin/ruby(RB_FL_ANY_RAW) ./include/ruby/internal/fl_type.h:295
/usr/local/bin/ruby(rb_array_len) ./include/ruby/internal/core/rarray.h:135
/usr/local/bin/ruby(rb_ary_each) array.c:2533
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(vm_call0_body+0x552) [0x55d3fe3096e2] vm_eval.c:178
/usr/local/bin/ruby(rb_vm_call_kw+0xcd) [0x55d3fe31634d] vm_eval.c:57
/usr/local/bin/ruby(rb_method_call_pass_called_kw+0x82) [0x55d3fe218ae2] proc.c:2437
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(rb_yield+0x24e) [0x55d3fe30849e] vm.c:1260
/usr/local/bin/ruby(RB_FL_TEST_RAW+0x0) [0x55d3fe330f8c] array.c:2534
/usr/local/bin/ruby(RB_FL_ANY_RAW) ./include/ruby/internal/fl_type.h:295
/usr/local/bin/ruby(rb_array_len) ./include/ruby/internal/core/rarray.h:135
/usr/local/bin/ruby(rb_ary_each) array.c:2533
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(vm_call0_body+0x552) [0x55d3fe3096e2] vm_eval.c:178
/usr/local/bin/ruby(rb_vm_call_kw+0xcd) [0x55d3fe31634d] vm_eval.c:57
/usr/local/bin/ruby(rb_method_call_pass_called_kw+0x82) [0x55d3fe218ae2] proc.c:2437
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(rb_yield+0x24e) [0x55d3fe30849e] vm.c:1260
/usr/local/bin/ruby(RB_FL_TEST_RAW+0x0) [0x55d3fe330f8c] array.c:2534
/usr/local/bin/ruby(RB_FL_ANY_RAW) ./include/ruby/internal/fl_type.h:295
/usr/local/bin/ruby(rb_array_len) ./include/ruby/internal/core/rarray.h:135
/usr/local/bin/ruby(rb_ary_each) array.c:2533
/usr/local/bin/ruby(vm_cfp_consistent_p+0x0) [0x55d3fe309357] vm_eval.c:135
/usr/local/bin/ruby(vm_call0_cfunc_with_frame) vm_eval.c:137
/usr/local/bin/ruby(vm_call0_cfunc) vm_eval.c:149
/usr/local/bin/ruby(vm_call0_body) vm_eval.c:182
/usr/local/bin/ruby(rb_vm_call_kw+0xcd) [0x55d3fe31634d] vm_eval.c:57
/usr/local/bin/ruby(rb_method_call_pass_called_kw+0x82) [0x55d3fe218ae2] proc.c:2437
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_call_method_each_type+0x79) [0x55d3fe305a39] vm_insnhelper.c:3433
/usr/local/bin/ruby(vm_call_method+0xb4) [0x55d3fe306114] vm_insnhelper.c:3551
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0x8ed) [0x55d3fe304f8d] vm.c:2169
/usr/local/bin/ruby(load_iseq_eval+0x9) [0x55d3fe1b4810] load.c:594
/usr/local/bin/ruby(require_internal) load.c:1065
/usr/local/bin/ruby(rb_require_string+0x13) [0x55d3fe1b4bd5] load.c:1142
/usr/local/bin/ruby(rb_f_require) load.c:838
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_call_method_each_type+0x79) [0x55d3fe305a39] vm_insnhelper.c:3433
/usr/local/bin/ruby(vm_call_alias+0x87) [0x55d3fe306db7] vm_insnhelper.c:3083
/usr/local/bin/ruby(vm_sendish+0xe) [0x55d3fe30e30b] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core) insns.def:773
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(load_iseq_eval+0x9) [0x55d3fe1b4810] load.c:594
/usr/local/bin/ruby(require_internal) load.c:1065
/usr/local/bin/ruby(rb_require_string+0x13) [0x55d3fe1b4bd5] load.c:1142
/usr/local/bin/ruby(rb_f_require) load.c:838
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_call_method_each_type+0x79) [0x55d3fe305a39] vm_insnhelper.c:3433
/usr/local/bin/ruby(vm_call_alias+0x87) [0x55d3fe306db7] vm_insnhelper.c:3083
/usr/local/bin/ruby(vm_sendish+0xe) [0x55d3fe30e30b] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core) insns.def:773
/usr/local/bin/ruby(rb_vm_exec+0x8ed) [0x55d3fe304f8d] vm.c:2169
/usr/local/bin/ruby(load_iseq_eval+0x9) [0x55d3fe1b4810] load.c:594
/usr/local/bin/ruby(require_internal) load.c:1065
/usr/local/bin/ruby(rb_require_string+0x13) [0x55d3fe1b4bd5] load.c:1142
/usr/local/bin/ruby(rb_f_require) load.c:838
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_call_method_each_type+0x79) [0x55d3fe305a39] vm_insnhelper.c:3433
/usr/local/bin/ruby(vm_call_alias+0x87) [0x55d3fe306db7] vm_insnhelper.c:3083
/usr/local/bin/ruby(vm_sendish+0xe) [0x55d3fe30e30b] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core) insns.def:773
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(load_iseq_eval+0x9) [0x55d3fe1b4810] load.c:594
/usr/local/bin/ruby(require_internal) load.c:1065
/usr/local/bin/ruby(rb_require_string+0x13) [0x55d3fe1b4bd5] load.c:1142
/usr/local/bin/ruby(rb_f_require) load.c:838
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_call_method_each_type+0x79) [0x55d3fe305a39] vm_insnhelper.c:3433
/usr/local/bin/ruby(vm_call_alias+0x87) [0x55d3fe306db7] vm_insnhelper.c:3083
/usr/local/bin/ruby(vm_call_method_each_type+0x249) [0x55d3fe305c09] vm_insnhelper.c:3463
/usr/local/bin/ruby(vm_call_method+0xb4) [0x55d3fe306114] vm_insnhelper.c:3551
/usr/local/bin/ruby(vm_sendish+0xe) [0x55d3fe30e30b] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core) insns.def:773
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(rb_yield+0x24e) [0x55d3fe30849e] vm.c:1260
/usr/local/bin/ruby(RB_FL_TEST_RAW+0x0) [0x55d3fe330f8c] array.c:2534
/usr/local/bin/ruby(RB_FL_ANY_RAW) ./include/ruby/internal/fl_type.h:295
/usr/local/bin/ruby(rb_array_len) ./include/ruby/internal/core/rarray.h:135
/usr/local/bin/ruby(rb_ary_each) array.c:2533
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_sendish+0x1c9) [0x55d3fe303f19] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core+0x1d2) [0x55d3fe30e372] insns.def:754
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(vm_call0_body+0x552) [0x55d3fe3096e2] vm_eval.c:178
/usr/local/bin/ruby(rb_call0+0x210) [0x55d3fe30c4b0] vm_eval.c:72
/usr/local/bin/ruby(send_internal+0xf2) [0x55d3fe30ca52] vm_eval.c:1258
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_call_method_each_type+0x79) [0x55d3fe305a39] vm_insnhelper.c:3433
/usr/local/bin/ruby(vm_call_method+0xb4) [0x55d3fe306114] vm_insnhelper.c:3551
/usr/local/bin/ruby(vm_sendish+0xe) [0x55d3fe30e30b] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core) insns.def:773
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(raise_load_if_failed+0x0) [0x55d3fe1b2f91] load.c:594
/usr/local/bin/ruby(rb_load_internal) load.c:654
/usr/local/bin/ruby(rb_f_load) load.c:726
/usr/local/bin/ruby(vm_call_cfunc_with_frame+0x11b) [0x55d3fe2f96eb] vm_insnhelper.c:2943
/usr/local/bin/ruby(vm_call_method_each_type+0x79) [0x55d3fe305a39] vm_insnhelper.c:3433
/usr/local/bin/ruby(vm_call_method+0xb4) [0x55d3fe306114] vm_insnhelper.c:3551
/usr/local/bin/ruby(vm_sendish+0xe) [0x55d3fe30e30b] vm_insnhelper.c:4516
/usr/local/bin/ruby(vm_exec_core) insns.def:773
/usr/local/bin/ruby(rb_vm_exec+0xb6) [0x55d3fe304756] vm.c:2160
/usr/local/bin/ruby(rb_ec_exec_node+0xed) [0x55d3fe14989d] eval.c:317
/usr/local/bin/ruby(ruby_run_node+0x4f) [0x55d3fe14e8bf] eval.c:375
/usr/local/bin/ruby(main+0x73) [0x55d3fe140c73] ./main.c:47
Updated by xtkoba (Tee KOBAYASHI) over 3 years ago
This issue reminded me of #17606, which seems to actually affect also i386-mswin32 according to:
https://docs.microsoft.com/en-us/cpp/build/reference/zp-struct-member-alignment
If so, the following patch is worth applying:
--- a/vm_core.h
+++ b/vm_core.h
@@ -218,7 +218,7 @@
/* iseq data type */
typedef struct rb_compile_option_struct rb_compile_option_t;
-#if (SIZEOF_SERIAL_T > SIZEOF_VOIDP) && defined(__CYGWIN__)
+#if (SIZEOF_SERIAL_T > SIZEOF_VOIDP) && (defined(_MSC_VER) || defined(__CYGWIN__))
#pragma pack(push, 4) /* == SIZEOF_VOIDP */
#endif
@@ -232,7 +232,7 @@
// v3
};
-#if (SIZEOF_SERIAL_T > SIZEOF_VOIDP) && defined(__CYGWIN__)
+#if (SIZEOF_SERIAL_T > SIZEOF_VOIDP) && (defined(_MSC_VER) || defined(__CYGWIN__))
#pragma pack(pop)
#endif
NuriYuri (Youri Nouri) Could you try applying the above patch and see if anything changes?
Updated by xtkoba (Tee KOBAYASHI) over 3 years ago
byroot (Jean Boussier) #note-1 looks like another bug. Please create a separate ticket if need be.
Updated by NuriYuri (Youri Nouri) over 3 years ago
It compiles & run completely with those changes.
Thanks a lot.
Updated by xtkoba (Tee KOBAYASHI) over 3 years ago
FTR e03bf76b312e9cba0e44488fcd8f67099af816cb by nobu (Nobuyoshi Nakada) should solve this in a more general way. I think we can close this now.
Updated by jeremyevans0 (Jeremy Evans) over 3 years ago
- Status changed from Open to Closed