newtonandebe / opendatakit

Automatically exported from code.google.com/p/opendatakit
0 stars 0 forks source link

ODK Collect crashes on about 1/5 of form loads #169

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Occasionally Collect will crash when loading a form.  It appears to not be 
dependent on any particular form.  

I believe that this line of code at the top of doInBackground() in 
FormLoaderTask.java may be causing the issue:
Looper.prepare();

stack trace:

W/dalvikvm(  485): threadid=7: thread exiting with uncaught exception 
(group=0x400207e8)
E/AndroidRuntime(  485): FATAL EXCEPTION: AsyncTask #1
E/AndroidRuntime(  485): java.lang.RuntimeException: An error occured while 
executing doInBackground()
E/AndroidRuntime(  485):    at android.os.AsyncTask$3.done(AsyncTask.java:200)
E/AndroidRuntime(  485):    at 
java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
E/AndroidRuntime(  485):    at 
java.util.concurrent.FutureTask.setException(FutureTask.java:124)
E/AndroidRuntime(  485):    at 
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
E/AndroidRuntime(  485):    at 
java.util.concurrent.FutureTask.run(FutureTask.java:137)
E/AndroidRuntime(  485):    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
E/AndroidRuntime(  485):    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
E/AndroidRuntime(  485):    at java.lang.Thread.run(Thread.java:1096)
E/AndroidRuntime(  485): Caused by: java.lang.RuntimeException: Only one Looper 
may be created per thread
E/AndroidRuntime(  485):    at android.os.Looper.prepare(Looper.java:73)
E/AndroidRuntime(  485):    at 
org.odk.collect.android.tasks.FormLoaderTask.doInBackground(FormLoaderTask.java:
117)
E/AndroidRuntime(  485):    at 
org.odk.collect.android.tasks.FormLoaderTask.doInBackground(FormLoaderTask.java:
1)
E/AndroidRuntime(  485):    at android.os.AsyncTask$2.call(AsyncTask.java:185)
E/AndroidRuntime(  485):    at 
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
E/AndroidRuntime(  485):    ... 4 more

Original issue reported on code.google.com by carlhart...@gmail.com on 13 Jan 2011 at 3:22

GoogleCodeExporter commented 9 years ago
Removed the un-necessary statement.  An earlier check-in had moved the toasts 
to the onPublish action. 

Original comment by mitchellsundt@gmail.com on 13 Jan 2011 at 6:15