From: takashikkbn@... Date: 2018-07-31T22:53:25+00:00 Subject: [ruby-core:88237] [Ruby trunk Bug#14949] test_jit.rb test_unload_units fails on 32-bit Issue #14949 has been updated by k0kubun (Takashi Kokubun). Eric, thanks to the header information, I could fix at least the RubyCI's Debian 7.11 i686. ---------------------------------------- Bug #14949: test_jit.rb test_unload_units fails on 32-bit https://bugs.ruby-lang.org/issues/14949#change-73260 * Author: normalperson (Eric Wong) * Status: Closed * Priority: Normal * Assignee: k0kubun (Takashi Kokubun) * Target version: * ruby -v: * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- I get multiple definition warnings from this test. It only happens on my 32-bit systems (both VM and real HW) on Debian 9. Attached log was made with below patch: ``` --- a/test/ruby/test_jit.rb +++ b/test/ruby/test_jit.rb @@ -541,32 +541,33 @@ def test_unload_units Dir.mktmpdir("jit_test_unload_units_") do |dir| # MIN_CACHE_SIZE is 10 out, err = eval_with_jit({"TMPDIR"=>dir}, "#{<<~"begin;"}\n#{<<~'end;'}", verbose: 1, min_calls: 1, max_cache: 10) begin; 10.times do |i| eval(<<-EOS) def mjit#{i} print #{i} end mjit#{i} EOS end end; assert_equal('0123456789', out) compactions, errs = err.lines.partition do |l| l.match?(/\AJIT compaction \(\d+\.\dms\): Compacted \d+ methods ->/) end assert_match(/\A#{JIT_SUCCESS_PREFIX}: block in
@-e:/, errs[0]) 9.times do |i| assert_match(/\A#{JIT_SUCCESS_PREFIX}: mjit#{i}@\(eval\):/, errs[i + 1]) end + warn "errs: #{errs.join}" assert_equal("Too many JIT code -- 1 units unloaded\n", errs[10]) assert_match(/\A#{JIT_SUCCESS_PREFIX}: mjit9@\(eval\):/, errs[11]) # On --jit-wait, when the number of JIT-ed code reaches --jit-max-cache, # it should trigger compaction. assert_equal(2, compactions.size) # verify .o files are deleted on unload_units assert_send([Dir, :empty?, dir]) end end ``` ---Files-------------------------------- unload_units.txt (25.2 KB) rb_mjit_header.h (811 KB) mjit_header_i686_native.h (784 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: