1

I got this error in runtime (c++ jni)

W/dalvikvm(24772): Invalid indirect reference 0x61382e48 in decodeIndirectRef
E/dalvikvm(24772): VM aborting
F/libc    (24772): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread 24975 (ldAndroidCaptur)

0x61382348 is a address that was passed from c++ to Java.

I don't know what mean is this message Invalid indirect reference 0x........ in decodeIndirectRef

Who can let me know it?

Thanks.

covernal
  • 329
  • 1
  • 3
  • 20
  • You should probably post the code that causes this error. – Michael Mar 16 '15 at 12:49
  • @Michael, Here is a code in my old question about this problem. http://stackoverflow.com/questions/28471691/qt-jni-invalid-indirect-reference-0x61382e48-in-decodeindirectref – covernal Mar 16 '15 at 13:56
  • It means a method was expecting a Java-language object, but received a C++-language pointer instead. See e.g. http://developer.android.com/training/articles/perf-jni.html#local_and_global_references – fadden Mar 16 '15 at 15:36
  • @fadden, As you can see [my old question](http://stackoverflow.com/questions/28471691/qt-jni-invalid-indirect-reference-0x61382e48-in-decodeindirectref), I passed jbyte array into a call. `int result = mAudioRecorder->callMethod("read", "([BII)I", buffers, offset, size);` In Android, AudioRecorder's read function received byte[] array parameters. In you think, what's my wrong in this call? – covernal Mar 16 '15 at 17:27

0 Answers0