Pavel  Tupitsyn created IGNITE-1884:
---------------------------------------

             Summary: .Net: JNI local ref can't be accessed from another thread
                 Key: IGNITE-1884
                 URL: https://issues.apache.org/jira/browse/IGNITE-1884
             Project: Ignite
          Issue Type: Bug
          Components: interop
    Affects Versions: 1.1.4
            Reporter: Pavel  Tupitsyn
            Assignee: Pavel  Tupitsyn
             Fix For: 1.5


Documentation: 
https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/design.html

{code}
Local references are only valid in the thread in which they are created. The 
native code must not pass local references from one thread to another.
{code}

We have two places where we DO pass local JNI reference to another thread:
* CacheParallelLoadStoreAdapter
* CacheTestStore.LoadCache

For some reason it has worked for us before.
But renamings in IGNITE-1881 have caused test execution order to change, and 
these store tests cause process crash.

To reproduce, BinaryBuilderSelfTest (former PortableApiSelfTest) has to be 
executed before store tests. All other tests can be excluded. 100% repro rate: 
"FATAL ERROR in native method: Bad global or local ref passed to JNI".




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to