-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Crash loop with 'database disk image is malformed' exception #7920
Comments
Something else to note is that we are not using any offline storage functionality, e.g. |
Thanks for the report, @erichoracek. And sorry, I meant to immediately explain the tag: I added |
Just to update the status of this on our end, we reached out to the affected user and asked them to uninstall/reinstall. This fixed the crash for them. |
Maybe related, maybe something else, but after my app updated from Mapbox iOS SDK 3.3.7 to 3.5.0, my existing users started getting a crash in Edit: Works now. Probably this was caused by the old app version having newer Mapbox SDK than the update, after all. (You know, the SDK being so big it needs to be gitignored, and CocoaPods not updating the SDK because of a Podfile.lock that was updated on a different machine… My bad.) |
@friedbunny Still seeing this issue on the field with some customers. We moved from 3.4 to 3.5.2. Application Specific Information:
|
I'm also seeing this issue on Mapbox 3.6. Can't reproduce locally, however, we've seen plenty of crashes in fabric due to this exception.
|
Have anyone found a solution to this issue? Experiencing the same issue and it is the top crash in our app. Appreciate the info. |
We experience the same issue , but we are not using Offline maps. "Fatal Exception: mapbox::sqlite::Exception: database disk image is malformed" |
Any workaround to this issue? |
@Sealos @Luchkovskaya @asetiyadi and others who have reported: If you can say if you are linking the Mapbox framework statically or dynamically that may help us with our investigation of this issue. |
We use the static framework.
Romain
… Le 2 oct. 2017 à 23:29, Jesse Bounds ***@***.***> a écrit :
@Sealos @Luchkovskaya @asetiyadi and others who have reported: If you can say if you are linking the Mapbox framework statically or dynamically that may help us with our investigation of this issue.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Dynamic framework. |
Dynamic framework |
Do we fix this issue? we just updated to 3.6. seems like it still has this issue, i just got 4 crash report for this. and we are using dynamically framework. |
Fabric reports that most crashes originate from devices with low RAM, could that be of help? |
Thanks all for the reports. The fact that this issue is still open indicates that it is not resolved. This issue will stay open until it is resolved. |
I'm also experiencing this issue on the latest release. So far I've only seen it on my iPhone 5c. Edit: I also got a "Storage Low" warning shortly after experiencing it. Could it have to do with that? |
This error may be caused when linking another copy of SQLite into your application in addition to the system version of SQLite. Linking a third-party version of SQLite in addition to the system version isn't a supported use case, and the SQLite documentation specifically warns against that. Some third party libraries ship with their own version of SQLite, e.g. SQLCipher. The authors of SQLCipher have concluded similarly and advise against using it with system-SQLite. To check what other libraries include their own copies of SQLite, you can use include this code somewhere in your bundle (it will run automatically, no need to call it): #include <sqlite3.h>
#include <dlfcn.h>
#include <mach-o/dyld.h>
__attribute__((constructor)) void check_linked_sqlite_libs() {
void* system_handle = dlopen("/usr/lib/libsqlite3.dylib", RTLD_LOCAL);
assert(system_handle);
void* system_symbol = dlsym(system_handle, "sqlite3_initialize");
assert(system_symbol);
for (int i = 0, c = _dyld_image_count(); i < c; i++) {
const char* name = _dyld_get_image_name(i);
void* handle = dlopen(name, RTLD_LOCAL);
if (!handle) continue;
void* symbol = dlsym(handle, "sqlite3_initialize");
if (!symbol) continue;
if (symbol != system_symbol || handle == system_handle) {
fprintf(stderr, "%s SQLite in %s: %p\n", symbol == &sqlite3_initialize ? "default" : "duplicate", name, symbol);
}
}
} If you're experiencing this crash, please report back here with the results of the above code, and a brief summary of what third party libraries you're using, and how you're linking them, as well as how you're using SQLite in the rest of your application and how you're linking it. |
I've seen this come up in my application, which does not does link a second copy of SQLite, and it it does correlated to users filling up device storage.
|
This should be fixed by #12224. |
Hi,
We've received this crash report via HockeyApp for Mapbox 3.3.7. This crash has occurred 13 times in a row for a single user over the course of 1 hour. It appears to happen whenever they perform an action that causes an
MGLMapView
to be initialized.It would be great if an error like this caused the database to be wiped rather than crashing the host application. This is by far the top crasher for the most recent version of our app now.
Platform: iOS 10.2.1
Mapbox SDK version: 3.3.7
Let me know if there's any additional information needed or if this is a duplicate crash report that I missed when searching the existing issues. Thanks!
The text was updated successfully, but these errors were encountered: