JetBrains / compose-multiplatform

Compose Multiplatform, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.
https://jetbrains.com/lp/compose-multiplatform
Apache License 2.0
15.24k stars 1.11k forks source link

MissingResourceException with Cocoapods integration #4846

Closed msasikanth closed 2 weeks ago

msasikanth commented 1 month ago

Describe the bug

After I updated to Compose Multiplatform v1.6.10 (from v1.6.2) and Kotlin v2.0.0, my test flight builds started to crash. I have tried building the project locally and it's working fine with debug and release builds after the update. But when it's released to TestFlight from GH Action, it fails with the following error. I haven't had this issue before. My project is open source, here is the link to the workflow I am using to build and deploy to Test Flight.

Affected platforms

Versions

Additional context

0   Twine                           0x102c994c0 kfun:org.jetbrains.compose.resources.MissingResourceException#<init>(kotlin.String){} + 188 (ResourceReader.kt:5)
1   Twine                           0x102c99b64 kfun:org.jetbrains.compose.resources.object-2.readData#internal + 44 (ResourceReader.ios.kt:28)
2   Twine                           0x102c99b64 kfun:org.jetbrains.compose.resources.object-2.read#internal + 1468 (ResourceReader.ios.kt:10)
3   Twine                           0x103187744 kfun:org.jetbrains.compose.resources.ResourceReader#read#suspend(kotlin.String;kotlin.coroutines.Continuation<kotlin.ByteArray>){}kotlin.Any-trampoline + 212 (ResourceReader.kt:26)
4   Twine                           0x102c9c200 kfun:org.jetbrains.compose.resources.$Font$lambda$3COROUTINE$0.invokeSuspend#internal + 2340 (FontResources.skiko.kt:37)
5   Twine                           0x102c9d210 kfun:org.jetbrains.compose.resources.Font$lambda$3#internal + 168 (FontResources.skiko.kt:35)
6   Twine                           0x102c9d210 kfun:org.jetbrains.compose.resources.$Font$lambda$3$FUNCTION_REFERENCE$3.invoke#internal + 240 (FontResources.skiko.kt:35)
7   Twine                           0x10301f868 kfun:kotlin.coroutines.SuspendFunction1#invoke#suspend(1:0;kotlin.coroutines.Continuation<1:1>){}kotlin.Any?-trampoline + 204 ([K][Suspend]Functions:1)
8   Twine                           0x102c95d5c kfun:org.jetbrains.compose.resources.rememberResourceState$lambda$0#internal + 12 (ResourceState.blocking.kt:46)
9   Twine                           0x102c95d5c kfun:org.jetbrains.compose.resources.$rememberResourceState$lambda$0$FUNCTION_REFERENCE$0.invoke#internal + 56 (ResourceState.blocking.kt:46)
10  Twine                           0x10301f6b0 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 204 ([K][Suspend]Functions:1)
11  Twine                           0x1026208fc <inlined-out:startCoroutineUninterceptedOrReturn> + 300 (IntrinsicsNative.kt:72)
12  Twine                           0x1026208fc <inlined-out:<anonymous>> + 300 (IntrinsicsNative.kt:186)
13  Twine                           0x1026208fc kfun:kotlin.coroutines.intrinsics.object-3.invokeSuspend#internal + 448 (IntrinsicsNative.kt:254)
14  Twine                           0x10261f46c kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#invokeSuspend(kotlin.Result<kotlin.Any?>){}kotlin.Any?-trampoline + 28 (ContinuationImpl.kt:50)
15  Twine                           0x10261f46c <inlined-out:<anonymous>> + 44 (ContinuationImpl.kt:30)
16  Twine                           0x10261f46c <inlined-out:with> + 44 (Standard.kt:70)
17  Twine                           0x10261f46c kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 172 (ContinuationImpl.kt:26)
18  Twine                           0x10273ddfc <inlined-out:<anonymous>> + 256 (DispatchedTask.kt:0)
19  Twine                           0x10273ddfc <inlined-out:withContinuationContext> + 256 (CoroutineContext.kt:44)
20  Twine                           0x10273ddfc kfun:kotlinx.coroutines.DispatchedTask#run(){} + 452 (DispatchedTask.kt:86)
21  Twine                           0x10270bc5c <inlined-out:<anonymous>> + 8 (EventLoop.common.kt:277)
22  Twine                           0x10270bc5c <inlined-out:<anonymous>> + 8 (Dispatchers.kt:104)
23  Twine                           0x10270bc5c <inlined-out:autoreleasepool> + 16 (ObjectiveCUtils.kt:13)
24  Twine                           0x10270bc5c kfun:kotlinx.coroutines#platformAutoreleasePool(kotlin.Function0<kotlin.Unit>){} + 16 (Dispatchers.kt:104)
25  Twine                           0x10270bc5c kfun:kotlinx.coroutines.EventLoopImplBase#processNextEvent(){}kotlin.Long + 956 (EventLoop.common.kt:277)
26  Twine                           0x10274a508 kfun:kotlinx.coroutines.EventLoop#processNextEvent(){}kotlin.Long-trampoline + 20 (EventLoop.common.kt:49)
27  Twine                           0x10274a508 kfun:kotlinx.coroutines.BlockingCoroutine.joinBlocking#internal + 128 (Builders.kt:129)
28  Twine                           0x10274a508 kfun:kotlinx.coroutines#runBlocking(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>){0§<kotlin.Any?>}0:0 + 1048 (Builders.kt:68)
29  Twine                           0x102c9b88c kfun:kotlinx.coroutines#runBlocking$default(kotlin.coroutines.CoroutineContext?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>;kotlin.Int){0§<kotlin.Any?>}0:0 + 16 (Builders.kt:45)
30  Twine                           0x102c9b88c <inlined-out:<anonymous>> + 48 (ResourceState.blocking.kt:46)
31  Twine                           0x102c9b88c <inlined-out:<anonymous>> + 104 (Composer.kt:1119)
32  Twine                           0x102c9b88c <inlined-out:let> + 104 (Standard.kt:112)
33  Twine                           0x102c9b88c <inlined-out:cache> + 104 (Composer.kt:1117)
34  Twine                           0x102c9b88c kfun:org.jetbrains.compose.resources#rememberResourceState(kotlin.Any;kotlin.Any;kotlin.Any;kotlin.Function0<0:0>;kotlin.coroutines.SuspendFunction1<org.jetbrains.compose.resources.ResourceEnvironm... + 104 (ResourceState.blocking.kt:44)
35  Twine                           0x102c9b88c kfun:org.jetbrains.compose.resources#Font(org.jetbrains.compose.resources.FontResource;androidx.compose.ui.text.font.FontWeight?;androidx.compose.ui.text.font.FontStyle;androidx.compose.runtime.Com... + 1808 (FontResources.skiko.kt:35)
36  Twine                           0x1030106b8 kfun:dev.sasikanth.rss.reader.ui.<get-GolosFontFamily>#internal + 304 (AppTheme.kt:69)
37  Twine                           0x1030106b8 kfun:dev.sasikanth.rss.reader.ui#AppTheme(dev.sasikanth.rss.reader.ui.AppColorScheme?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;k... + 976 (AppTheme.kt:41)
38  Twine                           0x102f3ea90 kfun:dev.sasikanth.rss.reader.components#DynamicContentTheme(dev.sasikanth.rss.reader.components.DynamicColorState;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;android... + 1128 (DynamicContentTheme.kt:94)
39  Twine                           0x102f25180 kfun:dev.sasikanth.rss.reader.app.App$lambda$4#internal + 228 (App.kt:76)
40  Twine                           0x102f25180 kfun:dev.sasikanth.rss.reader.app.$App$lambda$4$FUNCTION_REFERENCE$1.invoke#internal + 256 (App.kt:75)
41  Twine                           0x102f25180 kfun:dev.sasikanth.rss.reader.app.$App$lambda$4$FUNCTION_REFERENCE$1.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 316 (App.kt:75)
42  Twine                           0x10301f6b0 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 204 ([K][Suspend]Functions:1)
43  Twine                           0x1027db30c kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 272 (ComposableLambda.jb.kt:107)
44  Twine                           0x1027e0474 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? + 64 (ComposableLambda.jb.kt:33)
45  Twine                           0x10301f6b0 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 204 ([K][Suspend]Functions:1)
46  Twine                           0x10277b754 kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<*>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;andr... + 496 (CompositionLocal.kt:228)
47  Twine                           0x102f24940 kfun:dev.sasikanth.rss.reader.app#App(dev.sasikanth.rss.reader.app.AppPresenter;dev.sasikanth.rss.reader.share.ShareHandler;dev.sasikanth.rss.reader.platform.LinkHandler;coil3.ImageLoader;androidx.... + 6524 (App.kt:70)
48  Twine                           0x102ef5eb4 kfun:dev.sasikanth.rss.reader.di.InjectHomeViewControllerComponent.<get-homeViewControllerFactory>$lambda$22$lambda$21#internal + 364 (InjectHomeViewControllerComponent.kt:73)
49  Twine                           0x102ef5eb4 kfun:dev.sasikanth.rss.reader.di.InjectHomeViewControllerComponent.$<get-homeViewControllerFactory>$lambda$22$lambda$21$FUNCTION_REFERENCE$22.invoke#internal + 400 (InjectHomeViewControllerComponent.kt:72)
50  Twine                           0x102ef5eb4 kfun:dev.sasikanth.rss.reader.di.InjectHomeViewControllerComponent.$<get-homeViewControllerFactory>$lambda$22$lambda$21$FUNCTION_REFERENCE$22.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer... + 464 (InjectHomeViewControllerComponent.kt:72)
51  Twine                           0x10301f6b0 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 204 ([K][Suspend]Functions:1)
52  Twine                           0x1027db30c kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 272 (ComposableLambda.jb.kt:107)
53  Twine                           0x1027e0474 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? + 64 (ComposableLambda.jb.kt:33)
54  Twine                           0x10301f6b0 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 204 ([K][Suspend]Functions:1)
55  Twine                           0x103013d70 kfun:dev.sasikanth.rss.reader.HomeViewController$lambda$2$lambda$1#internal + 160 (HomeViewController.kt:41)
56  Twine                           0x103013d70 kfun:dev.sasikanth.rss.reader.$HomeViewController$lambda$2$lambda$1$FUNCTION_REFERENCE$2.invoke#internal + 184 (HomeViewController.kt:40)
57  Twine                           0x103013d70 kfun:dev.sasikanth.rss.reader.$HomeViewController$lambda$2$lambda$1$FUNCTION_REFERENCE$2.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 244 (HomeViewController.kt:40)
58  Twine                           0x10301f6b0 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 204 ([K][Suspend]Functions:1)
59  Twine                           0x1027db30c kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 272 (ComposableLambda.jb.kt:107)
60  Twine                           0x1027e0474 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? + 64 (ComposableLambda.jb.kt:33)
61  Twine                           0x10301f6b0 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 204 ([K][Suspend]Functions:1)
62  Twine                           0x102beed40 <inlined-out:<anonymous>> + 48 (PredictiveBackGestureOverlay.kt:99)
63  Twine                           0x102beed40 <inlined-out:<anonymous>> + 48 (Box.kt:74)
64  Twine                           0x102beed40 <inlined-out:ReusableComposeNode> + 48 (Composables.kt:466)
65  Twine                           0x102beed40 <inlined-out:Layout> + 48 (Layout.kt:82)
66  Twine                           0x102beed40 <inlined-out:Box> + 48 (Box.kt:73)
67  Twine                           0x102beed40 kfun:com.arkivanov.decompose.extensions.compose.stack.animation.predictiveback#PredictiveBackGestureOverlay(com.arkivanov.essenty.backhandler.BackDispatcher;kotlin.Function4<kotlin.Float,com.arkiva... + 3624 (PredictiveBackGestureOverlay.kt:73)
68  Twine                           0x103013c28 kfun:dev.sasikanth.rss.reader.HomeViewController$lambda$2#internal + 416 (HomeViewController.kt:36)
69  Twine                           0x103013c28 kfun:dev.sasikanth.rss.reader.$HomeViewController$lambda$2$FUNCTION_REFERENCE$1.invoke#internal + 436 (HomeViewController.kt:35)
70  Twine                           0x103013c28 kfun:dev.sasikanth.rss.reader.$HomeViewController$lambda$2$FUNCTION_REFERENCE$1.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 500 (HomeViewController.kt:35)
71  Twine                           0x10301f6b0 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 204 ([K][Suspend]Functions:1)
72  Twine                           0x1027db30c kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 272 (ComposableLambda.jb.kt:107)
73  Twine                           0x1027e0474 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? + 64 (ComposableLambda.jb.kt:33)
74  Twine                           0x10301f6b0 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 204 ([K][Suspend]Functions:1)
75  Twine                           0x10277b754 kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<*>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;andr... + 496 (CompositionLocal.kt:228)
76  Twine                           0x102ac1b8c <inlined-out:<anonymous>> + 780 (ComposeContainer.uikit.kt:441)
77  Twine                           0x102ac1b8c <inlined-out:with> + 780 (Standard.kt:70)
78  Twine                           0x102ac1b8c kfun:androidx.compose.ui.window#ProvideContainerCompositionLocals(androidx.compose.ui.window.ComposeContainer;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.com... + 1040 (ComposeContainer.uikit.kt:440)
79  Twine                           0x102ac1440 kfun:androidx.compose.ui.window.ComposeContainer.createMediator$lambda$1#internal + 212 (ComposeContainer.uikit.kt:350)
80  Twine                           0x102ac1440 kfun:androidx.compose.ui.window.ComposeContainer.$createMediator$lambda$1$FUNCTION_REFERENCE$3.invoke#internal + 232 (ComposeContainer.uikit.kt:349)
81  Twine                           0x102ac1440 kfun:androidx.compose.ui.window.ComposeContainer.$createMediator$lambda$1$FUNCTION_REFERENCE$3.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 288 (ComposeContainer.uikit.kt:349)
82  Twine                           0x10301f6b0 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 204 ([K][Suspend]Functions:1)
83  Twine                           0x1027db30c kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 272 (ComposableLambda.jb.kt:107)
84  Twine                           0x1027e0474 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? + 64 (ComposableLambda.jb.kt:33)
85  Twine                           0x10301f6b0 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 204 ([K][Suspend]Functions:1)
86  Twine                           0x102a5d95c <inlined-out:ReusableComposeNode> + 432 (Composables.kt:466)
87  Twine                           0x102a5d95c <inlined-out:Layout> + 732 (Layout.kt:82)
88  Twine                           0x102a5d95c kfun:androidx.compose.ui.layout#OverlayLayout(androidx.compose.ui.Modifier;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 1220 (OverlayLayout.skiko.kt:29)
89  Twine                           0x102a5e148 kfun:androidx.compose.ui.node#TrackInteropContainer__at__androidx.compose.ui.node.InteropContainer<0:0>(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.r... + 504 (InteropContainer.kt:67)
90  Twine                           0x102aaf428 kfun:androidx.compose.ui.scene.ComposeSceneMediator.setContent$lambda$31$lambda$30$lambda$29#internal + 212 (ComposeSceneMediator.uikit.kt:465)
91  Twine                           0x102aaf428 kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$31$lambda$30$lambda$29$FUNCTION_REFERENCE$57.invoke#internal + 232 (ComposeSceneMediator.uikit.kt:464)
92  Twine                           0x102aaf428 kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$31$lambda$30$lambda$29$FUNCTION_REFERENCE$57.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 292 (ComposeSceneMediator.uikit.kt:464)
93  Twine                           0x10301f6b0 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 204 ([K][Suspend]Functions:1)
94  Twine                           0x1027db30c kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 272 (ComposableLambda.jb.kt:107)
95  Twine                           0x1027e0474 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? + 64 (ComposableLambda.jb.kt:33)
96  Twine                           0x10301f6b0 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 204 ([K][Suspend]Functions:1)
97  Twine                           0x10277b754 kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<*>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;andr... + 496 (CompositionLocal.kt:228)
98  Twine                           0x102aa15c8 kfun:androidx.compose.ui.scene.ComposeSceneMediator.ProvideComposeSceneMediatorCompositionLocals#internal + 1016 (ComposeSceneMediator.uikit.kt:491)
99  Twine                           0x102aaf61c kfun:androidx.compose.ui.scene.ComposeSceneMediator.setContent$lambda$31$lambda$30#internal + 332 (ComposeSceneMediator.uikit.kt:464)
100 Twine                           0x102aaf61c kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$31$lambda$30$FUNCTION_REFERENCE$58.invoke#internal + 356 (ComposeSceneMediator.uikit.kt:453)
101 Twine                           0x102aaf61c kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$31$lambda$30$FUNCTION_REFERENCE$58.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 420 (ComposeSceneMediator.uikit.kt:453)
102 Twine                           0x10301f6b0 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 204 ([K][Suspend]Functions:1)
103 Twine                           0x1027db30c kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 272 (ComposableLambda.jb.kt:107)
104 Twine                           0x1027de9c8 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl.invoke$invoke#internal + 52 (ComposableLambda.jb.kt:108)
105 Twine                           0x1027de9c8 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl.$invoke$FUNCTION_REFERENCE$0.invoke#internal + 68 (ComposableLambda.jb.kt:108)
106 Twine                           0x1027de9c8 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl.$invoke$FUNCTION_REFERENCE$0.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 120 (ComposableLambda.jb.kt:108)
107 Twine                           0x10301f6b0 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 204 ([K][Suspend]Functions:1)
108 Twine                           0x10276980c kfun:androidx.compose.runtime.RecomposeScopeImpl#compose(androidx.compose.runtime.Composer){} + 28 (RecomposeScopeImpl.kt:192)
109 Twine                           0x10276980c kfun:androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd#internal + 1428 (Composer.kt:2557)
110 Twine                           0x10276b584 kfun:androidx.compose.runtime.ComposerImpl#skipCurrentGroup(){} + 376 (Composer.kt:2828)
111 Twine                           0x10276f118 <inlined-out:<anonymous>> + 252 (Composer.kt:3315)
112 Twine                           0x10276f118 kfun:androidx.compose.runtime#observeDerivedStateRecalculations(androidx.compose.runtime.DerivedStateObserver;kotlin.Function0<0:0>){0§<kotlin.Any?>} + 276 (DerivedState.kt:392)
113 Twine                           0x10276f118 <inlined-out:<anonymous>> + 1060 (Composer.kt:3300)
114 Twine                           0x10276f118 <inlined-out:trace> + 1064 (Trace.kt:48)
115 Twine                           0x10276f118 kfun:androidx.compose.runtime.ComposerImpl.doCompose#internal + 1208 (Composer.kt:3277)
116 Twine                           0x102778254 kfun:androidx.compose.runtime.ComposerImpl#recompose(androidx.compose.runtime.collection.IdentityArrayMap<androidx.compose.runtime.RecomposeScopeImpl,androidx.compose.runtime.collection.IdentityArr... + 88 (Composer.kt:3266)
117 Twine                           0x102778254 <inlined-out:<anonymous>> + 164 (Composition.kt:940)
118 Twine                           0x102778254 <inlined-out:guardInvalidationsLocked> + 176 (Composition.kt:1039)
119 Twine                           0x102778254 <inlined-out:<anonymous>> + 176 (Composition.kt:933)
120 Twine                           0x102778254 <inlined-out:trackAbandonedValues> + 176 (Composition.kt:1207)
121 Twine                           0x102778254 <inlined-out:guardChanges> + 176 (Composition.kt:1048)
122 Twine                           0x102778254 <inlined-out:<anonymous>> + 196 (Composition.kt:932)
123 Twine                           0x102778254 <inlined-out:synchronized> + 204 (Synchronized.kt:175)
124 Twine                           0x102778254 <inlined-out:synchronized> + 204 (Synchronization.kt:33)
125 Twine                           0x102778254 kfun:androidx.compose.runtime.CompositionImpl#recompose(){}kotlin.Boolean + 340 (Composition.kt:930)
126 Twine                           0x102787d7c kfun:androidx.compose.runtime.ControlledComposition#recompose(){}kotlin.Boolean-trampoline + 188 (Composition.kt:231)
127 Twine                           0x102787d7c <inlined-out:<anonymous>> + 488 (Recomposer.kt:1155)
128 Twine                           0x102787d7c <inlined-out:enter> + 524 (Snapshot.kt:132)
129 Twine                           0x102787d7c <inlined-out:composing> + 640 (Recomposer.kt:1224)
130 Twine                           0x102787d7c kfun:androidx.compose.runtime.Recomposer.performRecompose#internal + 960 (Recomposer.kt:1147)
131 Twine                           0x102787d7c <inlined-out:<anonymous>> + 984 (Recomposer.kt:583)
132 Twine                           0x102787d7c <inlined-out:fastForEach> + 1052 (ListUtils.kt:36)
133 Twine                           0x102787d7c <inlined-out:<anonymous>> + 1500 (Recomposer.kt:581)
134 Twine                           0x102787d7c <inlined-out:trace> + 1504 (Trace.kt:48)
135 Twine                           0x102787d7c kfun:androidx.compose.runtime.Recomposer.runRecomposeAndApplyChanges$lambda$4$lambda$3#internal + 1784 (Recomposer.kt:565)
136 Twine                           0x102787d7c kfun:androidx.compose.runtime.Recomposer.$runRecomposeAndApplyChanges$lambda$4$lambda$3$FUNCTION_REFERENCE$12.invoke#internal + 1860 (Recomposer.kt:551)
137 Twine                           0x102787d7c kfun:androidx.compose.runtime.Recomposer.$runRecomposeAndApplyChanges$lambda$4$lambda$3$FUNCTION_REFERENCE$12.$<bridge-UNNB>invoke(kotlin.Long){}#internal + 1920 (Recomposer.kt:551)
138 Twine                           0x10301cdc8 kfun:kotlin.Function1#invoke(1:0){}1:1-trampoline + 204 ([K][Suspend]Functions:1)
139 Twine                           0x10275e478 <inlined-out:<anonymous>> + 32 (BroadcastFrameClock.kt:42)
140 Twine                           0x10275e478 <inlined-out:runCatching> + 44 (Result.kt:157)
141 Twine                           0x10275e478 kfun:androidx.compose.runtime.BroadcastFrameClock.FrameAwaiter.resume#internal + 68 (BroadcastFrameClock.kt:42)
142 Twine                           0x10275e478 <inlined-out:<anonymous>> + 164 (BroadcastFrameClock.kt:71)
143 Twine                           0x10275e478 <inlined-out:synchronized> + 168 (Synchronized.kt:175)
144 Twine                           0x10275e478 <inlined-out:synchronized> + 168 (Synchronization.kt:33)
145 Twine                           0x10275e478 kfun:androidx.compose.runtime.BroadcastFrameClock#sendFrame(kotlin.Long){} + 276 (BroadcastFrameClock.kt:62)
146 Twine                           0x102a6d774 <inlined-out:<anonymous>> + 412 (BaseComposeScene.skiko.kt:160)
147 Twine                           0x102a6d774 <inlined-out:performSnapshotChangesSynchronously> + 412 (SnapshotInvalidationTracker.skiko.kt:94)
148 Twine                           0x102a6d774 <inlined-out:<anonymous>> + 476 (BaseComposeScene.skiko.kt:89)
149 Twine                           0x102a6d774 <inlined-out:trace> + 1392 (Trace.uikit.kt:52)
150 Twine                           0x102a6d774 <inlined-out:postponeInvalidation> + 1392 (BaseComposeScene.skiko.kt:81)
151 Twine                           0x102a6d774 kfun:androidx.compose.ui.scene.BaseComposeScene#render(androidx.compose.ui.graphics.Canvas;kotlin.Long){} + 1560 (BaseComposeScene.skiko.kt:152)
152 Twine                           0x102aaf81c kfun:androidx.compose.ui.scene.ComposeScene#render(androidx.compose.ui.graphics.Canvas;kotlin.Long){}-trampoline + 208 (ComposeScene.skiko.kt:167)
153 Twine                           0x102aaf81c <inlined-out:<anonymous>> + 256 (ComposeSceneMediator.uikit.kt:174)
154 Twine                           0x102aaf81c <inlined-out:withSceneOffset> + 320 (ComposeSceneMediator.uikit.kt:182)
155 Twine                           0x102aaf81c kfun:androidx.compose.ui.scene.RenderingUIViewDelegateImpl.onRender#internal + 428 (ComposeSceneMediator.uikit.kt:173)
156 Twine                           0x102aced3c kfun:androidx.compose.ui.window.MetalRedrawerCallbacks#render(org.jetbrains.skia.Canvas;kotlin.Double){}-trampoline + 196 (MetalRedrawer.uikit.kt:114)
157 Twine                           0x102aced3c <inlined-out:<anonymous>> + 524 (MetalRedrawer.uikit.kt:308)
158 Twine                           0x102aced3c <inlined-out:also> + 524 (Standard.kt:98)
159 Twine                           0x102aced3c <inlined-out:<anonymous>> + 576 (MetalRedrawer.uikit.kt:306)
160 Twine                           0x102aced3c <inlined-out:trace> + 592 (Trace.uikit.kt:52)
161 Twine                           0x102aced3c <inlined-out:<anonymous>> + 612 (MetalRedrawer.uikit.kt:298)
162 Twine                           0x102aced3c <inlined-out:autoreleasepool> + 612 (ObjectiveCUtils.kt:13)
163 Twine                           0x102aced3c <inlined-out:<anonymous>> + 2008 (MetalRedrawer.uikit.kt:288)
164 Twine                           0x102aced3c <inlined-out:trace> + 2092 (Trace.uikit.kt:52)
165 Twine                           0x102aced3c kfun:androidx.compose.ui.window.MetalRedrawer.draw#internal + 2600 (MetalRedrawer.uikit.kt:283)
166 Twine                           0x102ad8bf4 kfun:androidx.compose.ui.window.MetalRedrawer#drawSynchronously(){} + 104 (MetalRedrawer.uikit.kt:280)
167 Twine                           0x102ad8bf4 kfun:androidx.compose.ui.window.RenderingUIView.updateMetalLayerSize#internal + 3160 (RenderingUIView.uikit.kt:139)
168 Twine                           0x102ad7ef0 kfun:androidx.compose.ui.window.RenderingUIView#objc:layoutSubviews + 312 (RenderingUIView.uikit.kt:117)
169 Twine                           0x1034c3c48 _6f72672e6a6574627261696e732e636f6d706f73652e75693a75692f6f70742f6275696c644167656e742f776f726b2f386132303736303934356430616562612f636f6d706f73652f75692f75692f7372632f75696b69744d61696e2f6b6f746c69... + 204
170 UIKitCore                       0x19945aa4c -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1528 (UIView.m:20054)
171 QuartzCore                      0x1988b93b4 CA::Layer::layout_if_needed(CA::Transaction*) + 504 (CALayer.mm:10816)
172 QuartzCore                      0x1988b8f38 CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 148 (CALayer.mm:2598)
173 QuartzCore                      0x1989140e0 CA::Context::commit_transaction(CA::Transaction*, double, double*) + 464 (CAContextInternal.mm:2760)
174 QuartzCore                      0x198889028 CA::Transaction::commit() + 648 (CATransactionInternal.mm:432)
175 UIKitCore                       0x19960f678 __34-[UIApplication _firstCommitBlock]_block_invoke_2 + 36 (UIApplication.m:12191)
176 CoreFoundation                  0x19722ec9c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 28 (CFRunLoop.c:1805)
177 CoreFoundation                  0x19721cdec __CFRunLoopDoBlocks + 356 (CFRunLoop.c:1847)
178 CoreFoundation                  0x19721c498 __CFRunLoopRun + 848 (CFRunLoop.c:2957)
179 CoreFoundation                  0x19721bcd8 CFRunLoopRunSpecific + 608 (CFRunLoop.c:3420)
180 GraphicsServices                0x1dc0cc1a8 GSEventRunModal + 164 (GSEvent.c:2196)
181 UIKitCore                       0x19985490c -[UIApplication _run] + 888 (UIApplication.m:3713)
182 UIKitCore                       0x1999089d0 UIApplicationMain + 340 (UIApplication.m:5303)
183 SwiftUI                         0x19b40c148 closure #1 in KitRendererCommon(_:) + 168 (UIKitApp.swift:51)
184 SwiftUI                         0x19b3b8714 runApp<A>(_:) + 152 (UIKitApp.swift:14)
185 SwiftUI                         0x19b3c44d0 static App.main() + 132 (App.swift:114)
186 Twine                           0x1026105a4 static iOSApp.$main() + 28 (iOSApp.swift:0)
187 Twine                           0x1026105a4 main + 40
188 dyld                            0x1ba8cde4c start + 2240 (dyldMain.cpp:1298)
igordmn commented 1 month ago

It seems the same or similar as https://github.com/JetBrains/compose-multiplatform/issues/4736

@mazunin-v-jb, could you try to reproduce it in the attached project? Vlad can help.

msasikanth commented 1 month ago

FYI IPA also gets uploaded to GH Action, which can be used for debugging the issue.

yuroyami commented 1 month ago

It's worth noting that this is probably an iOS-only bug. Everything works fine on Android. Reproduced with Kotlin 2.0.0, on iOS 17.2 (Physical & Simulated), Gradle 8.8-rc-1, Android Studio Koala. Issue disappears as soon as I downgrade Kotlin to 2.0.0-RC3

arok commented 3 weeks ago

https://github.com/JetBrains/compose-multiplatform/issues/4846#issuecomment-2128785786 same issue, Kotlin 2.0.0 does not work, but on 2.0.0-RC3 all good

msasikanth commented 3 weeks ago

When I upgrade to Compose 1.6.10 or above, this script is removed from the iOS project file. Maybe that's what's causing the issue.

Screenshot 2024-06-04 at 06 33 24
chrisjenx commented 3 weeks ago

This seems unrelated to Kotlin 2.x, I got this going from Compose 1.6.0 to 1.6.11. Even after clearing build folder, syncing, cleaning iOS project. Seems like a compose plugin bug not copying/importing the resources correctly

chrisjenx commented 3 weeks ago

Yeah just reverted the removal of "Copy Pods Resources" from the XCProject file and all working great.

AlexanderEggers commented 2 weeks ago

I have the same issue. Reverting the "Copy Pods Resources" does indeed work but in case you make a fresh clone, the iOS project won't be correctly initialised which would force you to manually copy pod files to that new clone.

carlosgub commented 2 weeks ago

Same here, when i downgrade from kotlin 2.0.0 to kotlin 2.0.0-RC3. This revert the change that 2.0.0 do in project.pbxproj

image image
terrakok commented 2 weeks ago

duplicates https://github.com/JetBrains/compose-multiplatform/issues/4720

to fix the issue it before the commit will be published: 1) open Xcode project 2) build ios app 3) close Xcode 4) call pod install again 5) open xcworkspace

you have to make sure that your project has the [CP] Copy Pod Resources step

terrakok commented 2 weeks ago

It was already fixed in master and will be available in the next release

terrakok commented 2 weeks ago

If it is different issue feel free to reopen it again but I need a reproducer