Closed jones139 closed 1 year ago
It looks like a crash caused by getDatapointsByDate returning null rather than a list of datapoints.
We can easily fix it to handle the null data return gracefully, but I am curious about why we did a query that resulted in no data being returned - so that needs to be looked at too.
I think it was an unlucky race condition where finishUpload had set mDataPointsToUploadLst to null before we had written the message saying how many data points there were to upload. Fixed with a check that mDataPointsToUploadLst is not null before trying to retrieve its size.
Fix included in V4.1.8
User Reported crash: Crash Report:
Error Report collected on : Fri Jun 16 01:39:05 GMT+02:00 2023
System Information : Locale: en_US Version: 4.1.7 Package: uk.org.openseizuredetector Phone Model: SM-A336B Android Version: 13 Board: s5e8825 Brand: samsung Device: a33x Host: SWDK6923 ID: TP1A.220624.014 Model: SM-A336B Product: a33xnseea Type: user Total Internal memory: 114238140416 Available Internal memory: 82960121856
Stack Trace: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference at uk.org.openseizuredetector.LogManager$1.lambda$accept$0$uk-org-openseizuredetector-LogManager$1(LogManager.java:977) at uk.org.openseizuredetector.LogManager$1$$ExternalSyntheticLambda0.accept(Unknown Source:4) at uk.org.openseizuredetector.LogManager.lambda$getDatapointsByDate$0$uk-org-openseizuredetector-LogManager(LogManager.java:475) at uk.org.openseizuredetector.LogManager$$ExternalSyntheticLambda5.accept(Unknown Source:4) at uk.org.openseizuredetector.LogManager$SelectQueryTask.onPostExecute(LogManager.java:753) at uk.org.openseizuredetector.LogManager$SelectQueryTask.onPostExecute(LogManager.java:700) at android.os.AsyncTask.finish(AsyncTask.java:771) at android.os.AsyncTask.-$$Nest$mfinish(Unknown Source:0) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:788) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8757) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
* End of current Report