JetBrains / skiko

Kotlin Multiplatform bindings to Skia
Apache License 2.0
1.81k stars 111 forks source link

Failed to Image::makeFromEncoded #787

Closed heiha100 closed 6 days ago

heiha100 commented 1 year ago

I ran a kmm project, I am trying load a png image from local path in ios module, but app throw error as follow:

Uncaught Kotlin exception: kotlin.IllegalArgumentException: Failed to Image::makeFromEncoded
    at 0   QiaQia                              0x10003fc27        kfun:kotlin.Throwable#<init>(kotlin.String?){} + 123 
    at 1   QiaQia                              0x100037cef        kfun:kotlin.Exception#<init>(kotlin.String?){} + 119 
    at 2   QiaQia                              0x100038133        kfun:kotlin.RuntimeException#<init>(kotlin.String?){} + 119 
    at 3   QiaQia                              0x100038577        kfun:kotlin.IllegalArgumentException#<init>(kotlin.String?){} + 119 
    at 4   QiaQia                              0x10045f30f        kfun:org.jetbrains.skia.Image.Companion#makeFromEncoded(kotlin.ByteArray){}org.jetbrains.skia.Image + 615 
    at 5   QiaQia                              0x100e57877        kfun:com.sr01.huntun#toImageBitmap__at__kotlin.ByteArray(){}androidx.compose.ui.graphics.ImageBitmap + 175 
    at 6   QiaQia                              0x100e4a853        kfun:com.sr01.huntun#Huntun(kotlin.String;kotlin.String?;androidx.compose.ui.Modifier?;androidx.compose.ui.Alignment?;androidx.compose.ui.layout.ContentScale?;kotlin.Float;androidx.compose.ui.graphics.ColorFilter?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 6147 
    at 7   QiaQia                              0x10102db37        kfun:com.sr01.shared.presentation.UserCell$lambda$44#internal + 5855 
    at 8   QiaQia                              0x1010309fb        kfun:com.sr01.shared.presentation.$UserCell$lambda$44$FUNCTION_REFERENCE$19.invoke#internal + 139 
    at 9   QiaQia                              0x101030b67        kfun:com.sr01.shared.presentation.$UserCell$lambda$44$FUNCTION_REFERENCE$19.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 183 
    at 10  QiaQia                              0x1003f1c3b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 875 
    at 11  QiaQia                              0x10040402b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 187 
    at 12  QiaQia                              0x100bba537        kfun:androidx.compose.material3.Surface$lambda$3#internal + 5947 
    at 13  QiaQia                              0x100bbacbf        kfun:androidx.compose.material3.$Surface$lambda$3$FUNCTION_REFERENCE$1.invoke#internal + 179 
    at 14  QiaQia                              0x100bbafa3        kfun:androidx.compose.material3.$Surface$lambda$3$FUNCTION_REFERENCE$1.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 183 
    at 15  QiaQia                              0x1003f1c3b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 875 
    at 16  QiaQia                              0x10040402b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 187 
    at 17  QiaQia                              0x1002fc9ab        kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<*>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 819 
    at 18  QiaQia                              0x100bb7f4b        kfun:androidx.compose.material3#Surface(androidx.compose.ui.Modifier?;androidx.compose.ui.graphics.Shape?;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp;androidx.compose.foundation.BorderStroke?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 3479 
    at 19  QiaQia                              0x10101c5bb        kfun:com.sr01.shared.presentation#UserCell(com.sr01.shared.model.User;androidx.compose.ui.Modifier;androidx.compose.runtime.Composer?;kotlin.Int){} + 2027 
    at 20  QiaQia                              0x10102b8c3        kfun:com.sr01.shared.presentation.UsersBar$lambda$42$lambda$41#internal + 3619 
    at 21  QiaQia                              0x101032d27        kfun:com.sr01.shared.presentation.$UsersBar$lambda$42$lambda$41$FUNCTION_REFERENCE$39.invoke#internal + 191 
    at 22  QiaQia                              0x101032f63        kfun:com.sr01.shared.presentation.$UsersBar$lambda$42$lambda$41$FUNCTION_REFERENCE$39.$<bridge-UNNNBNB>invoke(androidx.compose.foundation.lazy.LazyItemScope;kotlin.Int;androidx.compose.runtime.Composer;kotlin.Int){}#internal + 263 
    at 23  QiaQia                              0x1003f28e7        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(kotlin.Any?;kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 971 
    at 24  QiaQia                              0x100404277        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNNNB>invoke(kotlin.Any?;kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(kotlin.Any?;kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 259 
    at 25  QiaQia                              0x100a03f1b        kfun:androidx.compose.foundation.lazy.LazyListItemProviderImpl.Item$lambda$0#internal + 1183 
    at 26  QiaQia                              0x100a0423b        kfun:androidx.compose.foundation.lazy.LazyListItemProviderImpl.$Item$lambda$0$FUNCTION_REFERENCE$3.invoke#internal + 143 
    at 27  QiaQia                              0x100a043c3        kfun:androidx.compose.foundation.lazy.LazyListItemProviderImpl.$Item$lambda$0$FUNCTION_REFERENCE$3.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 183 
    at 28  QiaQia                              0x1003f1c3b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 875 
    at 29  QiaQia                              0x10040402b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 187 
    at 30  QiaQia                              0x1002fc9ab        kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<*>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 819 
    at 31  QiaQia                              0x100a358db        kfun:androidx.compose.foundation.lazy.layout#LazyLayoutPinnableItem(kotlin.Any?;kotlin.Int;androidx.compose.foundation.lazy.layout.LazyLayoutPinnedItemList;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 5463 
    at 32  QiaQia                              0x100a02f6b        kfun:androidx.compose.foundation.lazy.LazyListItemProviderImpl.Item#internal + 2191 
    at 33  QiaQia                              0x100a2d7eb        kfun:androidx.compose.foundation.lazy.layout.SkippableItem$lambda$0#internal + 979 
    at 34  QiaQia                              0x100a2daeb        kfun:androidx.compose.foundation.lazy.layout.$SkippableItem$lambda$0$FUNCTION_REFERENCE$2.invoke#internal + 151 
    at 35  QiaQia                              0x100a2dcef        kfun:androidx.compose.foundation.lazy.layout.$SkippableItem$lambda$0$FUNCTION_REFERENCE$2.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 183 
    at 36  QiaQia                              0x1003f1c3b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 875 
    at 37  QiaQia                              0x10040402b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 187 
    at 38  QiaQia                              0x1002fc9ab        kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<*>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 819 
    at 39  QiaQia                              0x1005991a3        kfun:androidx.compose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider#internal + 3143 
    at 40  QiaQia                              0x100a40f5f        kfun:androidx.compose.foundation.lazy.layout.LazySaveableStateHolder.SaveableStateProvider#internal + 2335 
    at 41  QiaQia                              0x100a2cfe7        kfun:androidx.compose.foundation.lazy.layout.SkippableItem#internal + 3207 
    at 42  QiaQia                              0x100a2babb        kfun:androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory.CachedItemContent.createContentLambda$lambda$1#internal + 2803 
    at 43  QiaQia                              0x100a2c027        kfun:androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory.CachedItemContent.$createContentLambda$lambda$1$FUNCTION_REFERENCE$0.invoke#internal + 143 
    at 44  QiaQia                              0x100a2c1d3        kfun:androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory.CachedItemContent.$createContentLambda$lambda$1$FUNCTION_REFERENCE$0.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 183 
    at 45  QiaQia                              0x1003f1c3b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 875 
    at 46  QiaQia                              0x10040402b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 187 
    at 47  QiaQia                              0x100747977        kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose$lambda$1#internal + 1207 
    at 48  QiaQia                              0x100748f0b        kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.$subcompose$lambda$1$FUNCTION_REFERENCE$3.invoke#internal + 143 
    at 49  QiaQia                              0x1007490b7        kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.$subcompose$lambda$1$FUNCTION_REFERENCE$3.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 183 
    at 50  QiaQia                              0x1003f1c3b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 875 
    at 51  QiaQia                              0x10040402b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 187 
    at 52  QiaQia                              0x1003f0523        kfun:androidx.compose.runtime#invokeComposable(androidx.compose.runtime.Composer;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 339 
    at 53  QiaQia                              0x1002cb6bf        kfun:androidx.compose.runtime.ComposerImpl.doCompose#internal + 2275 
    at 54  QiaQia                              0x1002ca66f        kfun:androidx.compose.runtime.ComposerImpl#composeContent(androidx.compose.runtime.collection.IdentityArrayMap<androidx.compose.runtime.RecomposeScopeImpl,androidx.compose.runtime.collection.IdentityArraySet<kotlin.Any>?>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 431 
    at 55  QiaQia                              0x1002ec003        kfun:androidx.compose.runtime.CompositionImpl#composeContent(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 535 
    at 56  QiaQia                              0x10031999b        kfun:androidx.compose.runtime.Recomposer#composeInitial(androidx.compose.runtime.ControlledComposition;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 911 
    at 57  QiaQia                              0x1002d19bf        kfun:androidx.compose.runtime.ComposerImpl.CompositionContextImpl.composeInitial#internal + 243 
    at 58  QiaQia                              0x1002eb503        kfun:androidx.compose.runtime.CompositionImpl#setContent(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 479 
    at 59  QiaQia                              0x100741517        kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcomposeInto#internal + 595 
    at 60  QiaQia                              0x10074110f        kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose#internal.217 + 907 
    at 61  QiaQia                              0x100740cff        kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose#internal + 1287 
    at 62  QiaQia                              0x10074062b        kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState#subcompose(kotlin.Any?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){}kotlin.collections.List<androidx.compose.ui.layout.Measurable> + 2963 
    at 63  QiaQia                              0x10074606b        kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.Scope.subcompose#internal + 159 
    at 64  QiaQia                              0x100a30de3        kfun:androidx.compose.foundation.lazy.layout.LazyLayoutMeasureScopeImpl#measure(kotlin.Int;androidx.compose.ui.unit.Constraints){}kotlin.collections.List<androidx.compose.ui.layout.Placeable> + 971 
    at 65  QiaQia                              0x100a0e367        kfun:androidx.compose.foundation.lazy.LazyListMeasuredItemProvider#getAndMeasure(kotlin.Int){}androidx.compose.foundation.lazy.LazyListMeasuredItem + 611 
    at 66  QiaQia                              0x100a05e2f        kfun:androidx.compose.foundation.lazy#measureLazyList(kotlin.Int;androidx.compose.foundation.lazy.LazyListMeasuredItemProvider;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Float;androidx.compose.ui.unit.Constraints;kotlin.Boolean;kotlin.collections.List<kotlin.Int>;androidx.compose.foundation.layout.Arrangement.Vertical?;androidx.compose.foundation.layout.Arrangement.Horizontal?;kotlin.Boolean;androidx.compose.ui.unit.Density;androidx.compose.foundation.lazy.LazyListItemPlacemen + 3039 
    at 67  QiaQia                              0x1009f4d73        kfun:androidx.compose.foundation.lazy.rememberLazyListMeasurePolicy$lambda$2#internal + 6083 
    at 68  QiaQia                              0x1009f5e27        kfun:androidx.compose.foundation.lazy.$rememberLazyListMeasurePolicy$lambda$2$FUNCTION_REFERENCE$1.invoke#internal + 211 
    at 69  QiaQia                              0x1009f61a3        kfun:androidx.compose.foundation.lazy.$rememberLazyListMeasurePolicy$lambda$2$FUNCTION_REFERENCE$1.$<bridge-NNNNB>invoke(androidx.compose.foundation.lazy.layout.LazyLayoutMeasureScope;androidx.compose.ui.unit.Constraints){}androidx.compose.foundation.lazy.LazyListMeasureResult#internal + 187 
    at 70  QiaQia                              0x100a1ec0b        kfun:androidx.compose.foundation.lazy.layout.LazyLayout$lambda$2$lambda$1#internal + 415 
    at 71  QiaQia                              0x100a20fdf        kfun:androidx.compose.foundation.lazy.layout.$LazyLayout$lambda$2$lambda$1$FUNCTION_REFERENCE$3.invoke#internal + 151 
    at 72  QiaQia                              0x100a211af        kfun:androidx.compose.foundation.lazy.layout.$LazyLayout$lambda$2$lambda$1$FUNCTION_REFERENCE$3.$<bridge-NNNNB>invoke(androidx.compose.ui.layout.SubcomposeMeasureScope;androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.MeasureResult#internal + 187 
    at 73  QiaQia                              0x100748427        kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.object-1.measure#internal + 1587 
    at 74  QiaQia                              0x10076d9ff        kfun:androidx.compose.ui.node.InnerNodeCoordinator#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 975 
    at 75  QiaQia                              0x1008e6457        kfun:androidx.compose.foundation.layout.OffsetPxNode.measure#internal + 307 
    at 76  QiaQia                              0x100777bb7        kfun:androidx.compose.ui.node.LayoutModifierNodeCoordinator#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 1255 
    at 77  QiaQia                              0x1006be33b        kfun:androidx.compose.ui.graphics.SimpleGraphicsLayerModifier.measure#internal + 307 
    at 78  QiaQia                              0x100777bb7        kfun:androidx.compose.ui.node.LayoutModifierNodeCoordinator#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 1255 
    at 79  QiaQia                              0x1007af293        kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure$lambda$0#internal + 203 
    at 80  QiaQia                              0x1007af46f        kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.$performMeasure$lambda$0$FUNCTION_REFERENCE$10.invoke#internal + 99 
    at 81  QiaQia                              0x1007af59f        kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.$performMeasure$lambda$0$FUNCTION_REFERENCE$10.$<bridge-UNN>invoke(){}#internal + 95 
    at 82  QiaQia                              0x1003aafcf        kfun:androidx.compose.runtime.snapshots.Snapshot.Companion#observe(kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function0<0:0>){0§<kotlin.Any?>}0:0 + 1147 
    at 83  QiaQia                              0x1003e85a3        kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver.ObservedScopeMap.observe#internal + 835 
    at 84  QiaQia                              0x1003e5dab        kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0<kotlin.Unit>){0§<kotlin.Any>} + 679 
    at 85  QiaQia                              0x1007ea6e7        kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0<kotlin.Unit>){0§<androidx.compose.ui.node.OwnerScope>} + 247 
    at 86  QiaQia                              0x1007ea3b3        kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeMeasureSnapshotReads(androidx.compose.ui.node.LayoutNode;kotlin.Boolean;kotlin.Function0<kotlin.Unit>){} + 443 
    at 87  QiaQia                              0x1007ae4c7        kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure#internal + 803 
    at 88  QiaQia                              0x1007a14f7        kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate#remeasure(androidx.compose.ui.unit.Constraints){}kotlin.Boolean + 927 
    at 89  QiaQia                              0x10078d0bf        kfun:androidx.compose.ui.node.LayoutNode#remeasure(androidx.compose.ui.unit.Constraints?){}kotlin.Boolean + 403 
    at 90  QiaQia                              0x10078d273        kfun:androidx.compose.ui.node.LayoutNode#remeasure$default(androidx.compose.ui.unit.Constraints?;kotlin.Int){}kotlin.Boolean + 347 
    at 91  QiaQia                              0x1007b888f        kfun:androidx.compose.ui.node.MeasureAndLayoutDelegate.doRemeasure#internal + 303 
    at 92  QiaQia                              0x1007ba403        kfun:androidx.compose.ui.node.MeasureAndLayoutDelegate.remeasureAndRelayoutIfNeeded#internal + 1179 
    at 93  QiaQia                              0x1007b90bb        kfun:androidx.compose.ui.node.MeasureAndLayoutDelegate#measureAndLayout(kotlin.Function0<kotlin.Unit>?){}kotlin.Boolean + 1639 
    at 94  QiaQia                              0x10084c4af        kfun:androidx.compose.ui.platform.SkiaBasedOwner#measureAndLayout(kotlin.Boolean){} + 371 
    at 95  QiaQia                              0x1007e9243        kfun:androidx.compose.ui.node.Owner#measureAndLayout$default(kotlin.Boolean;kotlin.Int){} + 299 
    at 96  QiaQia                              0x10082a60f        kfun:androidx.compose.ui.ComposeScene#render(org.jetbrains.skia.Canvas;kotlin.Long){} + 1319 
    at 97  QiaQia                              0x100820483        kfun:androidx.compose.ui.native.ComposeLayer.ComponentImpl#onRender(org.jetbrains.skia.Canvas;kotlin.Int;kotlin.Int;kotlin.Long){} + 231 
    at 98  QiaQia                              0x1004e67ef        kfun:org.jetbrains.skiko.SkiaLayer#draw(org.jetbrains.skia.Canvas){} + 2055 
    at 99  QiaQia                              0x10050e93b        kfun:org.jetbrains.skiko.context.MetalContextHandler.$draw$FUNCTION_REFERENCE$0.invoke#internal + 123 
    at 100 QiaQia                              0x10050ed53        kfun:org.jetbrains.skiko.context.MetalContextHandler.$draw$FUNCTION_REFERENCE$0.$<bridge-UNNN>invoke(org.jetbrains.skia.Canvas){}#internal + 123 
    at 101 QiaQia                              0x1004e0d97        kfun:org.jetbrains.skiko.context.ContextHandler#draw(){} + 647 
    at 102 QiaQia                              0x1005131cb        kfun:org.jetbrains.skiko.redrawer.MetalRedrawer.draw#internal + 339 
    at 103 QiaQia                              0x10051304f        kfun:org.jetbrains.skiko.redrawer.MetalRedrawer.drawIfLayerIsShowing#internal + 195 
    at 104 QiaQia                              0x100513997        kfun:org.jetbrains.skiko.redrawer.MetalRedrawer.<init>$lambda$0#internal + 199 
    at 105 QiaQia                              0x100513c87        kfun:org.jetbrains.skiko.redrawer.MetalRedrawer.$<init>$lambda$0$FUNCTION_REFERENCE$0.invoke#internal + 95 
    at 106 QiaQia                              0x100513d9b        kfun:org.jetbrains.skiko.redrawer.MetalRedrawer.$<init>$lambda$0$FUNCTION_REFERENCE$0.$<bridge-UNN>invoke(){}#internal + 95 
    at 107 QiaQia                              0x1005162b7        kfun:org.jetbrains.skiko.redrawer.FrameTickListener.onDisplayLinkTick#internal + 227 
    at 108 QiaQia                              0x1005163bb        kfun:org.jetbrains.skiko.redrawer.FrameTickListener.$imp:onDisplayLinkTick#internal + 155 
    at 109 QuartzCore                          0x187c5b84b        _ZN2CA7Display11DisplayLink14dispatch_itemsEyyy + 807 
    at 110 QuartzCore                          0x187d62083        _ZL22display_timer_callbackP12__CFMachPortPvlS1_ + 335 
    at 111 CoreFoundation                      0x1803664ef        __CFMachPortPerform + 171 
    at 112 CoreFoundation                      0x18039b35b        __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 55 
    at 113 CoreFoundation                      0x18039a97b        __CFRunLoopDoSource1 + 495 
    at 114 CoreFoundation                      0x180394ed3        __CFRunLoopRun + 2151 
    at 115 CoreFoundation                      0x180394253        CFRunLoopRunSpecific + 583 
    at 116 GraphicsServices                    0x188eb7c9b        GSEventRunModal + 159 
    at 117 UIKitCore                           0x104f6afef        -[UIApplication _run] + 867 
    at 118 UIKitCore                           0x104f6ef3b        UIApplicationMain + 123 
    at 119 SwiftUI                             0x10921f34b        OUTLINED_FUNCTION_54 + 499 
    at 120 SwiftUI                             0x10921f1eb        OUTLINED_FUNCTION_54 + 147 
    at 121 SwiftUI                             0x108a17473        OUTLINED_FUNCTION_16 + 87 
    at 122 QiaQia                              0x10001e12f        $s03QiaA00aA3AppV5$mainyyFZ + 39 
    at 123 QiaQia                              0x10001e1d7        main + 11 
    at 124 dyld                                0x103fc9513        0x0 + 4361852179 
    at 125 ???                                 0x1041f9f27        0x0 + 4364148519 

My codes is here, dependency okio: 3.4.0, and skiko: 0.7.73

actual class ImageReader {

    private fun readBytes(name: String, type: String): ByteArray {
        val path = NSBundle.mainBundle.pathForResource(name, type)!!.toPath()
        return fileSystem.read(path) {
            readByteArray()
        }
    }

    actual fun read(): ByteArray {
        return readBytes("test", "png")
    }
}

internal actual fun ByteArray.toImageBitmap(): ImageBitmap {
    return Image.makeFromEncoded(this).toComposeImageBitmap()
}

And image resources in ios project. image

heiha100 commented 1 year ago

And I tried load download.jpeg, it's ok, the problem only occurs when load test.png.

okushnikov commented 6 days ago

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.