The demo of android (adroid_deploy) run with crash

I test the android demo.When I run the TVM Android Demo.It have these errors:
" /tvm/apps/android_deploy/app/src/main/jni/jni_helper_func.h:194: Do NOT know how to handle return type code 119"
I find when it run to this code :
Function getOutputFunc = graphRuntimeModule.getFunction(“get_output”);
How can I fix it, thank you very much!

met the same issue

2018-10-24 12:04:57.408 31957-32063/? E/libc++abi: terminating with uncaught exception of type dmlc::Error: [12:04:57] /home/hower/work/tvm/apps/android_deploy/app/src/main/jni/jni_helper_func.h:194: Do NOT know how to handle return type code 125
2018-10-24 12:04:57.408 31957-32063/? A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 32063 (AsyncTask #2)
2018-10-24 12:04:57.571 32080-32080/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2018-10-24 12:04:57.571 32080-32080/? A/DEBUG: Build fingerprint: ‘Xiaomi/sagit/sagit:8.0.0/OPR1.170623.027/V10.0.2.0.OCACNFH:user/release-keys’
2018-10-24 12:04:57.571 32080-32080/? A/DEBUG: Revision: ‘0’
2018-10-24 12:04:57.571 32080-32080/? A/DEBUG: ABI: ‘arm64’
2018-10-24 12:04:57.571 32080-32080/? A/DEBUG: pid: 31957, tid: 32063, name: AsyncTask #2 >>> ml.dmlc.tvm.android.demo <<<
2018-10-24 12:04:57.571 32080-32080/? A/DEBUG: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
2018-10-24 12:04:57.575 32080-32080/? A/DEBUG: Abort message: ‘terminating with uncaught exception of type dmlc::Error: [12:04:57] /home/hower/work/tvm/apps/android_deploy/app/src/main/jni/jni_helper_func.h:194: Do NOT know how to handle return type code 125’
2018-10-24 12:04:57.575 32080-32080/? A/DEBUG: x0 0000000000000000 x1 0000000000007d3f x2 0000000000000006 x3 0000000000000008
2018-10-24 12:04:57.575 32080-32080/? A/DEBUG: x4 fefefefeff343130 x5 fefefefeff343130 x6 fefefefeff343130 x7 7f7f7f7f7f7f7f7f
2018-10-24 12:04:57.575 32080-32080/? A/DEBUG: x8 0000000000000083 x9 cf67a302e820386a x10 0000000000000000 x11 0000000000000001
2018-10-24 12:04:57.575 32080-32080/? A/DEBUG: x12 ffffffffffffffff x13 0000000000000001 x14 0017b7a92d421741 x15 00009c3c2269aab1
2018-10-24 12:04:57.575 32080-32080/? A/DEBUG: x16 0000007df06d22e8 x17 0000007df0673d2c x18 0000000000000020 x19 0000000000007cd5
2018-10-24 12:04:57.575 32080-32080/? A/DEBUG: x20 0000000000007d3f x21 0000007d9f9fd508 x22 ffffff80ffffffc8 x23 0000007d9f9fd5c0
2018-10-24 12:04:57.575 32080-32080/? A/DEBUG: x24 0000007d9f9fd4a0 x25 0000007d9f9fd4e0 x26 0000000000000000 x27 0000000000000001
2018-10-24 12:04:57.575 32080-32080/? A/DEBUG: x28 0000000000000004 x29 0000007d9f9fd410 x30 0000007df0627e54
2018-10-24 12:04:57.575 32080-32080/? A/DEBUG: sp 0000007d9f9fd3d0 pc 0000007df0673d34 pstate 0000000060000000
2018-10-24 12:04:57.579 32080-32080/? A/DEBUG: backtrace:
2018-10-24 12:04:57.579 32080-32080/? A/DEBUG: #00 pc 0000000000069d34 /system/lib64/libc.so (tgkill+8)
2018-10-24 12:04:57.579 32080-32080/? A/DEBUG: #01 pc 000000000001de50 /system/lib64/libc.so (abort+88)
2018-10-24 12:04:57.579 32080-32080/? A/DEBUG: #02 pc 00000000000e38d0 /data/app/ml.dmlc.tvm.android.demo-6LWB5TuekfduZ8BwX8PiGg==/lib/arm64/libtvm4j_runtime_packed.so
2018-10-24 12:04:57.579 32080-32080/? A/DEBUG: #03 pc 00000000000e3a30 /data/app/ml.dmlc.tvm.android.demo-6LWB5TuekfduZ8BwX8PiGg==/lib/arm64/libtvm4j_runtime_packed.so
2018-10-24 12:04:57.579 32080-32080/? A/DEBUG: #04 pc 00000000000e05d4 /data/app/ml.dmlc.tvm.android.demo-6LWB5TuekfduZ8BwX8PiGg==/lib/arm64/libtvm4j_runtime_packed.so
2018-10-24 12:04:57.579 32080-32080/? A/DEBUG: #05 pc 00000000000dfcdc /data/app/ml.dmlc.tvm.android.demo-6LWB5TuekfduZ8BwX8PiGg==/lib/arm64/libtvm4j_runtime_packed.so
2018-10-24 12:04:57.579 32080-32080/? A/DEBUG: #06 pc 00000000000dfc5c /data/app/ml.dmlc.tvm.android.demo-6LWB5TuekfduZ8BwX8PiGg==/lib/arm64/libtvm4j_runtime_packed.so (__cxa_throw+120)
2018-10-24 12:04:57.579 32080-32080/? A/DEBUG: #07 pc 00000000000638fc /data/app/ml.dmlc.tvm.android.demo-6LWB5TuekfduZ8BwX8PiGg==/lib/arm64/libtvm4j_runtime_packed.so (_ZN4dmlc15LogMessageFatalD2Ev+88)
2018-10-24 12:04:57.579 32080-32080/? A/DEBUG: #08 pc 0000000000071f30 /data/app/ml.dmlc.tvm.android.demo-6LWB5TuekfduZ8BwX8PiGg==/lib/arm64/libtvm4j_runtime_packed.so (_Z17tvmRetValueToJavaP7_JNIEnv8TVMValuei+244)
2018-10-24 12:04:57.579 32080-32080/? A/DEBUG: #09 pc 0000000000072b98 /data/app/ml.dmlc.tvm.android.demo-6LWB5TuekfduZ8BwX8PiGg==/lib/arm64/libtvm4j_runtime_packed.so (Java_ml_dmlc_tvm_LibInfo_tvmFuncCall+408)
2018-10-24 12:04:57.579 32080-32080/? A/DEBUG: #10 pc 000000000004c420 /data/app/ml.dmlc.tvm.android.demo-6LWB5TuekfduZ8BwX8PiGg==/oat/arm64/base.odex (offset 0x1c000)

I think the android app works before this PR https://github.com/dmlc/tvm/pull/1646.
Maybe later some changes in runtime break the app.

You can try to roll back and see if it works.

same issue with you.
my return code is 115.

@PariksheetPinjari909 Can you take a look?

Is the issue solved ? I’m facing the same issue while running the android_deploy demo app, but the return code is 123.

Have you updated to the latest TVM runtime, and are you using a custom model library or the one included with the demo?

Yes, I have updated the TVM runtime. I’m trying to do the demo with custom model.

The pipeline works fine with the library included in the demo.

My guess is that there is currently an ndk issue that is producing an incompatible library somehow. Can you try and see if an older ndk-bundle works for you? I would recommend 14b or earlier, preferably something that is built on gcc instead of clang (you can check this with opt/android-toolchain-arm64/bin/aarch64-linux-android-g++ --version).

1 Like