tmo1 / sms-ie

SMS Import / Export is a simple Android app that imports and exports SMS and MMS messages, call logs, and contacts from and to JSON / NDJSON files.
GNU General Public License v3.0
336 stars 39 forks source link

Crash when export MMS. #87

Closed chan1108 closed 2 months ago

chan1108 commented 1 year ago

12-28 22:29:05.550 21929 21929 E AndroidRuntime: Process: com.github.tmo1.sms_ie, PID: 21929 12-28 22:29:05.550 21929 21929 E AndroidRuntime: android.database.sqlite.SQLiteException: unknown error (code 0 SQLITE_OK): Unable to convert BLOB to string 12-28 22:29:05.550 21929 21929 E AndroidRuntime: at android.database.CursorWindow.nativeGetString(Native Method) 12-28 22:29:05.550 21929 21929 E AndroidRuntime: at android.database.CursorWindow.getString(CursorWindow.java:465) 12-28 22:29:05.550 21929 21929 E AndroidRuntime: at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:54) 12-28 22:29:05.550 21929 21929 E AndroidRuntime: at android.database.CursorWrapper.getString(CursorWrapper.java:203) 12-28 22:29:05.550 21929 21929 E AndroidRuntime: at com.github.tmo1.sms_ie.ImportExportMessagesKt.mmsToJSON(ImportExportMessages.kt:205) 12-28 22:29:05.550 21929 21929 E AndroidRuntime: at com.github.tmo1.sms_ie.ImportExportMessagesKt.access$mmsToJSON(ImportExportMessages.kt:1) 12-28 22:29:05.550 21929 21929 E AndroidRuntime: at com.github.tmo1.sms_ie.ImportExportMessagesKt$mmsToJSON$1.invokeSuspend(Unknown Source:17) 12-28 22:29:05.550 21929 21929 E AndroidRuntime: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) 12-28 22:29:05.550 21929 21929 E AndroidRuntime: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) 12-28 22:29:05.550 21929 21929 E AndroidRuntime: at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42) 12-28 22:29:05.550 21929 21929 E AndroidRuntime: at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95) 12-28 22:29:05.550 21929 21929 E AndroidRuntime: at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570) 12-28 22:29:05.550 21929 21929 E AndroidRuntime: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749) 12-28 22:29:05.550 21929 21929 E AndroidRuntime: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677) 12-28 22:29:05.550 21929 21929 E AndroidRuntime: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) 12-28 22:29:05.550 21929 21929 E AndroidRuntime: Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@a5a2900, Dispatchers.Main]

veision:1.5.3

tmo1 commented 1 year ago

Thanks for reporting this, but I don't understand it at all: there should not be any BLOBs in the database table we're querying there, according to the official documentation. When I get a chance, I'll post a version of the app that will log exactly where it's hitting the error, so I can try to figure out what's going on.

tmo1 commented 1 year ago

Okay - please test this build, which should catch and log the details of the problem. The app should recover and not crash, but please search the logcat for any SQLiteExceptions and post them here. The logcat should contain the names and values of the problematic fields - redact the values as appropriate.

Edit: update attached build.

tmo1 commented 2 months ago

Closing to submitter unresponsiveness; feel free to reopen as appropriate.