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

Reply via email to