-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Sometimes when closing and reopening the app it crashes #608
Comments
Found another crash:
|
OK for first crash got back trace:
|
Looks like in:
It is throwing because of parse error. |
The JSON ends with:
Comparing to the file bright-v6.json, it looks like there is some junk |
This only started happening after I added asset style loading, so I am perhaps returning some junk from AssetRequestBaton. |
I think it was because I was not telling std::string how long my data is. |
Fixed the first crash in Still got the second crash. |
Okay backtrace for second crash:
|
Hmm it appears to be the assert in:
|
@kkaefer
Should we even have an assert here? |
Actually looks like the clue is this: Which is the catch line in:
So it appears parse() throws an exception and this causes objects to be deleted on the wrong thread? |
OK we will need to implement #613 so I can actually see why tile parsing is failing here. |
Temp fix in caea309 |
New crash I have noticed a few times - paritculary when you don't have a valid access key set:
|
I have not seen this for a while so I think it has been fixed. Will reopen if I notice it again. |
It crashes on launch. Nexus 5. OS 5.0.1 Logcat output:
|
@jfirebaugh Any idea what the |
@xor22h Did this crash happen the first time you ran the app, or only on subsequent launches? It seems that perhaps the GL shader cache got corrupted so I guess clearing the apps data files will fix this. I am assuming this as the only way to get INVALID_ENUM error at that function is because binaryFormat does not match the value given by glGetProgramBinary @jfirebaugh My understanding is that https://github.com/mapbox/mapbox-gl-native/blob/android-mason/src/mbgl/shader/shader.cpp#L29-L38 should crash before it gets the the GL function if the file is truncated/not existing right? If so somehow the file was the right length but the binaryFormat was invalid |
@incanus Am I right in recalling you have a Nexus 5? Have you seen this error? |
It happens everylaunch. I was unnable to run app at all. Clearing cache, data, removing entire app and reinstalling didn't helped. Note: i'm using dpi mod. Build.prop density=400. But it crashes with default (480) also. Atlas is comming from here i think: https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/view/ThreadedRenderer.java I see this with other apps too. If i can help somehow - please ask. |
@xor22h Can you try disabling these lines as a work around: https://github.com/mapbox/mapbox-gl-native/blob/android-mason/android/cpp/native_map_view.cpp#L626-L638 That will stop the app trying to load the GL program binary extension which should stop the crash. |
Yes, commenting out these lines fixes crash. |
@xor22h What happens if you put some Log::Debug() calls with binaryFormat at glGetProgramBinary and glProgramBinary to find where it is saving the bad binaryFormat value. |
@ljbade, Not sure if i correctly understood what you have asked. I tried:
|
@xor22h I meant just before https://github.com/mapbox/mapbox-gl-native/blob/android-mason/src/mbgl/shader/shader.cpp#L40 and https://github.com/mapbox/mapbox-gl-native/blob/android-mason/src/mbgl/shader/shader.cpp#L183 to see what the value of binaryFormat is. |
Yes, it has fixed an issue. App launches.
also, please note that TAG 'android-v0.1.2' breaks make scripts. it tries to explode "." and fails to convert 'android-v0' to integer. creating a new tag '0.1.2' solves the problem; |
@xor22h Which line in the make file is that? I will see if I can escape it properly. |
FYI no, I have Nexuses 4, 7, and 9 :-) |
I am closing this, but will take another look at the underlying issue in #740 |
With current build if I close and reopen the app it sometimes crashes.
Got this on my Nexus 7:
Need to GDB.
The text was updated successfully, but these errors were encountered: