Issue #14949 has been reported by normalperson (Eric Wong).

----------------------------------------
Bug #14949: test_jit.rb test_unload_units fails on 32-bit
https://bugs.ruby-lang.org/issues/14949

* Author: normalperson (Eric Wong)
* Status: Open
* 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 <main>@-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)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>