Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libqi crash on android #16

Open
lenLRX opened this issue May 20, 2016 · 1 comment
Open

libqi crash on android #16

lenLRX opened this issue May 20, 2016 · 1 comment

Comments

@lenLRX
Copy link

lenLRX commented May 20, 2016

I'm trying to build a app with libqi and it crash at the code below.
Application app = new Application(args);
I am using libqi-master libqi-java-master on Android 4.4.2 .
And the permissions are
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.permission.READ_OWNER_DATA"/> <uses-permission android:name="android.permission.CLEAR_APP_CACHE"/> <uses-permission android:name="android.permission.WRITE_OWNER_DATA"/>

Then I found the tombstone
[email protected]

backtrace:
#00 pc 000221a8 /system/lib/libc.so (tgkill+12)
#1 pc 00013265 /system/lib/libc.so (pthread_kill+48)
#2 pc 00013479 /system/lib/libc.so (raise+10)
#3 pc 000121af /system/lib/libc.so
#4 pc 00021a5c /system/lib/libc.so (abort+4)
#5 pc 00050810 /data/app-lib/com.example.acer.hello-1/libgnustl_shared.so (__gnu_cxx::__verbose_terminate_handler()+348)

stack:
76e67318 00000065
76e6731c 00000004
76e67320 4010d05d /system/lib/libc.so (dlmalloc)
76e67324 00000065
76e67328 76e67374 [stack:25740]
76e6732c 2e7f0a89
76e67330 0000002f
76e67334 2e7f0a89
76e67338 0000000b
76e6733c 00000001
76e67340 00000015
76e67344 72627cf0 [anon:libc_malloc]
76e67348 00000001
76e6734c 40137929 /system/lib/libc.so (write+12)
76e67350 401481d0 /system/lib/libc.so
76e67354 72627cf0 [anon:libc_malloc]
#00 76e67358 00000006
76e6735c 0000000d
76e67360 0000648c
76e67364 785db940 [anon:libc_malloc]
76e67368 785db940 [anon:libc_malloc]
76e6736c 40110269 /system/lib/libc.so (pthread_kill+52)
#1 76e67370 00000006
76e67374 00000000
76e67378 785dba04 [anon:libc_malloc]
76e6737c 4011047d /system/lib/libc.so (raise+14)
#2 76e67380 76e6738c [stack:25740]
76e67384 4010f1b3 /system/lib/libc.so
#3 76e67388 40148224 /system/lib/libc.so
76e6738c ffffffdf
76e67390 0000000a
76e67394 00000000
76e67398 40148224 /system/lib/libc.so
76e6739c 4015632c
76e673a0 0000000a
76e673a4 4014817c /system/lib/libc.so
76e673a8 00000001
76e673ac 4011ea60 /system/lib/libc.so (__pthread_clone)
#4 76e673b0 0000648c
76e673b4 76eba814 /data/app-lib/com.example.acer.hello-1/libgnustl_shared.so (__gnu_cxx::__verbose_terminate_handler()+352)
#5 76e673b8 785db7a0 [anon:libc_malloc]
76e673bc 00000000
76e673c0 785db7a0 [anon:libc_malloc]
76e673c4 785db748 [anon:libc_malloc]
76e673c8 770f2f34 /data/app-lib/com.example.acer.hello-1/libqi.so (boost::filesystem::filesystem_error::~filesystem_error())
76e673cc 7785b0b0 /data/app-lib/com.example.acer.hello-1/libqi.so
76e673d0 76e673dc [stack:25740]
76e673d4 76eb86e4 /data/app-lib/com.example.acer.hello-1/libgnustl_shared.so (__cxxabiv1::__terminate(void ()())+12)
76e673d8 76e673e4 [stack:25740]
76e673dc 76eb8784 /data/app-lib/com.example.acer.hello-1/libgnustl_shared.so (__cxxabiv1::__unexpected(void (
)()))
76e673e0 76e673fc [stack:25740]
76e673e4 76eb8ad0 /data/app-lib/com.example.acer.hello-1/libgnustl_shared.so (__cxa_throw+160)
76e673e8 785db7a0 [anon:libc_malloc]
76e673ec 0000000d
76e673f0 7786a8b8 /data/app-lib/com.example.acer.hello-1/libqi.so
76e673f4 76e674bc [stack:25740]

So I think that maybe some uncaught execption (boost::filesystem::filesystem_error) cause the crash.

I tried to read the code of libqi and i found there many function may throw an exception out of try{};

Maybe next step I should try to catch these excption in qimessaging-jni.so and rethrow them to the java side thus I can use System.out.println to show them on the log-cat.(is that possible to catch a exception in anothor library? )

@lenLRX
Copy link
Author

lenLRX commented May 21, 2016

Now I caught exception and is says that

boost::filesystem::status: Permission denied: "/sbin/java"

why does libqi want to access "/sbin/java"?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant