agersant / polaris-android

Android client for Polaris
https://github.com/agersant/polaris
MIT License
62 stars 7 forks source link

Once, the app crashed after clearing the playback queue #14

Closed agersant closed 6 years ago

agersant commented 6 years ago

After a cold boot, I immediately went to the queue tab and cleared the playback queue. App crashed.

Seen on 0.6.1.

agersant commented 6 years ago

Log:

--------- beginning of crash
11-13 09:47:47.035 17521 17576 E AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
11-13 09:47:47.035 17521 17576 E AndroidRuntime: Process: agersant.polaris, PID: 17521
11-13 09:47:47.035 17521 17576 E AndroidRuntime: java.lang.RuntimeException: An error occurred while executing doInBackground()
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at android.os.AsyncTask$3.done(AsyncTask.java:325)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.util.concurrent.FutureTask.run(FutureTask.java:242)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.lang.Thread.run(Thread.java:761)
11-13 09:47:47.035 17521 17576 E AndroidRuntime: Caused by: java.util.ConcurrentModificationException
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.util.ArrayList.writeObject(ArrayList.java:738)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:977)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1536)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1472)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1218)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1584)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1549)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1472)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1218)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at agersant.polaris.PolarisPlaybackService$StateWriteTask.doInBackground(PolarisPlaybackService.java:275)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at agersant.polaris.PolarisPlaybackService$StateWriteTask.doInBackground(PolarisPlaybackService.java:255)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at android.os.AsyncTask$2.call(AsyncTask.java:305)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
11-13 09:47:47.035 17521 17576 E AndroidRuntime:    ... 4 more
agersant commented 6 years ago

Repro steps:

agersant commented 6 years ago

Fixed in 0.6.2