问题描述
我遇到了崩溃,Logcat
显示了一个以A/DEBUG: Build fingerprint
开头的奇怪堆栈跟踪
这是完整的堆栈跟踪。.
--------- beginning of crash
2020-09-23 12:25:03.435 17458-17641/com.project100pi.video.downloader.videodownloader A/libc: Fatal signal 11 (SIGSEGV),code 1 (SEGV_MAPERR),fault addr 0xfffffffc in tid 17641 (arch_disk_io_2),pid 17458 (videodownloader)
2020-09-22 20:41:37.006 10143-10143/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2020-09-22 20:41:37.006 10143-10143/? A/DEBUG: Build fingerprint: 'google/sdk_gphone_x86/generic_x86:10/QSR1.190920.001/5891938:user/release-keys'
2020-09-22 20:41:37.006 10143-10143/? A/DEBUG: Revision: '0'
2020-09-22 20:41:37.006 10143-10143/? A/DEBUG: ABI: 'x86'
2020-09-22 20:41:37.006 10143-10143/? A/DEBUG: Timestamp: 2020-09-22 20:41:36+0530
2020-09-22 20:41:37.006 10143-10143/? A/DEBUG: pid: 9985,tid: 10127,name: arch_disk_io_3 >>> com.project100pi.video.downloader.videodownloader <<<
2020-09-22 20:41:37.006 10143-10143/? A/DEBUG: uid: 10141
2020-09-22 20:41:37.006 10143-10143/? A/DEBUG: signal 11 (SIGSEGV),fault addr 0xb6aa1660
2020-09-22 20:41:37.006 10143-10143/? A/DEBUG: eax 43c7cfb0 ebx e66e4564 ecx 70690e34 edx 00000000
2020-09-22 20:41:37.006 10143-10143/? A/DEBUG: edi e5bed140 esi b6aa1660
2020-09-22 20:41:37.006 10143-10143/? A/DEBUG: ebp b1846898 esp b18467c0 eip e665195f
2020-09-22 20:41:37.461 10143-10143/? A/DEBUG: backtrace:
2020-09-22 20:41:37.462 10143-10143/? A/DEBUG: #00 pc 0014f95f /system/lib/libandroid_runtime.so (Bitmap_compress(_jnienv*,_jobject*,long long,int,_jbyteArray*)+63) (BuildId: 6ceb9761bceb97a18c92f8a4b7072247)
2020-09-22 20:41:37.462 10143-10143/? A/DEBUG: #01 pc 002b193e /system/framework/x86/boot-framework.oat (art_jni_trampoline+238) (BuildId: ff6ec03dd8445d20788424c92ba8ea28ad0f54f4)
2020-09-22 20:41:37.462 10143-10143/? A/DEBUG: #02 pc 0013e9a2 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_static_stub+418) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.462 10143-10143/? A/DEBUG: #03 pc 00149a7a /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*,unsigned int*,unsigned int,art::JValue*,char const*)+298) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.462 10143-10143/? A/DEBUG: #04 pc 00332502 /apex/com.android.runtime/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*,art::ArtMethod*,art::ShadowFrame*,unsigned short,art::JValue*)+386) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.462 10143-10143/? A/DEBUG: #05 pc 0032d3df /apex/com.android.runtime/lib/libart.so (bool art::interpreter::DoCall<true,false>(art::ArtMethod*,art::Thread*,art::ShadowFrame&,art::Instruction const*,art::JValue*)+719) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.462 10143-10143/? A/DEBUG: #06 pc 0068870f /apex/com.android.runtime/lib/libart.so (MterpInvokeStaticRange+495) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.462 10143-10143/? A/DEBUG: #07 pc 00138ca1 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_static_range+33) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.462 10143-10143/? A/DEBUG: #08 pc 0036949e /system/framework/framework.jar (android.graphics.Bitmap.compress+70)
2020-09-22 20:41:37.462 10143-10143/? A/DEBUG: #09 pc 00681adc /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+1612) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.462 10143-10143/? A/DEBUG: #10 pc 00138821 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+33) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #11 pc 000a7e88 [anon:dalvik-classes2.dex extracted in memory from /data/app/com.project100pi.video.downloader.videodownloader-ZrVxAumSEH6l_GSdptEkIw==/base.apk!classes2.dex] (com.pilabs.pivideodownloader.utils.RoomVideoConverter.fromBitmapToBase64+28)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #12 pc 00681adc /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+1612) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #13 pc 00138821 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+33) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #14 pc 000854b6 [anon:dalvik-classes2.dex extracted in memory from /data/app/com.project100pi.video.downloader.videodownloader-ZrVxAumSEH6l_GSdptEkIw==/base.apk!classes2.dex] (com.pilabs.pivideodownloader.data.dao.VideoProgressDao_Impl$3.bind+374)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #15 pc 00681adc /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+1612) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #16 pc 00138821 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+33) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #17 pc 00085548 [anon:dalvik-classes2.dex extracted in memory from /data/app/com.project100pi.video.downloader.videodownloader-ZrVxAumSEH6l_GSdptEkIw==/base.apk!classes2.dex] (com.pilabs.pivideodownloader.data.dao.VideoProgressDao_Impl$3.bind+4)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #18 pc 00681adc /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+1612) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #19 pc 00138821 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+33) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #20 pc 002cbcec [anon:dalvik-classes.dex extracted in memory from /data/app/com.project100pi.video.downloader.videodownloader-ZrVxAumSEH6l_GSdptEkIw==/base.apk] (androidx.room.EntityDeletionorUpdateAdapter.handle+8)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #21 pc 00681adc /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+1612) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #22 pc 00138821 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+33) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #23 pc 0008565e [anon:dalvik-classes2.dex extracted in memory from /data/app/com.project100pi.video.downloader.videodownloader-ZrVxAumSEH6l_GSdptEkIw==/base.apk!classes2.dex] (com.pilabs.pivideodownloader.data.dao.VideoProgressDao_Impl$5.call+34)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #24 pc 00681adc /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+1612) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #25 pc 00138821 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+33) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #26 pc 00085620 [anon:dalvik-classes2.dex extracted in memory from /data/app/com.project100pi.video.downloader.videodownloader-ZrVxAumSEH6l_GSdptEkIw==/base.apk!classes2.dex] (com.pilabs.pivideodownloader.data.dao.VideoProgressDao_Impl$5.call)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #27 pc 006837bc /apex/com.android.runtime/lib/libart.so (MterpInvokeInterface+1980) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #28 pc 00138a21 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_interface+33) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #29 pc 002cb84c [anon:dalvik-classes.dex extracted in memory from /data/app/com.project100pi.video.downloader.videodownloader-ZrVxAumSEH6l_GSdptEkIw==/base.apk] (androidx.room.CoroutinesRoom$Companion$execute$2.invokeSuspend+28)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #30 pc 00681adc /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+1612) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #31 pc 00138821 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+33) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #32 pc 001a62b8 [anon:dalvik-classes3.dex extracted in memory from /data/app/com.project100pi.video.downloader.videodownloader-ZrVxAumSEH6l_GSdptEkIw==/base.apk!classes3.dex] (kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith+44)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #33 pc 006837bc /apex/com.android.runtime/lib/libart.so (MterpInvokeInterface+1980) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #34 pc 00138a21 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_interface+33) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #35 pc 001d9492 [anon:dalvik-classes3.dex extracted in memory from /data/app/com.project100pi.video.downloader.videodownloader-ZrVxAumSEH6l_GSdptEkIw==/base.apk!classes3.dex] (kotlinx.coroutines.dispatchedTask.run+334)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #36 pc 006837bc /apex/com.android.runtime/lib/libart.so (MterpInvokeInterface+1980) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #37 pc 00138a21 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_interface+33) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #38 pc 002d0d04 [anon:dalvik-classes.dex extracted in memory from /data/app/com.project100pi.video.downloader.videodownloader-ZrVxAumSEH6l_GSdptEkIw==/base.apk] (androidx.room.TransactionExecutor$1.run+4)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #39 pc 006837bc /apex/com.android.runtime/lib/libart.so (MterpInvokeInterface+1980) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.463 10143-10143/? A/DEBUG: #40 pc 00138a21 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_interface+33) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.464 10143-10143/? A/DEBUG: #41 pc 001f7fb2 /apex/com.android.runtime/javalib/core-oj.jar (java.util.concurrent.ThreadPoolExecutor.runWorker+158)
2020-09-22 20:41:37.464 10143-10143/? A/DEBUG: #42 pc 00681adc /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+1612) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.464 10143-10143/? A/DEBUG: #43 pc 00138821 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+33) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.475 10143-10143/? A/DEBUG: #44 pc 001f6d60 /apex/com.android.runtime/javalib/core-oj.jar (java.util.concurrent.ThreadPoolExecutor$Worker.run+4)
2020-09-22 20:41:37.485 10143-10143/? A/DEBUG: #45 pc 006837bc /apex/com.android.runtime/lib/libart.so (MterpInvokeInterface+1980) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.485 10143-10143/? A/DEBUG: #46 pc 00138a21 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_interface+33) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.485 10143-10143/? A/DEBUG: #47 pc 000ea918 /apex/com.android.runtime/javalib/core-oj.jar (java.lang.Thread.run+8)
2020-09-22 20:41:37.485 10143-10143/? A/DEBUG: #48 pc 002f8e0a /apex/com.android.runtime/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.12194892193087984976+298) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.485 10143-10143/? A/DEBUG: #49 pc 002ffcc5 /apex/com.android.runtime/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*,art::CodeItemDataAccessor const&,art::ShadowFrame*)+181) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.485 10143-10143/? A/DEBUG: #50 pc 0066fbd9 /apex/com.android.runtime/lib/libart.so (artQuickToInterpreterBridge+1209) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.486 10143-10143/? A/DEBUG: #51 pc 0014503d /apex/com.android.runtime/lib/libart.so (art_quick_to_interpreter_bridge+77) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.486 10143-10143/? A/DEBUG: #52 pc 0013e7d2 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub+338) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.486 10143-10143/? A/DEBUG: #53 pc 00149a69 /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*,char const*)+281) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.486 10143-10143/? A/DEBUG: #54 pc 0055a513 /apex/com.android.runtime/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedobjectAccessAlreadyRunnable const&,art::(anonymous namespace)::ArgArray*,char const*)+99) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.486 10143-10143/? A/DEBUG: #55 pc 0055b91a /apex/com.android.runtime/lib/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedobjectAccessAlreadyRunnable const&,_jmethodID*,jvalue const*)+474) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.486 10143-10143/? A/DEBUG: #56 pc 005aaa51 /apex/com.android.runtime/lib/libart.so (art::Thread::CreateCallback(void*)+1585) (BuildId: 895645e5113da057f27d9b2ec11eb3bf)
2020-09-22 20:41:37.486 10143-10143/? A/DEBUG: #57 pc 0011a8e5 /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+53) (BuildId: 76290498408016ad14f4b98c3ab6c65c)
2020-09-22 20:41:37.486 10143-10143/? A/DEBUG: #58 pc 000af6a7 /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71) (BuildId: 76290498408016ad14f4b98c3ab6c65c)
2020-09-22 20:41:38.729 1824-1824/? E//system/bin/tombstoned: Tombstone written to:/data/tombstones/tombstone_04
通过查看,我可以说问题出在RoomVideoConverter.fromBitmapToBase
这是RoomVideoConverter
class RoomVideoConverter {
@TypeConverter
fun fromBase64ToBitmap(base64Value: String): Bitmap? {
val decodedBytes: ByteArray = Base64.decode(base64Value,0)
return BitmapFactory.decodeByteArray(decodedBytes,decodedBytes.size)
}
@TypeConverter
fun fromBitmapToBase64(bitmap: Bitmap?): String {
val byteArrayOS = ByteArrayOutputStream()
bitmap?.compress(Bitmap.CompressFormat.PNG,25,byteArrayOS)
return Base64.encodetoString(byteArrayOS.toByteArray(),Base64.DEFAULT)
}
}
RoomDatabase在这里,
@Database(entities = [VideoInfo::class,Link::class],version = 1,exportSchema = false)
@TypeConverters(RoomVideoConverter::class)
abstract class AppDatabase : RoomDatabase() {
abstract fun videoProgressDao() : VideoProgressDao
}
我正在使用TypeConverter
将位图转换为Base64字符串以将其存储到数据库表中。
注意::我正在使用WorkManager
从网络下载视频,并且数据库交易发生在doWork()
的{{1}}中。现在,当我下载1个视频时,不会崩溃,而同时下载多个视频时,只会崩溃。这可能是CoroutineWorker
的问题吗?如果是这样,如何使TypeConverter线程安全以避免崩溃?
有人可以帮我吗?
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)