Timo Drick
11/19/2020, 1:55 PMTimo Drick
11/19/2020, 1:56 PMTimo Drick
11/19/2020, 1:56 PM#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007efd5f0d3f4a, pid=46282, tid=46347
#
# JRE version: OpenJDK Runtime Environment (15.0+32) (build 15-ea+32-Ubuntu-220.04)
# Java VM: OpenJDK 64-Bit Server VM (15-ea+32-Ubuntu-220.04, mixed mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# C [libskiko.so+0x95af4a] SkSwizzler::swizzle(void*, unsigned char const*)+0xa
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P %E" (or dumping to /home/timo/dev/compose/my_gitlab/imagebrowser/core.46282)
#
# If you would like to submit a bug report, please visit:
# Unknown
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- S U M M A R Y ------------
Command Line: -javaagent:/home/timo/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-core-jvm/1.3.9/4be434f5e86c1998a273e7f19a7286440894f0b0/kotlinx-coroutines-core-jvm-1.3.9.jar -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -ea MainKt
Host: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz, 8 cores, 15G, Ubuntu 20.04.1 LTS
Time: Sun Nov 15 04:57:57 2020 CET elapsed time: 152.624555 seconds (0d 0h 2m 32s)
--------------- T H R E A D ---------------
Current thread (0x00007efce4000e50): JavaThread "DefaultDispatcher-worker-1 @coroutine#9327" daemon [_thread_in_native, id=46347, stack(0x00007efd0850e000,0x00007efd0860f000)]
Stack: [0x00007efd0850e000,0x00007efd0860f000], sp=0x00007efd0860c3c8, free space=1016k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libskiko.so+0x95af4a] SkSwizzler::swizzle(void*, unsigned char const*)+0xa
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 6629 org.jetbrains.skija.Canvas._nDrawImageIRect(JJIIIIFFFFJZ)V (0 bytes) @ 0x00007efde8724815 [0x00007efde87247a0+0x0000000000000075]
J 7354 c1 org.jetbrains.skija.Canvas.drawImage(Lorg/jetbrains/skija/Image;FFLorg/jetbrains/skija/Paint;)Lorg/jetbrains/skija/Canvas; (48 bytes) @ 0x00007efde1347c64 [0x00007efde1347640+0x0000000000000624]
J 7353 c1 org.jetbrains.skija.Canvas.drawImage(Lorg/jetbrains/skija/Image;FF)Lorg/jetbrains/skija/Canvas; (9 bytes) @ 0x00007efde10382a4 [0x00007efde10381a0+0x0000000000000104]
J 7352 c1 androidx.compose.ui.graphics.DesktopImageAssetKt.toBitmap(Lorg/jetbrains/skija/Image;)Lorg/jetbrains/skija/Bitmap; (51 bytes) @ 0x00007efde13d9654 [0x00007efde13d8b80+0x0000000000000ad4]
J 6846 c1 de.appsonair.compose.FileUtilsKt$toImageAsset$2.invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; (50 bytes) @ 0x00007efde18ace1c [0x00007efde18ac880+0x000000000000059c]
J 6848 c1 de.appsonair.compose.FileUtilsKt$toImageAsset$2.invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; (19 bytes) @ 0x00007efde18adc04 [0x00007efde18ad960+0x00000000000002a4]
J 6490 c1 kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Lkotlinx/coroutines/internal/ScopeCoroutine;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; (265 bytes) @ 0x00007efde1473d4c [0x00007efde1473880+0x00000000000004cc]
J 4776 c1 kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; (212 bytes) @ 0x00007efde16b49dc [0x00007efde16b3ca0+0x0000000000000d3c]
J 6844 c1 de.appsonair.compose.FileUtilsKt.toImageAsset(Lorg/jetbrains/skija/Image;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; (30 bytes) @ 0x00007efde18ab514 [0x00007efde18ab200+0x0000000000000314]
J 6874 c1 de.appsonair.compose.FileUtilsKt$toScaledImageAsset$2.invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; (450 bytes) @ 0x00007efde18c6074 [0x00007efde18c3940+0x0000000000002734]
J 6646 c1 de.appsonair.compose.FileUtilsKt$toScaledImageAsset$2.invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; (19 bytes) @ 0x00007efde0da6c04 [0x00007efde0da6960+0x00000000000002a4]
J 6490 c1 kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Lkotlinx/coroutines/internal/ScopeCoroutine;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; (265 bytes) @ 0x00007efde1473d4c [0x00007efde1473880+0x00000000000004cc]
J 4776 c1 kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; (212 bytes) @ 0x00007efde16b49dc [0x00007efde16b3ca0+0x0000000000000d3c]
J 6627 c1 de.appsonair.compose.FileUtilsKt.toScaledImageAsset(Lorg/jetbrains/skija/Image;Ljava/lang/String;IILkotlin/coroutines/Continuation;)Ljava/lang/Object; (34 bytes) @ 0x00007efde10124d4 [0x00007efde1012180+0x0000000000000354]
J 6089 c1 de.appsonair.compose.FileUtilsKt$loadImageSizeFile$2.invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; (201 bytes) @ 0x00007efde17c8214 [0x00007efde17c76e0+0x0000000000000b34]
J 3605 c2 kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Ljava/lang/Object;)V (142 bytes) @ 0x00007efde83f0660 [0x00007efde83f05e0+0x0000000000000080]
J 6572 c2 kotlinx.coroutines.DispatchedTask.run()V (580 bytes) @ 0x00007efde8715acc [0x00007efde8715820+0x00000000000002ac]
J 6611 c1 kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(Lkotlinx/coroutines/scheduling/Task;)V (85 bytes) @ 0x00007efde0e565ac [0x00007efde0e564a0+0x000000000000010c]
J 6608 c1 kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(Lkotlinx/coroutines/scheduling/Task;)V (39 bytes) @ 0x00007efde115ff0c [0x00007efde115fc80+0x000000000000028c]
j kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker()V+44
j kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run()V+1
v ~StubRoutines::call_stub
siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000002e64
Register to memory mapping:
.....
olonho
11/19/2020, 2:06 PMTimo Drick
11/19/2020, 2:08 PMIgor Demin
11/19/2020, 2:33 PMSo maybe is it necessary to be on the Main/UI threadBy design "Image.asImageAsset()" should be allowed to be called from any thread (because it doesn't use common resources) Maybe it is a bug in skia/skija. Reproducer will help a lot to understand where the bug is.
Timo Drick
11/19/2020, 2:45 PM