[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Fix JavaHL crash in TunnelAgent.CloseTunnelCallback after GC

From: Nathan Hartman <hartman.nathan_at_gmail.com>
Date: Sun, 16 Aug 2020 10:39:37 -0400

On Fri, Aug 7, 2020 at 3:07 PM Alexandr Miloslavskiy
<alexandr.miloslavskiy_at_syntevo.com> wrote:
>
> Please find test snippet and patch attached.
>
> [[[
> Fix JavaHL crash in TunnelAgent.CloseTunnelCallback after GC
>
> When jobject reference is kept across different JNI calls, a new global
> reference must be requested with NewGlobalRef(). Otherwise, GC is free
> to remove the object. Even if Java code keeps a reference to the object,
> GC can still move the object around, invalidating the kept jobject,
> which results in a native crash when trying to access it.
>
> [in subversion/bindings/javahl]
> * native/OperationContext.cpp
> (OperationContext::openTunnel): Add NewGlobalRef() for kept jobject.
> (OperationContext::closeTunnel): Add a matching DeleteGlobalRef().
> ]]]

Ping... this is the 2nd patch. Review would be appreciated :-)

Thanks,
Nathan
Received on 2020-08-16 16:39:58 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.