• Stephan Bergmann's avatar
    Finalizers must not access UNO objects · 3766f2a0
    Stephan Bergmann yazdı
    If the object being finalized (A) has the last reference to the UNO object (B),
    and B is actually a proxy for a remote UNO object, then A and B become eligible
    for finalization in parallel, and the finalizer of B may already have run when
    the finalizer for A runs.  That means that B may already have been removed from
    the remote bridge, causing an "unknown OID" error from the remote end when the
    finalizer of A now tries to make a call on B.
    
    (We try to assert that close() has actually been called before finalize() calls
    delete(), but the corresponding exception may be silently swallowed by the JVM
    finalization machinery.)
    
    This caused spurious "URP: queryInterface request message with unknown OID
    received" failures during JunitTest_dbaccess_unoapi.
    
    Change-Id: Ia47c3ef2c22a6adc75b1b8271eb4b3140accebe7
    3766f2a0
Jar_ConnectivityTools.mk 1.37 KB