今日の ruby build 2023-12-02
今日のビルド
4ee1f0fb5de08acd659ec18409fca433d1bf371a までを pull ってきてビルド。エラー/警告ともになし。
Files: 1047 Classes: 1270 ( 311 undocumented) Modules: 241 ( 78 undocumented) Constants: 2450 ( 777 undocumented) Attributes: 1491 ( 246 undocumented) Methods: 12511 (2322 undocumented) Total: 17963 (3734 undocumented) 79.21% documented Elapsed: 32.6s
今日のテスト
make test-all
を実行。
=> "foo" => "bar" => "baz" => "xyz" => 2 "bar" 3 "baz" 4 "xyz" => 1 => 1 => 1 1 1) Failure: TestIRB::EvalHistoryTest#test_eval_history_respects_given_limit [/home/jinroq/dev/sandbox/my-ruby-build/build-ruby-repo/test/irb/test_eval_history.rb:65]: Expected /2\ "bar"\n3\ "baz"\n4\ "xyz"\n/ to match "". 2) Failure: TestIRB::EvalHistoryTest#test_eval_history_can_be_retrieved_with_double_underscore [/home/jinroq/dev/sandbox/my-ruby-build/build-ruby-repo/test/irb/test_eval_history.rb:50]: Expected /=>\ 1\n=>\ 1\ 1\n/ to match "". Finished tests in 752.801612s, 35.2935 tests/s, 10678.0098 assertions/s. 26569 tests, 8038423 assertions, 2 failures, 0 errors, 101 skips ruby -v: ruby 3.3.0dev (2023-12-02T04:32:04Z master 4ee1f0fb5d) [x86_64-linux] make: *** [uncommon.mk:937: yes-test-all] エラー 2
今日のビルド(Universal Parser 有効化)
4ee1f0fb5de08acd659ec18409fca433d1bf371a までを pull ってきてビルド。
ruby_parser.c: In function ‘rb_parser_config_initialize’: ruby_parser.c:721:29: warning: assignment left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format] 721 | config->compile_warn = rb_compile_warn; | ^ ruby_parser.c:722:29: warning: assignment left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format] 722 | config->compile_warning = rb_compile_warning; | ^ ruby_parser.c:723:29: warning: assignment left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format] 723 | config->bug = rb_bug; | ^ ruby_parser.c:724:29: warning: assignment left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format] 724 | config->fatal = rb_fatal; | ^ ruby_parser.c: At top level: cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics
Files: 1047 Classes: 1270 ( 311 undocumented) Modules: 241 ( 78 undocumented) Constants: 2450 ( 777 undocumented) Attributes: 1491 ( 246 undocumented) Methods: 12511 (2322 undocumented) Total: 17963 (3734 undocumented) 79.21% documented Elapsed: 37.3s
今日のテスト(Universal Parser 有効化)
make test-all
を実行。
=> "foo" => "bar" => "baz" => "xyz" => 2 "bar" 3 "baz" 4 "xyz" => 1 => 1 => 1 1 1) Failure: TestIRB::EvalHistoryTest#test_eval_history_respects_given_limit [/home/jinroq/dev/sandbox/my-ruby-build/build-up-ruby-repo/test/irb/test_eval_history.rb:65]: Expected /2\ "bar"\n3\ "baz"\n4\ "xyz"\n/ to match "". 2) Failure: TestIRB::EvalHistoryTest#test_eval_history_can_be_retrieved_with_double_underscore [/home/jinroq/dev/sandbox/my-ruby-build/build-up-ruby-repo/test/irb/test_eval_history.rb:50]: Expected /=>\ 1\n=>\ 1\ 1\n/ to match "". Finished tests in 797.543233s, 33.3136 tests/s, 10077.0951 assertions/s. 26569 tests, 8036919 assertions, 2 failures, 0 errors, 101 skips ruby -v: ruby 3.3.0dev (2023-12-02T04:32:04Z master 4ee1f0fb5d) [x86_64-linux] make: *** [uncommon.mk:937: yes-test-all] エラー 2
今日のビルド(YJIT 有効化)
4ee1f0fb5de08acd659ec18409fca433d1bf371a までを pull ってきてビルド。エラー/警告ともになし。
今日のテスト(YJIT 有効化)
make test-all
を実行。
=> "foo" => "bar" => "baz" => "xyz" => 2 "bar" 3 "baz" 4 "xyz" => 1 => 1 => 1 1 1) Failure: TestIRB::EvalHistoryTest#test_eval_history_respects_given_limit [/home/jinroq/dev/sandbox/my-ruby-build/build-yjit-ruby-repo/test/irb/test_eval_history.rb:65]: Expected /2\ "bar"\n3\ "baz"\n4\ "xyz"\n/ to match "". 2) Failure: TestIRB::EvalHistoryTest#test_eval_history_can_be_retrieved_with_double_underscore [/home/jinroq/dev/sandbox/my-ruby-build/build-yjit-ruby-repo/test/irb/test_eval_history.rb:50]: Expected /=>\ 1\n=>\ 1\ 1\n/ to match "". Finished tests in 744.978354s, 35.6641 tests/s, 10786.9322 assertions/s. 26569 tests, 8036031 assertions, 2 failures, 0 errors, 101 skips ruby -v: ruby 3.3.0dev (2023-12-02T04:32:04Z master 4ee1f0fb5d) [x86_64-linux] make: *** [uncommon.mk:937: yes-test-all] エラー 2
今日のビルド(RJIT 有効化)
4ee1f0fb5de08acd659ec18409fca433d1bf371a までを pull ってきてビルド。エラー/警告ともになし。
今日のテスト(RJIT 有効化)
make test-all
を実行。
=> 1 => 1 => 1 1 => "foo" => "bar" => "baz" => "xyz" => 2 "bar" 3 "baz" 4 "xyz" 1) Failure: TestRubyOptimization#test_objtostring [/home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/test/ruby/test_optimization.rb:938]: assert_separately failed with error message pid 3672198 exit 1 | /home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/lib/ruby_vm/rjit/c_pointer.rb:341:in `with_class_name': undefined method `empty?' for nil (NoMethodError) | from /home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/lib/ruby_vm/rjit/c_type.rb:69:in `new' | from <internal:rjit_c>:963:in `rb_builtin_function' | from /home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/lib/ruby_vm/rjit/insn_compiler.rb:2607:in `opt_invokebuiltin_delegate' | from /home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/lib/ruby_vm/rjit/insn_compiler.rb:130:in `compile' | from /home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/lib/ruby_vm/rjit/compiler.rb:319:in `compile_block' | from /home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/lib/ruby_vm/rjit/compiler.rb:148:in `block in branch_stub_hit' | from <internal:kernel>:133:in `then' | from /home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/lib/ruby_vm/rjit/compiler.rb:147:in `branch_stub_hit' | from <internal:array>:106:in `first' | from /home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/tool/lib/core_assertions.rb:524:in `assert' | from /home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/tool/lib/test/unit/assertions.rb:184:in `assert_match' | from -:14:in `block in <main>' | from -:13:in `each' | from -:13:in `<main>' 2) Failure: TestRubyOptimization#test_block_parameter_should_not_create_objects [/home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/test/ruby/test_optimization.rb:785]: <0> expected but was <19>. 3) Failure: TestIRB::EvalHistoryTest#test_eval_history_can_be_retrieved_with_double_underscore [/home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/test/irb/test_eval_history.rb:50]: Expected /=>\ 1\n=>\ 1\ 1\n/ to match "". 4) Failure: TestIRB::EvalHistoryTest#test_eval_history_respects_given_limit [/home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/test/irb/test_eval_history.rb:65]: Expected /2\ "bar"\n3\ "baz"\n4\ "xyz"\n/ to match "". 5) Failure: TestGc#test_gc_parameter_init_slots [/home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/test/ruby/test_gc.rb:454]: {:slot_size=>80, :heap_allocatable_pages=>0, :heap_eden_pages=>12, :heap_eden_slots=>9821, :heap_tomb_pages=>0, :heap_tomb_slots=>0, :total_allocated_pages=>13, :total_freed_pages=>1, :force_major_gc_count=>0, :force_incremental_marking_finish_count=>0, :total_allocated_objects=>22692, :total_freed_objects=>18673}. Expected 9821 to be >= 10000. 6) Failure: TestGc#test_thrashing_for_young_objects [/home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/test/ruby/test_gc.rb:645]: before_stats: {:count=>27, :time=>53, :marking_time=>36, :sweeping_time=>17, :heap_allocated_pages=>158, :heap_sorted_length=>304, :heap_allocatable_pages=>146, :heap_available_slots=>214176, :heap_live_slots=>183692, :heap_free_slots=>30484, :heap_final_slots=>0, :heap_marked_slots=>132949, :heap_eden_pages=>158, :heap_tomb_pages=>0, :total_allocated_pages=>161, :total_freed_pages=>3, :total_allocated_objects=>1359550, :total_freed_objects=>1175858, :malloc_increase_bytes=>2120, :malloc_increase_bytes_limit=>16777216, :minor_gc_count=>22, :major_gc_count=>5, :compact_count=>0, :read_barrier_faults=>0, :total_moved_objects=>0, :remembered_wb_unprotected_objects=>0, :remembered_wb_unprotected_objects_limit=>1245, :old_objects=>132939, :old_objects_limit=>249050, :oldmalloc_increase_bytes=>2120, :oldmalloc_increase_bytes_limit=>19350882} before_stat_heap: {0=>{:slot_size=>40, :heap_allocatable_pages=>0, :heap_eden_pages=>119, :heap_eden_slots=>194853, :heap_tomb_pages=>0, :heap_tomb_slots=>0, :total_allocated_pages=>119, :total_freed_pages=>0, :force_major_gc_count=>0, :force_incremental_marking_finish_count=>1, :total_allocated_objects=>1320495, :total_freed_objects=>1143510}, 1=>{:slot_size=>80, :heap_allocatable_pages=>0, :heap_eden_pages=>12, :heap_eden_slots=>9821, :heap_tomb_pages=>0, :heap_tomb_slots=>0, :total_allocated_pages=>13, :total_freed_pages=>1, :force_major_gc_count=>0, :force_incremental_marking_finish_count=>0, :total_allocated_objects=>22891, :total_freed_objects=>18933}, 2=>{:slot_size=>160, :heap_allocatable_pages=>2, :heap_eden_pages=>21, :heap_eden_slots=>8585, :heap_tomb_pages=>0, :heap_tomb_slots=>0, :total_allocated_pages=>23, :total_freed_pages=>2, :force_major_gc_count=>0, :force_incremental_marking_finish_count=>0, :total_allocated_objects=>16154, :total_freed_objects=>13349}, 3=>{:slot_size=>320, :heap_allocatable_pages=>47, :heap_eden_pages=>3, :heap_eden_slots=>611, :heap_tomb_pages=>0, :heap_tomb_slots=>0, :total_allocated_pages=>3, :total_freed_pages=>0, :force_major_gc_count=>0, :force_incremental_marking_finish_count=>0, :total_allocated_objects=>57, :total_freed_objects=>48}, 4=>{:slot_size=>640, :heap_allocatable_pages=>97, :heap_eden_pages=>3, :heap_eden_slots=>306, :heap_tomb_pages=>0, :heap_tomb_slots=>0, :total_allocated_pages=>3, :total_freed_pages=>0, :force_major_gc_count=>0, :force_incremental_marking_finish_count=>0, :total_allocated_objects=>23, :total_freed_objects=>18}} after_stats: {:count=>43, :time=>68, :marking_time=>37, :sweeping_time=>31, :heap_allocated_pages=>158, :heap_sorted_length=>304, :heap_allocatable_pages=>146, :heap_available_slots=>214176, :heap_live_slots=>133214, :heap_free_slots=>80962, :heap_final_slots=>0, :heap_marked_slots=>133153, :heap_eden_pages=>158, :heap_tomb_pages=>0, :total_allocated_pages=>161, :total_freed_pages=>3, :total_allocated_objects=>2363861, :total_freed_objects=>2230647, :malloc_increase_bytes=>1912, :malloc_increase_bytes_limit=>16777216, :minor_gc_count=>38, :major_gc_count=>5, :compact_count=>0, :read_barrier_faults=>0, :total_moved_objects=>0, :remembered_wb_unprotected_objects=>0, :remembered_wb_unprotected_objects_limit=>1245, :old_objects=>133140, :old_objects_limit=>249050, :oldmalloc_increase_bytes=>9696, :oldmalloc_increase_bytes_limit=>19350882} after_stat_heap: {0=>{:slot_size=>40, :heap_allocatable_pages=>0, :heap_eden_pages=>119, :heap_eden_slots=>194853, :heap_tomb_pages=>0, :heap_tomb_slots=>0, :total_allocated_pages=>119, :total_freed_pages=>0, :force_major_gc_count=>0, :force_incremental_marking_finish_count=>1, :total_allocated_objects=>2324498, :total_freed_objects=>2198061}, 1=>{:slot_size=>80, :heap_allocatable_pages=>0, :heap_eden_pages=>12, :heap_eden_slots=>9821, :heap_tomb_pages=>0, :heap_tomb_slots=>0, :total_allocated_pages=>13, :total_freed_pages=>1, :force_major_gc_count=>0, :force_incremental_marking_finish_count=>0, :total_allocated_objects=>22974, :total_freed_objects=>18975}, 2=>{:slot_size=>160, :heap_allocatable_pages=>2, :heap_eden_pages=>21, :heap_eden_slots=>8585, :heap_tomb_pages=>0, :heap_tomb_slots=>0, :total_allocated_pages=>23, :total_freed_pages=>2, :force_major_gc_count=>0, :force_incremental_marking_finish_count=>0, :total_allocated_objects=>16373, :total_freed_objects=>13545}, 3=>{:slot_size=>320, :heap_allocatable_pages=>47, :heap_eden_pages=>3, :heap_eden_slots=>611, :heap_tomb_pages=>0, :heap_tomb_slots=>0, :total_allocated_pages=>3, :total_freed_pages=>0, :force_major_gc_count=>0, :force_incremental_marking_finish_count=>0, :total_allocated_objects=>57, :total_freed_objects=>48}, 4=>{:slot_size=>640, :heap_allocatable_pages=>97, :heap_eden_pages=>3, :heap_eden_slots=>306, :heap_tomb_pages=>0, :heap_tomb_slots=>0, :total_allocated_pages=>3, :total_freed_pages=>0, :force_major_gc_count=>0, :force_incremental_marking_finish_count=>0, :total_allocated_objects=>23, :total_freed_objects=>18}}. <0> expected but was <3>. 7) Failure: TestYJIT#test_compile_opt_getconstant_path [/home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/test/ruby/test_yjit.rb:460]: Expected to compile instructions opt_getconstant_path but didn't. iseq: == disasm: #<ISeq:block in <main>@-e:2 (2,15)-(12,1)> 0000 definemethod :get_foo, get_foo ( 3)[LiBc] 0003 putobject 123 ( 7)[Li] 0005 putspecialobject 3 0007 setconstant :FOO 0009 putself ( 9)[Li] 0010 opt_send_without_block <calldata!mid:get_foo, argc:0, FCALL|VCALL|ARGS_SIMPLE> 0012 pop 0013 putself ( 10)[Li] 0014 opt_send_without_block <calldata!mid:get_foo, argc:0, FCALL|VCALL|ARGS_SIMPLE> 0016 leave ( 12)[Br] == disasm: #<ISeq:get_foo@-e:3 (3,2)-(5,3)> 0000 opt_getconstant_path <ic:0 FOO> ( 4)[LiCa] 0002 leave ( 5)[Re] 8) Failure: TestYJIT#test_build_large_struct [/home/jinroq/dev/sandbox/my-ruby-build/build-rjit-ruby-repo/test/ruby/test_yjit.rb:881]: Expected to compile instructions opt_send_without_block but didn't. iseq: == disasm: #<ISeq:block in <main>@-e:2 (2,15)-(12,1)> 0000 putobject Object ( 3)[LiBc] 0002 opt_getconstant_path <ic:0 Struct> 0004 putobject :a 0006 putobject :b 0008 putobject :c 0010 putobject :d 0012 putobject :e 0014 putobject :f 0016 putobject :g 0018 putobject :h 0020 opt_send_without_block <calldata!mid:new, argc:8, ARGS_SIMPLE> 0022 swap 0023 setconstant :Foo 0025 definemethod :build_foo, build_foo ( 5)[Li] 0028 putself ( 9)[Li] 0029 opt_send_without_block <calldata!mid:build_foo, argc:0, FCALL|VCALL|ARGS_SIMPLE> 0031 pop 0032 putself ( 10)[Li] 0033 opt_send_without_block <calldata!mid:build_foo, argc:0, FCALL|VCALL|ARGS_SIMPLE> 0035 leave ( 12)[Br] == disasm: #<ISeq:build_foo@-e:5 (5,0)-(7,3)> 0000 opt_getconstant_path <ic:0 ::Foo> ( 6)[LiCa] 0002 putobject :a 0004 putobject :b 0006 putobject :c 0008 putobject :d 0010 putobject :e 0012 putobject :f 0014 putobject :g 0016 putobject :h 0018 opt_send_without_block <calldata!mid:new, argc:8, ARGS_SIMPLE> 0020 leave ( 7)[Re] Finished tests in 1100.152841s, 24.1503 tests/s, 7451.2519 assertions/s. 26569 tests, 8197516 assertions, 8 failures, 0 errors, 116 skips ruby -v: ruby 3.3.0dev (2023-12-02T04:32:04Z master 4ee1f0fb5d) +RJIT [x86_64-linux] make: *** [uncommon.mk:937: yes-test-all] エラー 8
一個 PR 投げてみた。