当zygote收到信号时不生成墓碑(11)

时间:2015-07-20 09:27:21

标签: android android-asynctask android-ndk fork sigsegv

在Android应用程序上,我正在使用AsyncTask执行一些本机代码。

本机代码执行我在系统上编写并安装的native library。 某些点上的库,以及父进程可能会崩溃,这给了我以下logcat消息:

  

Zygote I 由于信号(11)而退出处理X

但是,没有为父进程生成tombstone,这使调试变得困难。子进程通常会继续执行..

当我在Android上收到关于纯C程序的SIGSEGV's时,始终会生成tombstone并且logcat显示墓碑的一部分。 在这种情况下,它们都不会发生。

更新:logcat中与崩溃相关的所有信息:

Zygote  I  Process 19610 exited due to signal (11)
JavaBinder  E  !!! FAILED BINDER TRANSACTION !!!
ActivityManager  W  Exception thrown when sleeping: ComponentInfo{paschalis.inf.ed.ac.uk.hellojni/paschalis.inf.ed.ac.uk.hellojni.MainActivity}
ActivityManager  W  android.os.TransactionTooLargeException
ActivityManager  W      at android.os.BinderProxy.transactNative(Native Method)
ActivityManager  W      at android.os.BinderProxy.transact(Binder.java:496)
ActivityManager  W      at android.app.ApplicationThreadProxy.scheduleSleeping(ApplicationThreadNative.java:738)
ActivityManager  W      at com.android.server.am.ActivityRecord.setSleeping(ActivityRecord.java:1038)
ActivityManager  W      at com.android.server.am.ActivityStack.awakeFromSleepingLocked(ActivityStack.java:696)
ActivityManager  W      at com.android.server.am.ActivityStackSupervisor.comeOutOfSleepIfNeededLocked(ActivityStackSupervisor.java:2789)
ActivityManager  W      at com.android.server.am.ActivityManagerService.updateSleepIfNeededLocked(ActivityManagerService.java:10022)
ActivityManager  W      at com.android.server.am.ActivityManagerService.setLockScreenShown(ActivityManagerService.java:10156)
ActivityManager  W      at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:1332)
ActivityManager  W      at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2208)
ActivityManager  W      at android.os.Binder.execTransact(Binder.java:446)
JavaBinder  E  !!! FAILED BINDER TRANSACTION !!!
ActivityManager  I  Restarting because process died: ActivityRecord{2aa3463c u0 paschalis.inf.ed.ac.uk.hellojni/.MainActivity t53}
JavaBinder  E  !!! FAILED BINDER TRANSACTION !!!
...
libprocessgroup  I  Killing pid 19631 in uid 10095 as part of process group 19610
libprocessgroup  I  Killing pid 19631 in uid 10095 as part of process group 19610
libprocessgroup  I  Killing pid 19631 in uid 10095 as part of process group 19610
...

进程组是父进程(和崩溃进程),而19631进程是子进程。

0 个答案:

没有答案