java android android-4.4-kitkat sigabrt nexus-10

java - Código de señal fatal 6(SIGABRT)=-6 en el primer lanzamiento



android android-4.4-kitkat (2)

... un poco tarde para la fiesta, pero me encontré con una situación similar al agregar el soporte de KitKat a una de nuestras aplicaciones 3.x más antiguas.

Aparentemente hay un error de Android relacionado con la codificación UTF.

Este post nos llevó en la dirección correcta y here está el problema.

Recibo un error de señal 6 fatal (SIGABRT) al intentar ejecutar mi aplicación en un Nexus 10 con 4.4.2.

Funciona en todos los demás dispositivos que he probado, incluido mi Nexus 7 (2) con 4.4.2

No creo que sea un problema con el código, ya que he intentado poner puntos de interrupción y registros al comienzo de mi código (ver a continuación), pero no parece llegar tan lejos como no se detendrá en el punto de interrupción y el log no aparece en el logcat.

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(); }

Las bibliotecas que he instalado son:

  • android-support-v13.jar
  • in-app-Buying-1.0.3.jar
  • libGoogleAnalyticsServices.jar
  • ormlite-android-4.47.jar
  • omrlite-core-4.45.jar
  • picasso-2.1.1.jar
  • ciudadirship-lib-3.3.0.jar

Esto es lo que estoy recuperando en mi logcat:

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)


Eso me pasa a mí en este caso:

  • Cargo una Vista en Crear y después, una función se llama muy rápida y tiene acceso a esa vista.

La vista puede ser nula en algún instante !!!

busque todas las vistas que cargue en OnCreate y escriba esto:

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

EDITAR: Me he dado cuenta de que no fue porque la función se llama muy rápido. Fue porque tengo un Oyente y no me desregisté cuando OnDestroy (). Y cuando OnCreate, tuve dos oyentes. Uno con resultado NULO y el otro OK.

@Override public void onDestroy() { super.onDestroy(); if (mSensorManager!=null){mSensorManager.unregisterListener(listener);} }

Espero que esto ayude a alguien :)