Fatal Spin-On-Suspend / Stuck en ThreadID

Estoy creando un calendario personalizado para una aplicación de Android. La forma en que funciona ahora es que extrae eventos de una base de datos MySQL en línea, los transfiere a un JSONArray y los introduce en el calendario desde allí. Estaba funcionando bien (aunque un poco lento) en un emulador, pero hoy enganché mi S3 y me está dando errores que no he recibido antes. Los errores que estoy recibiendo en mi registro dicen:

09-14 22: 52: 12.611: E / dalvikvm (4605): threadid = 2: atascado en threadid = 1, renunciar

09-14 22: 52: 12.611: E / dalvikvm (4605): Fatal spin-on-suspend, hilos de dumping

Esta es la ASyncTask que sigue recibiendo colgado:

package com.legends.app; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.json.JSONArray; import android.os.AsyncTask; import android.util.Log; public class Events extends AsyncTask<Void, Void, String> { JSONArray jArray; public String result = null; InputStream is = null; StringBuilder sb=null; HttpEntity entity; protected String doInBackground(Void... arg0) { //http post - calls from the php file that opens the DB try{ HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://legendsofnotredame.org/club/mobile/android/cal.php"); HttpResponse response = httpclient.execute(httppost); entity = response.getEntity(); }catch(Exception e){ Log.e("log_tag", "Error in http connection"+e.toString()); } //convert response to string try{ is = entity.getContent(); BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); sb = new StringBuilder(); sb.append(reader.readLine() + "\n"); String line="0"; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); result=sb.toString(); }catch(Exception e){ Log.e("log_tag", "Error converting result "+e.toString()); } Log.e("test","Converted results to string"); return result; } protected void onPostExecute(String result) { } } 

Después de agregar una tonelada de registros, determiné que se estaba colgando en "sb.append (reader.readLine () +" \ n ");", y no estoy seguro de cómo hacer que no lo haga. ¿Algun consejo?

Edit: Aquí está el logcat (casi) completo para ejecutarlo, empezando desde donde se cuelga en readLine. Tuve que lindos algunas líneas de no advertencia / no error al principio porque este post es demasiado largo, lo siento!

 09-15 14:02:13.251: W/dalvikvm(21710): threadid=2: spin on suspend #1 threadid=1 (pcf=0) 09-15 14:02:14.001: W/dalvikvm(21710): threadid=2: spin on suspend #2 threadid=1 (pcf=0) 09-15 14:02:14.752: W/dalvikvm(21710): threadid=2: spin on suspend #3 threadid=1 (pcf=0) 09-15 14:02:15.503: W/dalvikvm(21710): threadid=2: spin on suspend #4 threadid=1 (pcf=0) 09-15 14:02:16.254: W/dalvikvm(21710): threadid=2: spin on suspend #5 threadid=1 (pcf=0) 09-15 14:02:16.254: I/dalvikvm(21710): "GC" daemon prio=5 tid=2 RUNNABLE 09-15 14:02:16.254: I/dalvikvm(21710): | group="system" sCount=0 dsCount=0 obj=0x419b4d68 self=0x124d8e8 09-15 14:02:16.254: I/dalvikvm(21710): | sysTid=21712 nice=0 sched=0/0 cgrp=default handle=19191584 09-15 14:02:16.254: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=0 stm=0 core=0 09-15 14:02:16.254: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 09-15 14:02:16.254: I/dalvikvm(21710): "main" prio=5 tid=1 RUNNABLE JIT 09-15 14:02:16.254: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x40c3fcd0 self=0x10c2c30 09-15 14:02:16.254: I/dalvikvm(21710): | sysTid=21710 nice=0 sched=0/0 cgrp=default handle=1074750856 09-15 14:02:16.254: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=640 stm=5 core=0 09-15 14:02:16.254: I/dalvikvm(21710): at com.legends.app.CalendarActivity.onCreate(CalendarActivity.java:~122) 09-15 14:02:16.254: I/dalvikvm(21710): at android.app.Activity.performCreate(Activity.java:4470) 09-15 14:02:16.254: I/dalvikvm(21710): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 09-15 14:02:16.254: I/dalvikvm(21710): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 09-15 14:02:16.254: I/dalvikvm(21710): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 09-15 14:02:16.254: I/dalvikvm(21710): at android.app.ActivityThread.access$600(ActivityThread.java:128) 09-15 14:02:16.254: I/dalvikvm(21710): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 09-15 14:02:16.254: I/dalvikvm(21710): at android.os.Handler.dispatchMessage(Handler.java:99) 09-15 14:02:16.254: I/dalvikvm(21710): at android.os.Looper.loop(Looper.java:137) 09-15 14:02:16.254: I/dalvikvm(21710): at android.app.ActivityThread.main(ActivityThread.java:4514) 09-15 14:02:16.254: I/dalvikvm(21710): at java.lang.reflect.Method.invokeNative(Native Method) 09-15 14:02:16.254: I/dalvikvm(21710): at java.lang.reflect.Method.invoke(Method.java:511) 09-15 14:02:16.254: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 09-15 14:02:16.254: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 09-15 14:02:16.254: I/dalvikvm(21710): at dalvik.system.NativeStart.main(Native Method) 09-15 14:02:17.005: W/dalvikvm(21710): threadid=2: spin on suspend #6 threadid=1 (pcf=0) 09-15 14:02:17.005: I/dalvikvm(21710): "GC" daemon prio=5 tid=2 RUNNABLE 09-15 14:02:17.005: I/dalvikvm(21710): | group="system" sCount=0 dsCount=0 obj=0x419b4d68 self=0x124d8e8 09-15 14:02:17.005: I/dalvikvm(21710): | sysTid=21712 nice=0 sched=0/0 cgrp=default handle=19191584 09-15 14:02:17.005: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=0 stm=0 core=0 09-15 14:02:17.005: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 09-15 14:02:17.005: I/dalvikvm(21710): "main" prio=5 tid=1 RUNNABLE JIT 09-15 14:02:17.005: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x40c3fcd0 self=0x10c2c30 09-15 14:02:17.005: I/dalvikvm(21710): | sysTid=21710 nice=0 sched=0/0 cgrp=default handle=1074750856 09-15 14:02:17.005: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=712 stm=5 core=0 09-15 14:02:17.015: I/dalvikvm(21710): at com.legends.app.CalendarActivity.onCreate(CalendarActivity.java:~122) 09-15 14:02:17.015: I/dalvikvm(21710): at android.app.Activity.performCreate(Activity.java:4470) 09-15 14:02:17.015: I/dalvikvm(21710): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 09-15 14:02:17.015: I/dalvikvm(21710): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 09-15 14:02:17.015: I/dalvikvm(21710): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 09-15 14:02:17.015: I/dalvikvm(21710): at android.app.ActivityThread.access$600(ActivityThread.java:128) 09-15 14:02:17.015: I/dalvikvm(21710): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 09-15 14:02:17.015: I/dalvikvm(21710): at android.os.Handler.dispatchMessage(Handler.java:99) 09-15 14:02:17.015: I/dalvikvm(21710): at android.os.Looper.loop(Looper.java:137) 09-15 14:02:17.015: I/dalvikvm(21710): at android.app.ActivityThread.main(ActivityThread.java:4514) 09-15 14:02:17.015: I/dalvikvm(21710): at java.lang.reflect.Method.invokeNative(Native Method) 09-15 14:02:17.015: I/dalvikvm(21710): at java.lang.reflect.Method.invoke(Method.java:511) 09-15 14:02:17.015: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 09-15 14:02:17.015: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 09-15 14:02:17.015: I/dalvikvm(21710): at dalvik.system.NativeStart.main(Native Method) 09-15 14:02:17.765: W/dalvikvm(21710): threadid=2: spin on suspend #7 threadid=1 (pcf=0) 09-15 14:02:17.765: I/dalvikvm(21710): "GC" daemon prio=5 tid=2 RUNNABLE 09-15 14:02:17.765: I/dalvikvm(21710): | group="system" sCount=0 dsCount=0 obj=0x419b4d68 self=0x124d8e8 09-15 14:02:17.765: I/dalvikvm(21710): | sysTid=21712 nice=0 sched=0/0 cgrp=default handle=19191584 09-15 14:02:17.765: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=0 stm=0 core=0 09-15 14:02:17.765: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 09-15 14:02:17.765: I/dalvikvm(21710): "main" prio=5 tid=1 RUNNABLE JIT 09-15 14:02:17.765: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x40c3fcd0 self=0x10c2c30 09-15 14:02:17.765: I/dalvikvm(21710): | sysTid=21710 nice=0 sched=0/0 cgrp=default handle=1074750856 09-15 14:02:17.765: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=762 stm=5 core=0 09-15 14:02:17.765: I/dalvikvm(21710): at com.legends.app.CalendarActivity.onCreate(CalendarActivity.java:~122) 09-15 14:02:17.765: I/dalvikvm(21710): at android.app.Activity.performCreate(Activity.java:4470) 09-15 14:02:17.765: I/dalvikvm(21710): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 09-15 14:02:17.765: I/dalvikvm(21710): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 09-15 14:02:17.765: I/dalvikvm(21710): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 09-15 14:02:17.765: I/dalvikvm(21710): at android.app.ActivityThread.access$600(ActivityThread.java:128) 09-15 14:02:17.765: I/dalvikvm(21710): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 09-15 14:02:17.765: I/dalvikvm(21710): at android.os.Handler.dispatchMessage(Handler.java:99) 09-15 14:02:17.765: I/dalvikvm(21710): at android.os.Looper.loop(Looper.java:137) 09-15 14:02:17.765: I/dalvikvm(21710): at android.app.ActivityThread.main(ActivityThread.java:4514) 09-15 14:02:17.765: I/dalvikvm(21710): at java.lang.reflect.Method.invokeNative(Native Method) 09-15 14:02:17.765: I/dalvikvm(21710): at java.lang.reflect.Method.invoke(Method.java:511) 09-15 14:02:17.765: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 09-15 14:02:17.765: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 09-15 14:02:17.765: I/dalvikvm(21710): at dalvik.system.NativeStart.main(Native Method) 09-15 14:02:18.516: W/dalvikvm(21710): threadid=2: spin on suspend #8 threadid=1 (pcf=0) 09-15 14:02:18.516: I/dalvikvm(21710): "GC" daemon prio=5 tid=2 RUNNABLE 09-15 14:02:18.516: I/dalvikvm(21710): | group="system" sCount=0 dsCount=0 obj=0x419b4d68 self=0x124d8e8 09-15 14:02:18.516: I/dalvikvm(21710): | sysTid=21712 nice=0 sched=0/0 cgrp=default handle=19191584 09-15 14:02:18.516: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=0 stm=0 core=0 09-15 14:02:18.516: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 09-15 14:02:18.516: I/dalvikvm(21710): "main" prio=5 tid=1 RUNNABLE JIT 09-15 14:02:18.516: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x40c3fcd0 self=0x10c2c30 09-15 14:02:18.516: I/dalvikvm(21710): | sysTid=21710 nice=0 sched=0/0 cgrp=default handle=1074750856 09-15 14:02:18.516: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=834 stm=5 core=0 09-15 14:02:18.516: I/dalvikvm(21710): at com.legends.app.CalendarActivity.onCreate(CalendarActivity.java:~122) 09-15 14:02:18.516: I/dalvikvm(21710): at android.app.Activity.performCreate(Activity.java:4470) 09-15 14:02:18.516: I/dalvikvm(21710): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 09-15 14:02:18.516: I/dalvikvm(21710): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 09-15 14:02:18.516: I/dalvikvm(21710): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 09-15 14:02:18.516: I/dalvikvm(21710): at android.app.ActivityThread.access$600(ActivityThread.java:128) 09-15 14:02:18.516: I/dalvikvm(21710): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 09-15 14:02:18.516: I/dalvikvm(21710): at android.os.Handler.dispatchMessage(Handler.java:99) 09-15 14:02:18.516: I/dalvikvm(21710): at android.os.Looper.loop(Looper.java:137) 09-15 14:02:18.516: I/dalvikvm(21710): at android.app.ActivityThread.main(ActivityThread.java:4514) 09-15 14:02:18.516: I/dalvikvm(21710): at java.lang.reflect.Method.invokeNative(Native Method) 09-15 14:02:18.516: I/dalvikvm(21710): at java.lang.reflect.Method.invoke(Method.java:511) 09-15 14:02:18.516: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 09-15 14:02:18.516: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 09-15 14:02:18.516: I/dalvikvm(21710): at dalvik.system.NativeStart.main(Native Method) 09-15 14:02:19.267: W/dalvikvm(21710): threadid=2: spin on suspend #9 threadid=1 (pcf=0) 09-15 14:02:19.267: I/dalvikvm(21710): "GC" daemon prio=5 tid=2 RUNNABLE 09-15 14:02:19.267: I/dalvikvm(21710): | group="system" sCount=0 dsCount=0 obj=0x419b4d68 self=0x124d8e8 09-15 14:02:19.267: I/dalvikvm(21710): | sysTid=21712 nice=0 sched=0/0 cgrp=default handle=19191584 09-15 14:02:19.267: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=0 stm=0 core=0 09-15 14:02:19.267: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 09-15 14:02:19.267: I/dalvikvm(21710): "main" prio=5 tid=1 RUNNABLE JIT 09-15 14:02:19.267: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x40c3fcd0 self=0x10c2c30 09-15 14:02:19.267: I/dalvikvm(21710): | sysTid=21710 nice=0 sched=0/0 cgrp=default handle=1074750856 09-15 14:02:19.267: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=906 stm=5 core=0 09-15 14:02:19.267: I/dalvikvm(21710): at com.legends.app.CalendarActivity.onCreate(CalendarActivity.java:~122) 09-15 14:02:19.267: I/dalvikvm(21710): at android.app.Activity.performCreate(Activity.java:4470) 09-15 14:02:19.267: I/dalvikvm(21710): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 09-15 14:02:19.267: I/dalvikvm(21710): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 09-15 14:02:19.267: I/dalvikvm(21710): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 09-15 14:02:19.267: I/dalvikvm(21710): at android.app.ActivityThread.access$600(ActivityThread.java:128) 09-15 14:02:19.267: I/dalvikvm(21710): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 09-15 14:02:19.267: I/dalvikvm(21710): at android.os.Handler.dispatchMessage(Handler.java:99) 09-15 14:02:19.267: I/dalvikvm(21710): at android.os.Looper.loop(Looper.java:137) 09-15 14:02:19.267: I/dalvikvm(21710): at android.app.ActivityThread.main(ActivityThread.java:4514) 09-15 14:02:19.267: I/dalvikvm(21710): at java.lang.reflect.Method.invokeNative(Native Method) 09-15 14:02:19.267: I/dalvikvm(21710): at java.lang.reflect.Method.invoke(Method.java:511) 09-15 14:02:19.267: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 09-15 14:02:19.267: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 09-15 14:02:19.267: I/dalvikvm(21710): at dalvik.system.NativeStart.main(Native Method) 09-15 14:02:20.018: W/dalvikvm(21710): threadid=2: spin on suspend #10 threadid=1 (pcf=0) 09-15 14:02:20.018: I/dalvikvm(21710): "GC" daemon prio=5 tid=2 RUNNABLE 09-15 14:02:20.018: I/dalvikvm(21710): | group="system" sCount=0 dsCount=0 obj=0x419b4d68 self=0x124d8e8 09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21712 nice=0 sched=0/0 cgrp=default handle=19191584 09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=0 stm=0 core=0 09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 09-15 14:02:20.018: I/dalvikvm(21710): "main" prio=5 tid=1 RUNNABLE JIT 09-15 14:02:20.018: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x40c3fcd0 self=0x10c2c30 09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21710 nice=0 sched=0/0 cgrp=default handle=1074750856 09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=979 stm=5 core=0 09-15 14:02:20.018: I/dalvikvm(21710): at com.legends.app.CalendarActivity.onCreate(CalendarActivity.java:~122) 09-15 14:02:20.018: I/dalvikvm(21710): at android.app.Activity.performCreate(Activity.java:4470) 09-15 14:02:20.018: I/dalvikvm(21710): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread.access$600(ActivityThread.java:128) 09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 09-15 14:02:20.018: I/dalvikvm(21710): at android.os.Handler.dispatchMessage(Handler.java:99) 09-15 14:02:20.018: I/dalvikvm(21710): at android.os.Looper.loop(Looper.java:137) 09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread.main(ActivityThread.java:4514) 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.reflect.Method.invokeNative(Native Method) 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.reflect.Method.invoke(Method.java:511) 09-15 14:02:20.018: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 09-15 14:02:20.018: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.main(Native Method) 09-15 14:02:20.018: E/dalvikvm(21710): Fatal spin-on-suspend, dumping threads 09-15 14:02:20.018: I/dalvikvm(21710): DALVIK THREADS: 09-15 14:02:20.018: I/dalvikvm(21710): (mutexes: tll=2 tsl=1 tscl=0 ghl=1) 09-15 14:02:20.018: I/dalvikvm(21710): "main" prio=5 tid=1 RUNNABLE JIT 09-15 14:02:20.018: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x40c3fcd0 self=0x10c2c30 09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21710 nice=0 sched=0/0 cgrp=default handle=1074750856 09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=979 stm=5 core=0 09-15 14:02:20.018: I/dalvikvm(21710): at com.legends.app.CalendarActivity.onCreate(CalendarActivity.java:~122) 09-15 14:02:20.018: I/dalvikvm(21710): at android.app.Activity.performCreate(Activity.java:4470) 09-15 14:02:20.018: I/dalvikvm(21710): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread.access$600(ActivityThread.java:128) 09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 09-15 14:02:20.018: I/dalvikvm(21710): at android.os.Handler.dispatchMessage(Handler.java:99) 09-15 14:02:20.018: I/dalvikvm(21710): at android.os.Looper.loop(Looper.java:137) 09-15 14:02:20.018: I/dalvikvm(21710): at android.app.ActivityThread.main(ActivityThread.java:4514) 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.reflect.Method.invokeNative(Native Method) 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.reflect.Method.invoke(Method.java:511) 09-15 14:02:20.018: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 09-15 14:02:20.018: I/dalvikvm(21710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.main(Native Method) 09-15 14:02:20.018: I/dalvikvm(21710): "AsyncTask #1" prio=5 tid=11 SUSPENDED 09-15 14:02:20.018: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x41a23660 self=0x12d4758 09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21739 nice=10 sched=0/0 cgrp=bg_non_interactive handle=19348592 09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=18 stm=2 core=1 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:~128) 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.StringBuilder.append(StringBuilder.java:271) 09-15 14:02:20.018: I/dalvikvm(21710): at java.io.BufferedReader.readLine(BufferedReader.java:417) 09-15 14:02:20.018: I/dalvikvm(21710): at com.legends.app.Events.doInBackground(Events.java:56) 09-15 14:02:20.018: I/dalvikvm(21710): at com.legends.app.Events.doInBackground(Events.java:1) 09-15 14:02:20.018: I/dalvikvm(21710): at android.os.AsyncTask$2.call(AsyncTask.java:264) 09-15 14:02:20.018: I/dalvikvm(21710): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 09-15 14:02:20.018: I/dalvikvm(21710): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 09-15 14:02:20.018: I/dalvikvm(21710): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208) 09-15 14:02:20.018: I/dalvikvm(21710): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 09-15 14:02:20.018: I/dalvikvm(21710): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Thread.run(Thread.java:856) 09-15 14:02:20.018: I/dalvikvm(21710): "Binder Thread #2" prio=5 tid=10 SUSPENDED 09-15 14:02:20.018: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x419b8f08 self=0x12dec18 09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21722 nice=0 sched=0/0 cgrp=default handle=18856864 09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=0 stm=0 core=0 09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 09-15 14:02:20.018: I/dalvikvm(21710): "Binder Thread #1" prio=5 tid=9 SUSPENDED 09-15 14:02:20.018: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x419b8540 self=0x12dcf78 09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21721 nice=0 sched=0/0 cgrp=default handle=19135504 09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=0 stm=0 core=0 09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 09-15 14:02:20.018: I/dalvikvm(21710): "FinalizerWatchdogDaemon" daemon prio=5 tid=8 WAIT 09-15 14:02:20.018: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x419b53d8 self=0x12e6520 09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21720 nice=0 sched=0/0 cgrp=default handle=18832048 09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=0 stm=0 core=1 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Object.wait(Native Method) 09-15 14:02:20.018: I/dalvikvm(21710): - waiting on <0x40c474f0> (a java.lang.Daemons$FinalizerWatchdogDaemon) 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Object.wait(Object.java:364) 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:213) 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Thread.run(Thread.java:856) 09-15 14:02:20.018: I/dalvikvm(21710): "FinalizerDaemon" daemon prio=5 tid=7 WAIT 09-15 14:02:20.018: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x419b5280 self=0x12d3a48 09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21719 nice=0 sched=0/0 cgrp=default handle=18676648 09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=0 stm=0 core=0 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Object.wait(Native Method) 09-15 14:02:20.018: I/dalvikvm(21710): - waiting on <0x40c355d0> (a java.lang.ref.ReferenceQueue) 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Object.wait(Object.java:401) 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102) 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73) 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168) 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Thread.run(Thread.java:856) 09-15 14:02:20.018: I/dalvikvm(21710): "ReferenceQueueDaemon" daemon prio=5 tid=6 WAIT 09-15 14:02:20.018: I/dalvikvm(21710): | group="main" sCount=1 dsCount=0 obj=0x419b5118 self=0x12e7bd8 09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21718 nice=0 sched=0/0 cgrp=default handle=18676448 09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=0 stm=0 core=0 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Object.wait(Native Method) 09-15 14:02:20.018: I/dalvikvm(21710): - waiting on <0x40c354f8> 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Object.wait(Object.java:364) 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:128) 09-15 14:02:20.018: I/dalvikvm(21710): at java.lang.Thread.run(Thread.java:856) 09-15 14:02:20.018: I/dalvikvm(21710): "Compiler" daemon prio=5 tid=5 VMWAIT 09-15 14:02:20.018: I/dalvikvm(21710): | group="system" sCount=1 dsCount=0 obj=0x419b5028 self=0x12b2640 09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21717 nice=0 sched=0/0 cgrp=default handle=18856760 09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=2 stm=2 core=1 09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 09-15 14:02:20.018: I/dalvikvm(21710): "JDWP" daemon prio=5 tid=4 VMWAIT 09-15 14:02:20.018: I/dalvikvm(21710): | group="system" sCount=1 dsCount=0 obj=0x419b4f40 self=0x1269cc0 09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21715 nice=0 sched=0/0 cgrp=default handle=19135712 09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=0 stm=0 core=1 09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 09-15 14:02:20.018: I/dalvikvm(21710): "Signal Catcher" daemon prio=5 tid=3 VMWAIT 09-15 14:02:20.018: I/dalvikvm(21710): | group="system" sCount=1 dsCount=0 obj=0x419b4e48 self=0x12abed8 09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21713 nice=0 sched=0/0 cgrp=default handle=18712776 09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=0 stm=0 core=0 09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 09-15 14:02:20.018: I/dalvikvm(21710): "GC" daemon prio=5 tid=2 RUNNABLE 09-15 14:02:20.018: I/dalvikvm(21710): | group="system" sCount=0 dsCount=0 obj=0x419b4d68 self=0x124d8e8 09-15 14:02:20.018: I/dalvikvm(21710): | sysTid=21712 nice=0 sched=0/0 cgrp=default handle=19191584 09-15 14:02:20.018: I/dalvikvm(21710): | schedstat=( 0 0 0 ) utm=0 stm=0 core=0 09-15 14:02:20.018: I/dalvikvm(21710): at dalvik.system.NativeStart.run(Native Method) 09-15 14:02:20.018: E/dalvikvm(21710): threadid=2: stuck on threadid=1, giving up 09-15 14:02:20.018: D/dalvikvm(21710): threadid=2: sending two SIGSTKFLTs to threadid=1 (tid=21710) to cause debuggerd dump 09-15 14:02:20.018: D/dalvikvm(21710): NOTE: pthread_kill #1 failed: Operation not permitted 09-15 14:02:22.010: D/dalvikvm(21710): NOTE: pthread_kill #2 failed: Operation not permitted 09-15 14:02:22.010: D/dalvikvm(21710): Sent, pausing to let debuggerd run 09-15 14:02:30.018: D/dalvikvm(21710): Continuing 09-15 14:02:30.018: E/dalvikvm(21710): VM aborting 

Y aquí es donde lo llamo en la actividad principal. Estos son también dos archivos separados, no sé si eso es relevante, pero podría ser, no lo sé.

  Events db = new Events(); db.execute(); while (db.result == null){ continue;} result = db.result; 

Lo deduje después de otro día jugando con él. Estaba fuera de tiempo debido a estas líneas en el AsyncTask no:

 while (db.result == null) { continue; } 

Se tomó esto como "que está atrapado para siempre en un bucle de tiempo y, por tanto, el programa debe haberse estrellado", cuando en realidad era sólo tomar tiempo para leer los eventos. Sin embargo, sin eso, simplemente seguiría sin cargar completamente los eventos, creando una NullPointerException cuando intente usar esa matriz. Lo que hice en cambio fue hacer esto:

 while (db.result == null){ try { Thread.sleep(100); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } continue; } 

El dormir parece enviar de vuelta a la aplicación que todavía estoy allí, sólo esperando los datos para que pueda continuar. O eso o ralentiza la cantidad de veces que paso el bucle while. No estoy seguro de que uno hace pero de cualquier manera resuelve el problema.

Fui sobre esto de una manera un poco diferente:

En primer lugar, establecer un campo en la clase AsyncTask

 private boolean taskDone = false; 

Luego, después del código doInBackground (o en postExecute):

 this.taskDone = true; 

Finalmente agregue un método al AsyncTask:

 public boolean isTaskDone() { return taskDone; } 

Ahora puede usar isTaskDone como argumento en el bucle while:

 while (!isTaskDone()) { // wait for task } 

Sólo mi manera de hacerlo, estoy seguro de que hay muchos más

  • Ver la inyección de dependencia con la daga 2
  • ¿Qué hay de malo en este método de cálculo inSampleSize para Bitmaps? Sin memoria
  • No se puede reemplazar el método onPostExecute () en AsyncTask Class o obtenerlo para activar
  • Enum de tamaño de byte en Java
  • ¿Existe una etiqueta XML equivalente a `ListView.addHeaderView '?
  • Android Webview: No se puede llamar a determinedVisibility () - nunca vio una conexión para el pid
  • Procese el comando sin iniciar MainActivity, en Android
  • Android JNI obtiene dos campos de la clase Java
  • Recurso IP en android
  • Cómo insertar valor en la base de datos utilizando sqlite en android?
  • Libgdx - IllegalStateException en una ubicación desconocida
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.