From f2ec538851fdaea4ddae072ec59fd8eaa55597bf Mon Sep 17 00:00:00 2001
From: stepan <stepan.sindelar@oracle.com>
Date: Tue, 6 Mar 2018 13:27:00 +0100
Subject: [PATCH] Fix potential race in TruffleNFI_Context

---
 .../com/oracle/truffle/r/ffi/impl/nfi/TruffleNFI_Context.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nfi/TruffleNFI_Context.java b/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nfi/TruffleNFI_Context.java
index 089c1f6fba..b002c48847 100644
--- a/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nfi/TruffleNFI_Context.java
+++ b/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nfi/TruffleNFI_Context.java
@@ -369,13 +369,13 @@ final class TruffleNFI_Context extends RFFIContext {
             UnsafeAdapter.UNSAFE.freeMemory(ptr);
         }
         transientAllocations.clear();
+        RuntimeException lastUpCallEx = getLastUpCallException();
+        setLastUpCallException(null);
         if (hasAccessLock) {
             releaseLock();
         }
-        RuntimeException lastUpCallEx = getLastUpCallException();
         if (lastUpCallEx != null) {
             CompilerDirectives.transferToInterpreter();
-            setLastUpCallException(null);
             throw lastUpCallEx;
         }
     }
-- 
GitLab