redfish64 / TinyTravelTracker

Private Android GPS tracker
GNU General Public License v3.0
136 stars 31 forks source link

Crash shortly after start #63

Closed vakabus closed 7 years ago

vakabus commented 7 years ago

The app crashes on my phone (Android 6, LineageOS 13) almost instantly after opening the map. I tried multiple different builds (GitHub releases, both apps from GooglePlay). It's always the same cause. The logcat bellow is from the GitHub release apk.

I've also tried to build it from source, but I had trouble compiling tangram. When I changed the dependency to the upstream version (0.5.0) and removed beginChangeBlock and endChangeBlock method calls, it stopped crashing and it worked as it was supposed to. If I understand it correctly, this change might cause performace problems with more points on the map, so it's definitely not a permanent solution.

04-14 11:58:08.308 26226-26226/com.rareventure.gps2 D/GpsTrailer: OsmMapGpsTrailerReviewerMapActivity.onCreate()
04-14 11:58:08.376 26226-26355/com.rareventure.gps2 I/art: Note: end time exceeds epoch: 
04-14 11:58:08.376 26226-26356/com.rareventure.gps2 I/art: Note: end time exceeds epoch: 
04-14 11:58:08.422 26226-26354/com.rareventure.gps2 D/GpsTrailer: Started apCaching...
04-14 11:58:08.448 26226-26354/com.rareventure.gps2 D/GpsTrailer: Commiting 0 rows for com.rareventure.gps2.database.cache.AreaPanelCache@73d1a8e
04-14 11:58:08.448 26226-26354/com.rareventure.gps2 D/GpsTrailer: Commiting 0 rows for com.rareventure.gps2.database.cache.TimeTreeCache@aefc2af
04-14 11:58:08.449 26226-26354/com.rareventure.gps2 D/GpsTrailer: loadNextPoints, count is 0
04-14 11:58:08.449 26226-26226/com.rareventure.gps2 D/GpsTrailer: notifying media dirty
04-14 11:58:08.449 26226-26226/com.rareventure.gps2 D/GpsTrailer: medialoctimemap notified resume
04-14 11:58:08.449 26226-26356/com.rareventure.gps2 I/art: Note: end time exceeds epoch: 
04-14 11:58:08.449 26226-26355/com.rareventure.gps2 I/art: Note: end time exceeds epoch: 

                                                           [ 04-14 11:58:08.451   843:  857 E/         ]
                                                           E/open failed: /dev/mdm: No such file or directory
04-14 11:58:08.469 26226-26361/com.rareventure.gps2 A/art: art/runtime/thread.cc:1336] No pending exception expected: java.lang.NoSuchMethodError: no non-static method "Lcom/mapzen/tangram/MapController$LabelPickListener;.onLabelPick(Lcom/mapzen/tangram/LabelPickResult;FF)V"
04-14 11:58:08.469 26226-26361/com.rareventure.gps2 A/art: art/runtime/thread.cc:1336]   at long com.mapzen.tangram.MapController.nativeInit(com.mapzen.tangram.MapController, android.content.res.AssetManager) (MapController.java:-2)
04-14 11:58:08.469 26226-26361/com.rareventure.gps2 A/art: art/runtime/thread.cc:1336]   at void com.mapzen.tangram.MapController.init() (MapController.java:211)
04-14 11:58:08.469 26226-26361/com.rareventure.gps2 A/art: art/runtime/thread.cc:1336]   at java.lang.Boolean com.mapzen.tangram.MapView$1.doInBackground(java.lang.Void[]) (MapView.java:84)
04-14 11:58:08.469 26226-26361/com.rareventure.gps2 A/art: art/runtime/thread.cc:1336]   at java.lang.Object com.mapzen.tangram.MapView$1.doInBackground(java.lang.Object[]) (MapView.java:79)
04-14 11:58:08.469 26226-26361/com.rareventure.gps2 A/art: art/runtime/thread.cc:1336]   at java.lang.Object android.os.AsyncTask$2.call() (AsyncTask.java:295)
04-14 11:58:08.469 26226-26361/com.rareventure.gps2 A/art: art/runtime/thread.cc:1336]   at void java.util.concurrent.FutureTask.run() (FutureTask.java:237)
04-14 11:58:08.469 26226-26361/com.rareventure.gps2 A/art: art/runtime/thread.cc:1336]   at void android.os.AsyncTask$SerialExecutor$1.run() (AsyncTask.java:234)
04-14 11:58:08.469 26226-26361/com.rareventure.gps2 A/art: art/runtime/thread.cc:1336]   at void java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) (ThreadPoolExecutor.java:1113)
04-14 11:58:08.469 26226-26361/com.rareventure.gps2 A/art: art/runtime/thread.cc:1336]   at void java.util.concurrent.ThreadPoolExecutor$Worker.run() (ThreadPoolExecutor.java:588)
04-14 11:58:08.469 26226-26361/com.rareventure.gps2 A/art: art/runtime/thread.cc:1336]   at void java.lang.Thread.run() (Thread.java:818)
04-14 11:58:08.469 26226-26361/com.rareventure.gps2 A/art: art/runtime/thread.cc:1336] 
04-14 11:58:08.469 26226-26236/com.rareventure.gps2 I/art: Background sticky concurrent mark sweep GC freed 9553(638KB) AllocSpace objects, 0(0B) LOS objects, 5% free, 18MB/19MB, paused 12.750ms total 31.300ms
04-14 11:58:08.738 26226-26361/com.rareventure.gps2 A/art: art/runtime/barrier.cc:90] Check failed: count_ == 0 (count_=-1, 0=0) Attempted to destroy barrier with non zero count
04-14 11:58:08.738 26226-26361/com.rareventure.gps2 A/art: art/runtime/runtime.cc:366] Runtime aborting --- recursively, so no thread-specific detail!
04-14 11:58:08.738 26226-26361/com.rareventure.gps2 A/art: art/runtime/runtime.cc:366] 
04-14 11:58:08.738 26226-26361/com.rareventure.gps2 A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 26361 (AsyncTask #1)
vakabus commented 7 years ago

The new build from Fdroid now works without any problems. Thanks a lot.

EDIT: and I see, why the optimalization methods are so important. It's really makes a difference.