On Tue, 7 Feb 2023 08:27:57 GMT, SUN Guoyun <d...@openjdk.org> wrote:
>> Hi all, >> When -Xcomp be used, this testcase will use more codecaches, causing the GC >> to be triggered early, then causing this test failed on LoongArch64 >> architecture. >> >> This PR fix the issue, Please help review it. >> >> Thanks. > > SUN Guoyun has updated the pull request incrementally with one additional > commit since the last revision: > > 8301737: > java/rmi/server/UnicastRemoteObject/serialFilter/FilterUROTest.java fail with > -Xcomp As you can guess, this could be a BUG in RMI framework, which has a WeakReference but not Strong-Reference var `weakImpl`, can be collected by GC in a timely manner. and there are three thread. putTarget() // exists in server thread getTarget() // exists in client thread removeTarget() // exists in reaper thread So, if GC is triggered before client thread, then reaper thread must recycle impl and target. But I'm not sure what to do with variable `weakImpl` at the moment. <pre><code class="java"> // src/java.rmi/share/classes/sun/rmi/transport/Target.java 45 public final class Target { 50 /** weak reference to remote object implementation */ 51 private final WeakRef weakImpl; // Is it reasonable to modify it to a strong ref? </code></pre> ------------- PR: https://git.openjdk.org/jdk/pull/12399