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

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

From: Alexandr Miloslavskiy <alexandr.miloslavskiy_at_syntevo.com>
Date: Fri, 7 Aug 2020 20:47:07 +0200

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().
]]]

Received on 2020-08-07 21:07:05 CEST

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