glassechidna / zxing-cpp

ZXing C++ Library
Apache License 2.0
598 stars 435 forks source link

trouble with exception handling on Android NDK 12r with clang compiler #44

Open tagantroy opened 7 years ago

tagantroy commented 7 years ago

I used gcc compile,but google deprecated it in android ndk. I switched to clang and got this crash

Abort message: '/Volumes/Android/buildbot/src/android/ndk-r12-release/ndk/sources/cxx-stl/llvm-libc++abi/libcxxabi/src/abort_message.cpp:74: void abort_message(const char *, ...): assertion "terminating with uncaught exception of type zxing::ReaderException: Could not find three finder patterns" failed' 08-29 17:47:58.711 3035-3035/? A/DEBUG: r0 00000000 r1 0000651c r2 00000006 r3 d7c7f978 08-29 17:47:58.711 3035-3035/? A/DEBUG: r4 d7c7f980 r5 d7c7f930 r6 00000000 r7 0000010c 08-29 17:47:58.711 3035-3035/? A/DEBUG: r8 dc697ad1 r9 d7c7f734 sl d7c7f7bc fp d7c7f7b8 08-29 17:47:58.711 3035-3035/? A/DEBUG: ip 00000006 sp d7c7f198 lr f6f6f365 pc f6f71754 cpsr 400d0010 08-29 17:47:58.721 3035-3035/? A/DEBUG: backtrace: 08-29 17:47:58.721 3035-3035/? A/DEBUG: #00 pc 00042754 /system/lib/libc.so (tgkill+12) 08-29 17:47:58.721 3035-3035/? A/DEBUG: #01 pc 00040361 /system/lib/libc.so (pthread_kill+32) 08-29 17:47:58.721 3035-3035/? A/DEBUG: #02 pc 0001ca9b /system/lib/libc.so (raise+10) 08-29 17:47:58.721 3035-3035/? A/DEBUG: #03 pc 00019d19 /system/lib/libc.so (libc_android_abort+34) 08-29 17:47:58.721 3035-3035/? A/DEBUG: #04 pc 0001755c /system/lib/libc.so (abort+4) 08-29 17:47:58.721 3035-3035/? A/DEBUG: #05 pc 0001b6af /system/lib/libc.so (libc_fatal+16) 08-29 17:47:58.721 3035-3035/? A/DEBUG: #06 pc 00019da1 /system/lib/libc.so (assert2+20) 08-29 17:47:58.721 3035-3035/? A/DEBUG: #07 pc 000d40ad /data/app/com.amudo.bear-1/lib/arm/libzxing.so 08-29 17:47:58.721 3035-3035/? A/DEBUG: #08 pc 000d4171 /data/app/com.amudo.bear-1/lib/arm/libzxing.so 08-29 17:47:58.721 3035-3035/? A/DEBUG: #09 pc 000d2a19 /data/app/com.amudo.bear-1/lib/arm/libzxing.so 08-29 17:47:58.721 3035-3035/? A/DEBUG: #10 pc 000d23a1 /data/app/com.amudo.bear-1/lib/arm/libzxing.so (cxa_throw+96) 08-29 17:47:58.721 3035-3035/? A/DEBUG: #11 pc 000967a3 /data/app/com.amudo.bear-1/lib/arm/libzxing.so (_ZN5zxing6qrcode19FinderPatternFinder18selectBestPatternsEv+794) 08-29 17:47:58.721 3035-3035/? A/DEBUG: #12 pc 000972db /data/app/com.amudo.bear-1/lib/arm/libzxing.so (_ZN5zxing6qrcode19FinderPatternFinder4findERKNS_11DecodeHintsE+930) 08-29 17:47:58.721 3035-3035/? A/DEBUG: #13 pc 00093c73 /data/app/com.amudo.bear-1/lib/arm/libzxing.so (_ZN5zxing6qrcode8Detector6detectERKNS_11DecodeHintsE+206) 08-29 17:47:58.721 3035-3035/? A/DEBUG: #14 pc 0009cb19 /data/app/com.amudo.bear-1/lib/arm/libzxing.so (_ZN5zxing6qrcode12QRCodeReader6decodeENS_3RefINS_12BinaryBitmapEEENS_11DecodeHintsE+76) 08-29 17:47:58.721 3035-3035/? A/DEBUG: #15 pc 0017f1e8 /data/app/com.amudo.bear-1/lib/arm/libBEARGL.so 08-29 17:47:58.721 3035-3035/? A/DEBUG: #16 pc 0003fc63 /system/lib/libc.so (_ZL15__pthread_startPv+30) 08-29 17:47:58.721 3035-3035/? A/DEBUG: #17 pc 0001a39b /system/lib/libc.so (__start_thread+6)

i'm using this part of code

try{ ... }catch (zxing::Exception& e) {} to handle exceptions