Skip to content

Bridj (0.7-SNAPSHOT) Native method overriden in CPPObject broken #534

Closed

Description

@obethery

Sometimes, Java callback from CPP invocation (override a native method with a non-native method in a class extending CPPObject ) throws NullPointerException because BridJ.getJavaObjectForNativePointer return null in native code (CPPToJavaCallHandler_Sub)

getJavaObjectForNativePointer try to find a NativeObject instance in a WeakHashMap<Long,NativeObject> (knownNativeObjects field in BridJ). It's odd to use Long as weak key. They are garbaged very quickly so a null pointer is thrown because NativeObject instance couldn't be found.

Activity

  1. ochafik commented on Mar 9, 2015

    @ochafik
    Member

    Hi @obethery ,

    Thanks a lot for taking the time to diagnose the problem and to find a fix!
    In retrospect it was a silly design mistake to use a weak hashmap for this, so I've gone for another simpler route... It's in the fresh 0.7.0 release, please let me know if you face any issue with it!

    Cheers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions