关于Java:首次启动时致命信号6(SIGABRT)代码= -6

Fatal signal 6 (SIGABRT) code=-6 on first launch

尝试在带有4.4.2。的Nexus 10上运行我的应用时,出现致命信号6(SIGABRT)错误。

它可以在我尝试过的所有其他设备上使用,包括Nexus 7(2)和4.4.2。

我不认为这是代码问题,因为我尝试在代码的开头放置断点和日志(请参见下文),但似乎不会走得太远,因为它不会在断点和停止处停止。 日志未出现在logcat中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package com.immediate.imcreader;

import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v13.app.FragmentPagerAdapter;
import android.util.Log;
import android.util.TypedValue;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.PopupMenu;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.google.analytics.tracking.android.EasyTracker;
import com.immediate.imcreader.data.Issue;
import com.immediate.imcreader.data.OrmLiteCarouselMediaDAO;
import com.immediate.imcreader.data.OrmLiteDataCaptureFormDataDAO;
import com.immediate.imcreader.data.OrmLiteIssueDAO;
import com.immediate.imcreader.data.OrmLiteIssueScreenshotsDAO;
import com.immediate.imcreader.data.OrmLitePreferenceDAO;
import com.immediate.imcreader.data.OrmLitePurchasedReceiptDAO;
import com.immediate.imcreader.data.OrmLiteSubscriptionDAO;
import com.immediate.imcreader.purchasing.PurchaseFinishedListener;
import com.immediate.imcreader.purchasing.StoreUtilities;
import com.immediate.imcreader.renderer.RendererActivity;
import com.immediate.imcreader.storefront.AllIssuesFragment;
import com.immediate.imcreader.storefront.DataCapture;
import com.immediate.imcreader.storefront.ErrorFeedbackHandler;
import com.immediate.imcreader.storefront.MoreFromUsFragment;
import com.immediate.imcreader.storefront.NonSwipeableViewPager;
import com.immediate.imcreader.storefront.SimpleWebView;
import com.immediate.imcreader.storefront.SubscribeFragment;
import com.immediate.imcreader.tasks.DownloadJsonTask;
import com.immediate.imcreader.util.FileHelper;
import com.immediate.imcreader.util.JsonCallbackInterface;
import com.immediate.imcreader.util.SupportUtilities;

import java.util.Locale;

/**
 * Entry point
 * Just launches the AllIssues activity at the minute
 * @author scottdouglass
 */

public class MainActivity extends Activity implements PurchaseFinishedListener, JsonCallbackInterface {

    public static final String TAG ="IMCReader";

    public static final int SUBSCRIBE_TAB = 0;
    public static final int ISSUES_TAB = 1;
    public static final int MORETITLES_TAB = 2;

    SectionsPagerAdapter mSectionsPagerAdapter;
    NonSwipeableViewPager mViewPager;

    private StoreUtilities storeUtilities;
    private Boolean buildAppStoreFront = false;
    private Boolean getProductDetails = false;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.v(TAG,"onCreate started");
        initSplashScreen();
        setTheme(R.style.AppTheme);
        if (getActionBar() != null) {
            getActionBar().hide();
        }

我安装的库是:

  • android-support-v13.jar
  • 应用内购买1.0.3.jar
  • libGoogleAnalyticsServices.jar
  • ormlite-android-4.47.jar
  • omrlite-core-4.45.jar
  • 毕加索-2.1.1.jar
  • urbanairship-lib-3.3.0.jar

这就是我在logcat中返回的内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
05-08 12:57:35.956  13079-13079/com.immediate.imcreader W/dalvikvm﹕ JNI WARNING: NewStringUTF input is not valid Modified UTF-8: illegal start byte 0xff
05-08 12:57:35.956  13079-13079/com.immediate.imcreader W/dalvikvm﹕ string: 'en_Latn_US_?_GB'
05-08 12:57:35.956  13079-13079/com.immediate.imcreader W/dalvikvm﹕ in Llibcore/icu/ICU;.addLikelySubtags:(Ljava/lang/String;)Ljava/lang/String; (NewStringUTF)
05-08 12:57:35.961  13079-13079/com.immediate.imcreader I/dalvikvm﹕"main" prio=5 tid=1 NATIVE
05-08 12:57:35.961  13079-13079/com.immediate.imcreader I/dalvikvm﹕ | group="main" sCount=0 dsCount=0 obj=0x41567ca8 self=0x414a1408
05-08 12:57:35.961  13079-13079/com.immediate.imcreader I/dalvikvm﹕ | sysTid=13079 nice=0 sched=0/0 cgrp=apps handle=1074114900
05-08 12:57:35.961  13079-13079/com.immediate.imcreader I/dalvikvm﹕ | state=R schedstat=( 15667415 6358417 55 ) utm=1 stm=0 core=1
05-08 12:57:35.981  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #00  pc 000012f6  /system/lib/libcorkscrew.so (unwind_backtrace_thread+29)
05-08 12:57:35.986  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #01  pc 00060576  /system/lib/libdvm.so (dvmDumpNativeStack(DebugOutputTarget const*, int)+33)
05-08 12:57:35.986  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #02  pc 00054578  /system/lib/libdvm.so (dvmDumpThreadEx(DebugOutputTarget const*, Thread*, bool)+395)
05-08 12:57:35.986  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #03  pc 000545e6  /system/lib/libdvm.so (dvmDumpThread(Thread*, bool)+25)
05-08 12:57:35.986  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #04  pc 00038770  /system/lib/libdvm.so
05-08 12:57:35.986  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #05  pc 00039ba8  /system/lib/libdvm.so
05-08 12:57:35.986  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #06  pc 0003bf7a  /system/lib/libdvm.so
05-08 12:57:35.986  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #07  pc 000143da  /system/lib/libjavacore.so
05-08 12:57:35.986  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #08  pc 00014bbe  /system/lib/libjavacore.so
05-08 12:57:35.986  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #09  pc 0001db4c  /system/lib/libdvm.so (dvmPlatformInvoke+112)
05-08 12:57:35.986  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #10  pc 0004e082  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+397)
05-08 12:57:35.986  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #11  pc 00026f60  /system/lib/libdvm.so
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #12  pc 0002df78  /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #13  pc 0002b5dc  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #14  pc 00060788  /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+391)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #15  pc 000686f6  /system/lib/libdvm.so
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #16  pc 00026f60  /system/lib/libdvm.so
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #17  pc 0002df78  /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #18  pc 0002b5dc  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #19  pc 000604a4  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+335)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #20  pc 00049c6a  /system/lib/libdvm.so
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #21  pc 0004cd34  /system/lib/libandroid_runtime.so
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #22  pc 0004da5a  /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+353)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #23  pc 0000105a  /system/bin/app_process
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ #24  pc 0000e3e4  /system/lib/libc.so (__libc_init+47)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at libcore.icu.ICU.addLikelySubtags(Native Method)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.text.TextUtils.getLayoutDirectionFromLocale(TextUtils.java:1740)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.content.res.Configuration.setLayoutDirection(Configuration.java:1295)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.content.res.Configuration.updateFrom(Configuration.java:820)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.content.res.Resources.updateConfiguration(Resources.java:1557)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.content.res.Resources.updateConfiguration(Resources.java:1511)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.content.res.Resources.<init>(Resources.java:202)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.app.ResourcesManager.getTopLevelResources(ResourcesManager.java:199)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.app.ActivityThread.getTopLevelResources(ActivityThread.java:1534)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.app.LoadedApk.getResources(LoadedApk.java:488)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.app.ContextImpl.init(ContextImpl.java:2025)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.app.ContextImpl.init(ContextImpl.java:2004)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4166)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.app.ActivityThread.access$1500(ActivityThread.java:135)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.os.Handler.dispatchMessage(Handler.java:102)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.os.Looper.loop(Looper.java:136)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at android.app.ActivityThread.main(ActivityThread.java:5017)
05-08 12:57:35.991  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at java.lang.reflect.Method.invokeNative(Native Method)
05-08 12:57:35.996  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at java.lang.reflect.Method.invoke(Method.java:515)
05-08 12:57:35.996  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
05-08 12:57:35.996  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
05-08 12:57:35.996  13079-13079/com.immediate.imcreader I/dalvikvm﹕ at dalvik.system.NativeStart.main(Native Method)
05-08 12:57:35.996  13079-13079/com.immediate.imcreader I/dalvikvm﹕ [ 05-08 12:57:35.996 13079:13079 E/dalvikvm ]
    VM aborting
05-08 12:57:35.996  13079-13079/com.immediate.imcreader A/libc﹕ Fatal signal 6 (SIGABRT) at 0x00003317 (code=-6), thread 13079 (diate.imcreader)


...聚会晚了一点,但是在向我们较旧的3.x应用之一添加KitKat支持时,我遇到了类似的情况。

显然有一个与UTF编码有关的Android错误。

这篇文章将我们引向正确的方向,这就是问题所在。


在这种情况下,这发生在我身上:

  • 我在onCreate上加载一个View,然后很快调用一个Function并访问该视图。

视图在某些瞬间可能为空!!!

搜索您在OnCreate中加载的所有视图并编写以下代码:

1
2
3
4
5
if(view!=null){
   //DO Whatever
}else{
   Log.e(TAG,"ANDROID BUG");
}

编辑:我已经意识到这不是因为函数调用非常快。 这是因为我有一个侦听器,并且在OnDestroy()时没有注销。 当OnCreate时,我有两个侦听器。 一个为NULL结果,另一个为OK。

1
2
3
4
5
@Override
public void onDestroy() {                      
    super.onDestroy();
    if (mSensorManager!=null){mSensorManager.unregisterListener(listener);}
}

我希望这对某人有帮助:)