InsertKoinIO / koin

Koin - a pragmatic lightweight dependency injection framework for Kotlin & Kotlin Multiplatform
https://insert-koin.io
Apache License 2.0
9.09k stars 719 forks source link

Support androidx SavedStateHandle for kotlin multiplatform #1878

Closed aminshojaei13 closed 2 months ago

aminshojaei13 commented 6 months ago

Describe the bug org.koin.core.error.NoBeanDefFoundException: No definition found for type 'androidx.lifecycle.SavedStateHandle'.

Koin module and version:

Snippet or Sample project to help reproduce

// commonMain
class RegisterViewModel(
    private val savedStateHandle: SavedStateHandle,
    ...
) : ViewModel() {
}

// commonMain
@OptIn(KoinExperimentalAPI::class)
@Composable
@NonRestartableComposable
fun RegisterScreen() {
    ScreenContent(
        viewModel = koinViewModel<RegisterViewModel>()
    )
}

// commonMain
expect val viewModelModule: Module

// androidMain
actual val viewModelModule: Module = module {
    viewModelOf(::RegisterViewModel)
}

// iosMain
actual val viewModelModule: Module = module {
    factoryOf(::RegisterViewModel)
}
Navidhp commented 5 months ago

1- I couldn't wait for the update, this temporary route works for now 2- And another problem that exists is that arguments are not saved in SavedStateHandle

composable(
    route = Screen.MyScreen.route + myArgument(),
) {
    MyScreen(
        parametersHolder = parametersOf(SavedStateHandle.createHandle(null, it.arguments))
    )
}
@Composable
fun MyScreen(
    modifier: Modifier = Modifier,
    parametersHolder: ParametersHolder,
    viewModel: MyViewModel = koinViewModel<MyViewModel>(parameters = { parametersHolder })
) {
 // Screen
}
ajailani4 commented 4 months ago

@Navidhp Thanks, it works for me. I think this is a good approach for now. Hope the Koin teams are working for this issue

arnaudgiuliani commented 3 months ago

It has been bypassed. Should be fixed in next 4.0 milestone

Philio commented 3 months ago

Seems to work fine when the module is in commonMain on Android but it crashes on iOS:

๐Ÿ”ด (Koin) * Instance creation error : could not create instance for '[Factory:'app.boxes.ui.AppViewModel']': kotlin.IllegalArgumentException: CreationExtras must have a value by `SAVED_STATE_REGISTRY_OWNER_KEY`[kotlin.Exception]
Uncaught Kotlin exception: org.koin.core.error.InstanceCreationException: Could not create instance for '[Factory:'app.boxes.ui.AppViewModel']'
    at 0   Boxes                               0x10c0f45e3        kfun:kotlin.Exception#<init>(kotlin.String?;kotlin.Throwable?){} + 131 
    at 1   Boxes                               0x10cb030d7        kfun:org.koin.core.error.InstanceCreationException#<init>(kotlin.String;kotlin.Exception){} + 119 
    at 2   Boxes                               0x10cb0456e        kfun:org.koin.core.instance.InstanceFactory#create(org.koin.core.instance.InstanceContext){}1:0 + 2094 
    at 3   Boxes                               0x10cb038b1        kfun:org.koin.core.instance.FactoryInstanceFactory#get(org.koin.core.instance.InstanceContext){}1:0 + 97 
    at 4   Boxes                               0x10cb18ae3        kfun:org.koin.core.instance.InstanceFactory#get(org.koin.core.instance.InstanceContext){}1:0-trampoline + 51 
    at 5   Boxes                               0x10cb0d70a        kfun:org.koin.core.registry.InstanceRegistry#resolveInstance(org.koin.core.qualifier.Qualifier?;kotlin.reflect.KClass<*>;org.koin.core.qualifier.Qualifier;org.koin.core.instance.InstanceContext){0ยง<kotlin.Any?>}0:0? + 490 
    at 6   Boxes                               0x10cb11f75        kfun:org.koin.core.scope.Scope.resolveValue#internal + 1493 
    at 7   Boxes                               0x10cb11878        kfun:org.koin.core.scope.Scope.resolveInstance#internal + 1960 
    at 8   Boxes                               0x10cb11062        kfun:org.koin.core.scope.Scope#get(kotlin.reflect.KClass<*>;org.koin.core.qualifier.Qualifier?;kotlin.Function0<org.koin.core.parameter.ParametersHolder>?){0ยง<kotlin.Any?>}0:0 + 2754 
    at 9   Boxes                               0x10cb1c845        kfun:org.koin.viewmodel.factory.KoinViewModelFactory#create(kotlin.reflect.KClass<0:0>;androidx.lifecycle.viewmodel.CreationExtras){0ยง<androidx.lifecycle.ViewModel>}0:0 + 629 
    at 10  Boxes                               0x10c523c28        kfun:androidx.lifecycle.ViewModelProvider.Factory#create(kotlin.reflect.KClass<0:0>;androidx.lifecycle.viewmodel.CreationExtras){0ยง<androidx.lifecycle.ViewModel>}0:0-trampoline + 88 
    at 11  Boxes                               0x10c52059c        kfun:androidx.lifecycle.viewmodel.ViewModelProviderImpl#getViewModel(kotlin.reflect.KClass<0:0>;kotlin.String){0ยง<androidx.lifecycle.ViewModel>}0:0 + 1116 
    at 12  Boxes                               0x10c520947        kfun:androidx.lifecycle.viewmodel.ViewModelProviderImpl#getViewModel$default(kotlin.reflect.KClass<0:0>;kotlin.String?;kotlin.Int){0ยง<androidx.lifecycle.ViewModel>}0:0 + 423 
    at 13  Boxes                               0x10c522c48        kfun:androidx.lifecycle.ViewModelProvider#get(kotlin.reflect.KClass<0:0>){0ยง<androidx.lifecycle.ViewModel>}0:0 + 200 
    at 14  Boxes                               0x10cb1b4b7        kfun:org.koin.viewmodel#resolveViewModel(kotlin.reflect.KClass<0:0>;androidx.lifecycle.ViewModelStore;kotlin.String?;androidx.lifecycle.viewmodel.CreationExtras;org.koin.core.qualifier.Qualifier?;org.koin.core.scope.Scope;kotlin.Function0<org.koin.core.parameter.ParametersHolder>?){0ยง<androidx.lifecycle.ViewModel>}0:0 + 1143 
    at 15  Boxes                               0x10b5c4b0d        kfun:app.boxes.ui#App(app.boxes.ui.AppViewModel?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 2941 
    at 16  Boxes                               0x10b5cc399        kfun:ComposableSingletons$MainViewControllerKt.<init>$lambda$0#internal + 377 
    at 17  Boxes                               0x10b5cc693        kfun:ComposableSingletons$MainViewControllerKt.$<init>$lambda$0$FUNCTION_REFERENCE$0.invoke#internal + 83 
    at 18  Boxes                               0x10b5cc739        kfun:ComposableSingletons$MainViewControllerKt.$<init>$lambda$0$FUNCTION_REFERENCE$0.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 153 
    at 19  Boxes                               0x10c226588        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 88 
    at 20  Boxes                               0x10c4e55e8        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 792 
    at 21  Boxes                               0x10c4f864d        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? + 157 
    at 22  Boxes                               0x10c226588        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 88 
    at 23  Boxes                               0x10c3c4e36        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){} + 742 
    at 24  Boxes                               0x10cb1a4bd        kfun:org.koin.compose#KoinContext(org.koin.core.Koin?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 2093 
    at 25  Boxes                               0x10b5cc5e9        kfun:ComposableSingletons$MainViewControllerKt.<init>$lambda$1#internal + 505 
    at 26  Boxes                               0x10b5cc7d3        kfun:ComposableSingletons$MainViewControllerKt.$<init>$lambda$1$FUNCTION_REFERENCE$1.invoke#internal + 83 
    at 27  Boxes                               0x10b5cc879        kfun:ComposableSingletons$MainViewControllerKt.$<init>$lambda$1$FUNCTION_REFERENCE$1.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 153 
    at 28  Boxes                               0x10c226588        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 88 
    at 29  Boxes                               0x10c4e55e8        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 792 
    at 30  Boxes                               0x10c4f864d        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? + 157 
    at 31  Boxes                               0x10c226588        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 88 
    at 32  Boxes                               0x10c3c4e36        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){} + 742 
    at 33  Boxes                               0x10c8bebe3        kfun:androidx.compose.ui.window#ProvideContainerCompositionLocals(androidx.compose.ui.window.ComposeContainer;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 2051 
    at 34  Boxes                               0x10c8bd0a2        kfun:androidx.compose.ui.window.ComposeContainer.createMediator$lambda$2#internal + 610 
    at 35  Boxes                               0x10c8bd689        kfun:androidx.compose.ui.window.ComposeContainer.$createMediator$lambda$2$FUNCTION_REFERENCE$4.invoke#internal + 105 
    at 36  Boxes                               0x10c8bd7a9        kfun:androidx.compose.ui.window.ComposeContainer.$createMediator$lambda$2$FUNCTION_REFERENCE$4.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 153 
    at 37  Boxes                               0x10c226588        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 88 
    at 38  Boxes                               0x10c4e55e8        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 792 
    at 39  Boxes                               0x10c4f864d        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? + 157 
    at 40  Boxes                               0x10c226588        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 88 
    at 41  Boxes                               0x10c80cb2d        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){} + 4077 
    at 42  Boxes                               0x10c80e82d        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.runtime.Composer?;kotlin.Int){0ยง<kotlin.Any?>} + 1165 
    at 43  Boxes                               0x10c89a537        kfun:androidx.compose.ui.scene.ComposeSceneMediator.setContent$lambda$30$lambda$29$lambda$28#internal + 663 
    at 44  Boxes                               0x10c8a06e0        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$30$lambda$29$lambda$28$FUNCTION_REFERENCE$55.invoke#internal + 112 
    at 45  Boxes                               0x10c8a0829        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$30$lambda$29$lambda$28$FUNCTION_REFERENCE$55.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 153 
    at 46  Boxes                               0x10c226588        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 88 
    at 47  Boxes                               0x10c4e55e8        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 792 
    at 48  Boxes                               0x10c4f864d        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? + 157 
    at 49  Boxes                               0x10c226588        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 88 
    at 50  Boxes                               0x10c3c4e36        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){} + 742 
    at 51  Boxes                               0x10c88fb45        kfun:androidx.compose.ui.scene.ComposeSceneMediator.ProvideComposeSceneMediatorCompositionLocals#internal + 1653 
    at 52  Boxes                               0x10c89a9be        kfun:androidx.compose.ui.scene.ComposeSceneMediator.setContent$lambda$30$lambda$29#internal + 1038 
    at 53  Boxes                               0x10c8a08e0        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$30$lambda$29$FUNCTION_REFERENCE$56.invoke#internal + 112 
    at 54  Boxes                               0x10c8a0a29        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$30$lambda$29$FUNCTION_REFERENCE$56.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 153 
    at 55  Boxes                               0x10c226588        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 88 
    at 56  Boxes                               0x10c4e55e8        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 792 
    at 57  Boxes                               0x10c4edfe3        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl.invoke$invoke#internal + 179 
    at 58  Boxes                               0x10c4f26c9        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl.$invoke$FUNCTION_REFERENCE$0.invoke#internal + 105 
    at 59  Boxes                               0x10c4f2859        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl.$invoke$FUNCTION_REFERENCE$0.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 153 
    at 60  Boxes                               0x10c226588        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 88 
    at 61  Boxes                               0x10c3d49d6        kfun:androidx.compose.runtime.RecomposeScopeImpl#compose(androidx.compose.runtime.Composer){} + 1030 
    at 62  Boxes                               0x10c3983d4        kfun:androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd#internal + 1684 
    at 63  Boxes                               0x10c39b3ea        kfun:androidx.compose.runtime.ComposerImpl#skipCurrentGroup(){} + 2170 
    at 64  Boxes                               0x10c3a16d1        kfun:androidx.compose.runtime.ComposerImpl.doCompose#internal + 3633 
    at 65  Boxes                               0x10c3a0816        kfun:androidx.compose.runtime.ComposerImpl#recompose(androidx.compose.runtime.collection.ScopeMap<androidx.compose.runtime.RecomposeScopeImpl,kotlin.Any>){}kotlin.Boolean + 550 
    at 66  Boxes                               0x10c3b7b93        kfun:androidx.compose.runtime.CompositionImpl#recompose(){}kotlin.Boolean + 1203 
    at 67  Boxes                               0x10c501ec1        kfun:androidx.compose.runtime.ControlledComposition#recompose(){}kotlin.Boolean-trampoline + 65 
    at 68  Boxes                               0x10c3e0be3        kfun:androidx.compose.runtime.Recomposer.performRecompose#internal + 1779 
    at 69  Boxes                               0x10c3e9a9e        kfun:androidx.compose.runtime.Recomposer.runRecomposeAndApplyChanges$lambda$4$lambda$3#internal + 3902 
    at 70  Boxes                               0x10c3f063b        kfun:androidx.compose.runtime.Recomposer.$runRecomposeAndApplyChanges$lambda$4$lambda$3$FUNCTION_REFERENCE$13.invoke#internal + 155 
    at 71  Boxes                               0x10c3f0952        kfun:androidx.compose.runtime.Recomposer.$runRecomposeAndApplyChanges$lambda$4$lambda$3$FUNCTION_REFERENCE$13.$<bridge-UNNB>invoke(kotlin.Long){}#internal + 114 
    at 72  Boxes                               0x10c2224e0        kfun:kotlin.Function1#invoke(1:0){}1:1-trampoline + 80 
    at 73  Boxes                               0x10c37fd62        kfun:androidx.compose.runtime.BroadcastFrameClock.FrameAwaiter.resume#internal + 578 
    at 74  Boxes                               0x10c380659        kfun:androidx.compose.runtime.BroadcastFrameClock#sendFrame(kotlin.Long){} + 777 
    at 75  Boxes                               0x10c83576d        kfun:androidx.compose.ui.scene.BaseComposeScene#render(androidx.compose.ui.graphics.Canvas;kotlin.Long){} + 1741 
    at 76  Boxes                               0x10c9098c1        kfun:androidx.compose.ui.scene.ComposeScene#render(androidx.compose.ui.graphics.Canvas;kotlin.Long){}-trampoline + 81 
    at 77  Boxes                               0x10c889d18        kfun:androidx.compose.ui.scene.RenderingUIViewDelegateImpl.onRender#internal + 744 
    at 78  Boxes                               0x10b6eeb2c        kfun:org.jetbrains.skiko.SkikoRenderDelegate#onRender(org.jetbrains.skia.Canvas;kotlin.Int;kotlin.Int;kotlin.Long){}-trampoline + 92 
    at 79  Boxes                               0x10c8f0f3c        kfun:androidx.compose.ui.window.RenderingUIView.object-1.render#internal + 332 
    at 80  Boxes                               0x10c911a12        kfun:androidx.compose.ui.window.MetalRedrawerCallbacks#render(org.jetbrains.skia.Canvas;kotlin.Double){}-trampoline + 82 
    at 81  Boxes                               0x10c8e592e        kfun:androidx.compose.ui.window.MetalRedrawer.draw#internal + 6302 
    at 82  Boxes                               0x10c8e400b        kfun:androidx.compose.ui.window.MetalRedrawer#drawSynchronously(){} + 219 
    at 83  Boxes                               0x10c8f07b1        kfun:androidx.compose.ui.window.RenderingUIView.updateMetalLayerSize#internal + 5825 
    at 84  Boxes                               0x10c8ef06f        kfun:androidx.compose.ui.window.RenderingUIView#objc:layoutSubviews + 223 
    at 85  Boxes                               0x10c8f1a7d        _6f72672e6a6574627261696e732e636f6d706f73652e75693a75692f6f70742f6275696c644167656e742f776f726b2f386132303736303934356430616562612f636f6d706f73652f75692f75692f7372632f75696b69744d61696e2f6b6f746c696e2f616e64726f6964782f636f6d706f73652f75692f77696e646f772f52656e646572696e675549566965772e75696b69742e6b74_knbridge70 + 141 
    at 86  UIKitCore                           0x7ff8063a477b     -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 2137 
    at 87  QuartzCore                          0x7ff80b18e260     _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 526 
    at 88  QuartzCore                          0x7ff80b19a08c     _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 66 
    at 89  QuartzCore                          0x7ff80b0b91ff     _ZN2CA7Context18commit_transactionEPNS_11TransactionEdPd + 705 
    at 90  QuartzCore                          0x7ff80b0f3d39     _ZN2CA11Transaction6commitEv + 727 
    at 91  UIKitCore                           0x7ff805ce0226     __34-[UIApplication _firstCommitBlock]_block_invoke_2 + 33 
    at 92  CoreFoundation                      0x7ff800429da9     __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 11 
    at 93  CoreFoundation                      0x7ff80042955c     __CFRunLoopDoBlocks + 390 
    at 94  CoreFoundation                      0x7ff800423e3b     __CFRunLoopRun + 939 
    at 95  CoreFoundation                      0x7ff8004236ac     CFRunLoopRunSpecific + 556 
    at 96  GraphicsServices                    0x7ff8103da08e     GSEventRunModal + 136 
    at 97  UIKitCore                           0x7ff805cc0ad0     -[UIApplication _run] + 971 
    at 98  UIKitCore                           0x7ff805cc5550     UIApplicationMain + 122 
    at 99  SwiftUI                             0x7ffa159e5f0e     objectdestroy.44Tm + 2709 
    at 100 SwiftUI                             0x7ffa159e5dcb     objectdestroy.44Tm + 2386 
    at 101 SwiftUI                             0x7ffa15611f34     get_witness_table 7SwiftUI4ViewRzlAA15ModifiedContentVyxAA30_EnvironmentKeyWritingModifierVySbGGAaBHPxAaBHD1__AgA0cI0HPyHCHCTm + 218 
    at 102 Boxes                               0x10b43b40d        $s5Boxes6iOSAppV5$mainyyFZ + 29 
    at 103 Boxes                               0x10b43b498        main + 8 (/Users/phil/StudioProjects/boxes-cmp/iosApp/iosApp/iOSApp.swift:<unknown>)
    at 104 dyld                                0x10ed023df        0x0 + 4543488991 
    at 105 ???                                 0x11df1f365        0x0 + 4797363045 
    Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.runtime.BroadcastFrameClock@ec516a0, StandaloneCoroutine{Cancelling}@ea427b8, FlushCoroutineDispatcher@ef40660]
        at 0   Boxes                               0x10c0fa029        kfun:kotlin.Throwable#<init>(kotlin.String?){} + 105 
        at 1   Boxes                               0x10c0f4555        kfun:kotlin.Exception#<init>(kotlin.String?){} + 101 
        at 2   Boxes                               0x10c0f4715        kfun:kotlin.RuntimeException#<init>(kotlin.String?){} + 101 
        at 3   Boxes                               0x10c35b264        kfun:kotlinx.coroutines.internal.DiagnosticCoroutineContextException#<init>(kotlin.coroutines.CoroutineContext){} + 180 
        at 4   Boxes                               0x10c32a26e        kfun:kotlinx.coroutines.internal#handleUncaughtCoroutineException(kotlin.coroutines.CoroutineContext;kotlin.Throwable){} + 942 
        at 5   Boxes                               0x10c2b4dc3        kfun:kotlinx.coroutines#handleCoroutineException(kotlin.coroutines.CoroutineContext;kotlin.Throwable){} + 723 
        at 6   Boxes                               0x10c2a73d4        kfun:kotlinx.coroutines.StandaloneCoroutine.handleJobException#internal + 180 
        at 7   Boxes                               0x10c36200b        kfun:kotlinx.coroutines.JobSupport#handleJobException(kotlin.Throwable){}kotlin.Boolean-trampoline + 43 
        at 8   Boxes                               0x10c2c02c6        kfun:kotlinx.coroutines.JobSupport.finalizeFinishingState#internal + 1382 
        at 9   Boxes                               0x10c2ca277        kfun:kotlinx.coroutines.JobSupport.tryMakeCompletingSlowPath#internal + 2487 
        at 10  Boxes                               0x10c2c9879        kfun:kotlinx.coroutines.JobSupport.tryMakeCompleting#internal + 697 
        at 11  Boxes                               0x10c2c939d        kfun:kotlinx.coroutines.JobSupport#makeCompletingOnce(kotlin.Any?){}kotlin.Any? + 509 
        at 12  Boxes                               0x10c2a4bd7        kfun:kotlinx.coroutines.AbstractCoroutine#resumeWith(kotlin.Result<1:0>){} + 295 
        at 13  Boxes                               0x10c2260a9        kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73 
        at 14  Boxes                               0x10c0ff7fe        kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 1486 
        at 15  Boxes                               0x10c2260a9        kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73 
        at 16  Boxes                               0x10c353426        kfun:kotlinx.coroutines.UndispatchedCoroutine#afterResume(kotlin.Any?){} + 294 
        at 17  Boxes                               0x10c35eebb        kfun:kotlinx.coroutines.AbstractCoroutine#afterResume(kotlin.Any?){}-trampoline + 43 
        at 18  Boxes                               0x10c2a4c37        kfun:kotlinx.coroutines.AbstractCoroutine#resumeWith(kotlin.Result<1:0>){} + 391 
        at 19  Boxes                               0x10c2260a9        kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73 
        at 20  Boxes                               0x10c0ff7fe        kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 1486 
        at 21  Boxes                               0x10c2260a9        kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73 
        at 22  Boxes                               0x10c336786        kfun:kotlinx.coroutines.internal.ScopeCoroutine#afterResume(kotlin.Any?){} + 294 
        at 23  Boxes                               0x10c35eebb        kfun:kotlinx.coroutines.AbstractCoroutine#afterResume(kotlin.Any?){}-trampoline + 43 
        at 24  Boxes                               0x10c2a4c37        kfun:kotlinx.coroutines.AbstractCoroutine#resumeWith(kotlin.Result<1:0>){} + 391 
        at 25  Boxes                               0x10c2260a9        kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73 
        at 26  Boxes                               0x10c0ff7fe        kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 1486 
        at 27  Boxes                               0x10c2260a9        kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73 
        at 28  Boxes                               0x10c32e9e2        kfun:kotlinx.coroutines.DispatchedTask#run(){} + 2514 
        at 29  Boxes                               0x10c3611e0        kfun:kotlinx.coroutines.Runnable#run(){}-trampoline + 64 
        at 30  Boxes                               0x10c82269c        kfun:androidx.compose.ui.platform.FlushCoroutineDispatcher.dispatch$lambda$1$lambda$0#internal + 652 
        at 31  Boxes                               0x10c8241a6        kfun:androidx.compose.ui.platform.FlushCoroutineDispatcher.$dispatch$lambda$1$lambda$0$FUNCTION_REFERENCE$4.invoke#internal + 70 
        at 32  Boxes                               0x10c82428f        kfun:androidx.compose.ui.platform.FlushCoroutineDispatcher.$dispatch$lambda$1$lambda$0$FUNCTION_REFERENCE$4.$<bridge-UNN>invoke(){}#internal + 63 
        at 33  Boxes                               0x10c223548        kfun:kotlin.Function0#invoke(){}1:0-trampoline + 72 
        at 34  Boxes                               0x10c821d7d        kfun:androidx.compose.ui.platform.FlushCoroutineDispatcher.performRun#internal + 477 
        at 35  Boxes                               0x10c82287b        kfun:androidx.compose.ui.platform.FlushCoroutineDispatcher.dispatch$lambda$1#internal + 299 
        at 36  Boxes                               0x10c823c2a        kfun:androidx.compose.ui.platform.FlushCoroutineDispatcher.$dispatch$lambda$1$FUNCTION_REFERENCE$0.invoke#internal + 138 
        at 37  Boxes                               0x10c226588        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 88 
        at 38  Boxes                               0x10c102ace        kfun:kotlin.coroutines.intrinsics.object-4.invokeSuspend#internal + 862 
        at 39  Boxes                               0x10c226003        kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#invokeSuspend(kotlin.Result<kotlin.Any?>){}kotlin.Any?-trampoline + 51 
        at 40  Boxes                               0x10c0ff56d        kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 829 
        at 41  Boxes                               0x10c2260a9        kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73 
        at 42  Boxes                               0x10c32ead7        kfun:kotlinx.coroutines.DispatchedTask#run(){} + 2759 
        at 43  Boxes                               0x10c3611e0        kfun:kotlinx.coroutines.Runnable#run(){}-trampoline + 64 
        at 44  Boxes                               0x10c35d81b        kfun:kotlinx.coroutines.DarwinMainDispatcher.dispatch$lambda$0#internal + 59 
        at 45  Boxes                               0x10c35db0f        kfun:kotlinx.coroutines.DarwinMainDispatcher.$dispatch$lambda$0$FUNCTION_REFERENCE$1.invoke#internal + 63 
        at 46  Boxes                               0x10c35dbcf        kfun:kotlinx.coroutines.DarwinMainDispatcher.$dispatch$lambda$0$FUNCTION_REFERENCE$1.$<bridge-UNN>invoke(){}#internal + 63 
        at 47  Boxes                               0x10c223548        kfun:kotlin.Function0#invoke(){}1:0-trampoline + 72 
        at 48  Boxes                               0x10c35ec58        _6f72672e6a6574627261696e732e6b6f746c696e783a6b6f746c696e782d636f726f7574696e65732d636f72652f6f70742f6275696c644167656e742f776f726b2f343465633665383530643563363366302f6b6f746c696e782d636f726f7574696e65732d636f72652f6e617469766544617277696e2f7372632f44697370617463686572732e6b74_knbridge13 + 184 
        at 49  libdispatch.dylib                   0x10ee4529c        _dispatch_call_block_and_release + 11 
        at 50  libdispatch.dylib                   0x10ee4658e        _dispatch_client_callout + 7 
        at 51  libdispatch.dylib                   0x10ee563ed        _dispatch_main_queue_drain + 1361 
        at 52  libdispatch.dylib                   0x10ee55e8d        _dispatch_main_queue_callback_4CF + 30 
        at 53  CoreFoundation                      0x7ff800429af3     __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 8 
        at 54  CoreFoundation                      0x7ff80042442e     __CFRunLoopRun + 2462 
        at 55  CoreFoundation                      0x7ff8004236ac     CFRunLoopRunSpecific + 556 
        ... and 10 more common stack frames skipped
Caused by: kotlin.IllegalArgumentException: CreationExtras must have a value by `SAVED_STATE_REGISTRY_OWNER_KEY`
    at 0   Boxes                               0x10c0fa029        kfun:kotlin.Throwable#<init>(kotlin.String?){} + 105 
    at 1   Boxes                               0x10c0f4555        kfun:kotlin.Exception#<init>(kotlin.String?){} + 101 
    at 2   Boxes                               0x10c0f4715        kfun:kotlin.RuntimeException#<init>(kotlin.String?){} + 101 
    at 3   Boxes                               0x10c0f49e5        kfun:kotlin.IllegalArgumentException#<init>(kotlin.String?){} + 101 
    at 4   Boxes                               0x10c5249bf        kfun:androidx.lifecycle#createSavedStateHandle__at__androidx.lifecycle.viewmodel.CreationExtras(){}androidx.lifecycle.SavedStateHandle + 575 
    at 5   Boxes                               0x10cb1bf32        kfun:org.koin.viewmodel.factory.AndroidParametersHolder.createSavedStateHandleOrElse#internal + 258 
    at 6   Boxes                               0x10cb1bdd0        kfun:org.koin.viewmodel.factory.AndroidParametersHolder#getOrNull(kotlin.reflect.KClass<*>){0ยง<kotlin.Any?>}0:0? + 256 
    at 7   Boxes                               0x10cb18d73        kfun:org.koin.core.parameter.ParametersHolder#getOrNull(kotlin.reflect.KClass<*>){0ยง<kotlin.Any?>}0:0?-trampoline + 51 
    at 8   Boxes                               0x10cb121f4        kfun:org.koin.core.scope.Scope.resolveValue#internal + 2132 
    at 9   Boxes                               0x10cb11878        kfun:org.koin.core.scope.Scope.resolveInstance#internal + 1960 
    at 10  Boxes                               0x10cb11062        kfun:org.koin.core.scope.Scope#get(kotlin.reflect.KClass<*>;org.koin.core.qualifier.Qualifier?;kotlin.Function0<org.koin.core.parameter.ParametersHolder>?){0ยง<kotlin.Any?>}0:0 + 2754 
    at 11  Boxes                               0x10b5c2a23        kfun:app.boxes.di.appModule$lambda$1$lambda$0#internal + 499 
    at 12  Boxes                               0x10b5c3470        kfun:app.boxes.di.$appModule$lambda$1$lambda$0$FUNCTION_REFERENCE$1.invoke#internal + 112 
    at 13  Boxes                               0x10c226588        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 88 
    at 14  Boxes                               0x10cb04232        kfun:org.koin.core.instance.InstanceFactory#create(org.koin.core.instance.InstanceContext){}1:0 + 1266 
    at 15  Boxes                               0x10cb038b1        kfun:org.koin.core.instance.FactoryInstanceFactory#get(org.koin.core.instance.InstanceContext){}1:0 + 97 
    ... and 102 more common stack frames skipped
arnaudgiuliani commented 2 months ago

Closing this one. Will continue to check on KMP side if there is any issue

kamilkomnacki commented 2 months ago

It's start working for me in ComposeMultiplatform project (both android and ios) from version 4.0.0-RC2. SavedStateHandle is now automatically injected by koinViewModel(). Thank you this for fix!

arnaudgiuliani commented 2 months ago

๐Ÿ‘

Feinate commented 1 month ago

Hi, doesn't work for me...

Koin version : 4.0.0 (Latest)

The same error is happening with Navigation Type Safe ->

org.koin.core.error.InstanceCreationException: Could not create instance for '[Factory: 'com.test.testo.feature_thirdParty.presentation.screen.clientDetails.ClientDetailsViewModel']'

corneloaie commented 2 weeks ago

Did someone found a solution for this? I also encounter this issue on the latest version.

Feinate commented 1 week ago

The savedStateHandle is working properly.

You can call in the VM Parameter : private val savedStateHandle: SavedStateHandle.

Then calling in your VM:

val example = savedStateHandle.toRoute()

corneloaie commented 6 days ago

Koin version : 4.0.0 (Latest) compose.plugin: 1.7.1 lifecycle-viewmodel: 2.8.4 navigation: 2.8.0-alpha10

in commonMain val appModule = module { includes(featuresModules) viewModelOf(::AppViewModel) single { AppState() } }

This is what I get in my iOS app. On Android it works.

`Uncaught Kotlin exception: org.koin.core.error.InstanceCreationException: Could not create instance for '[Factory: 'app.presentation.AppViewModel']'

at 0   RoTrafic.debug.dylib                0x10a63ddd3        kfun:kotlin.Exception#<init>(kotlin.String?;kotlin.Throwable?){} + 143 

at 1   RoTrafic.debug.dylib                0x10c158e87        kfun:org.koin.core.error.InstanceCreationException#<init>(kotlin.String;kotlin.Exception){} + 123 

at 2   RoTrafic.debug.dylib                0x10c15a19b        kfun:org.koin.core.instance.InstanceFactory#create(org.koin.core.instance.ResolutionContext){}1:0 + 1635 

at 3   RoTrafic.debug.dylib                0x10c1599ff        kfun:org.koin.core.instance.FactoryInstanceFactory#get(org.koin.core.instance.ResolutionContext){}1:0 + 103 

at 4   RoTrafic.debug.dylib                0x10c172a03        kfun:org.koin.core.instance.InstanceFactory#get(org.koin.core.instance.ResolutionContext){}1:0-trampoline + 71 

at 5   RoTrafic.debug.dylib                0x10c16447b        kfun:org.koin.core.registry.InstanceRegistry#resolveInstance(org.koin.core.qualifier.Qualifier?;kotlin.reflect.KClass<*>;org.koin.core.qualifier.Qualifier;org.koin.core.instance.ResolutionContext){0ยง<kotlin.Any?>}0:0? + 347 

at 6   RoTrafic.debug.dylib                0x10c16bf07        kfun:org.koin.core.scope.Scope.resolveFromRegistry#internal + 327 

at 7   RoTrafic.debug.dylib                0x10c16b40b        kfun:org.koin.core.scope.Scope.resolveFromContext#internal + 1339 

at 8   RoTrafic.debug.dylib                0x10c16a833        kfun:org.koin.core.scope.Scope.stackParametersCall#internal + 795 

at 9   RoTrafic.debug.dylib                0x10c16a4bf        kfun:org.koin.core.scope.Scope.resolveInstance#internal + 791 

at 10  RoTrafic.debug.dylib                0x10c169a7b        kfun:org.koin.core.scope.Scope.resolveWithOptionalLogging#internal + 895 

at 11  RoTrafic.debug.dylib                0x10c1695cf        kfun:org.koin.core.scope.Scope#get(kotlin.reflect.KClass<*>;org.koin.core.qualifier.Qualifier?;kotlin.Function0<org.koin.core.parameter.ParametersHolder>?){0ยง<kotlin.Any?>}0:0 + 339 

at 12  RoTrafic.debug.dylib                0x10c176c0f        kfun:org.koin.viewmodel.factory.KoinViewModelFactory#create(kotlin.reflect.KClass<0:0>;androidx.lifecycle.viewmodel.CreationExtras){0ยง<androidx.lifecycle.ViewModel>}0:0 + 451 

at 13  RoTrafic.debug.dylib                0x10b3624d3        kfun:androidx.lifecycle.ViewModelProvider.Factory#create(kotlin.reflect.KClass<0:0>;androidx.lifecycle.viewmodel.CreationExtras){0ยง<androidx.lifecycle.ViewModel>}0:0-trampoline + 115 

at 14  RoTrafic.debug.dylib                0x10b361bef        kfun:androidx.lifecycle.viewmodel#createViewModel(androidx.lifecycle.ViewModelProvider.Factory;kotlin.reflect.KClass<0:0>;androidx.lifecycle.viewmodel.CreationExtras){0ยง<androidx.lifecycle.ViewModel>}0:0 + 131 

at 15  RoTrafic.debug.dylib                0x10b35ddeb        kfun:androidx.lifecycle.viewmodel.ViewModelProviderImpl#getViewModel(kotlin.reflect.KClass<0:0>;kotlin.String){0ยง<androidx.lifecycle.ViewModel>}0:0 + 839 

at 16  RoTrafic.debug.dylib                0x10b35dffb        kfun:androidx.lifecycle.viewmodel.ViewModelProviderImpl#getViewModel$default(kotlin.reflect.KClass<0:0>;kotlin.String?;kotlin.Int){0ยง<androidx.lifecycle.ViewModel>}0:0 + 327 

at 17  RoTrafic.debug.dylib                0x10b360a03        kfun:androidx.lifecycle.ViewModelProvider#get(kotlin.reflect.KClass<0:0>){0ยง<androidx.lifecycle.ViewModel>}0:0 + 199 

at 18  RoTrafic.debug.dylib                0x10c175a2f        kfun:org.koin.viewmodel#resolveViewModel(kotlin.reflect.KClass<0:0>;androidx.lifecycle.ViewModelStore;kotlin.String?;androidx.lifecycle.viewmodel.CreationExtras;org.koin.core.qualifier.Qualifier?;org.koin.core.scope.Scope;kotlin.Function0<org.koin.core.parameter.ParametersHolder>?){0ยง<androidx.lifecycle.ViewModel>}0:0 + 879 

at 19  RoTrafic.debug.dylib                0x10a26a863        kfun:app.presentation.ui.ComposableSingletons$AppKt.<init>$lambda$8#internal + 2635 

at 20  RoTrafic.debug.dylib                0x10a26b303        kfun:app.presentation.ui.ComposableSingletons$AppKt.$<init>$lambda$8$FUNCTION_REFERENCE$2.invoke#internal + 95 

at 21  RoTrafic.debug.dylib                0x10a26b3b7        kfun:app.presentation.ui.ComposableSingletons$AppKt.$<init>$lambda$8$FUNCTION_REFERENCE$2.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 22  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 23  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 24  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 25  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 26  RoTrafic.debug.dylib                0x10a990b8f        kfun:androidx.compose.runtime#CompositionLocalProvider(androidx.compose.runtime.ProvidedValue<*>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 27  RoTrafic.debug.dylib                0x10bd0e227        kfun:androidx.compose.material3#ProvideTextStyle(androidx.compose.ui.text.TextStyle;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 1447 

at 28  RoTrafic.debug.dylib                0x10bc7f79b        kfun:androidx.compose.material3.MaterialTheme$lambda$1#internal + 607 

at 29  RoTrafic.debug.dylib                0x10bc7fb73        kfun:androidx.compose.material3.$MaterialTheme$lambda$1$FUNCTION_REFERENCE$1.invoke#internal + 119 

at 30  RoTrafic.debug.dylib                0x10bc7fcc7        kfun:androidx.compose.material3.$MaterialTheme$lambda$1$FUNCTION_REFERENCE$1.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 31  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 32  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 33  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 34  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 35  RoTrafic.debug.dylib                0x10a9907f3        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){} + 615 

at 36  RoTrafic.debug.dylib                0x10bc7e417        kfun:androidx.compose.material3#MaterialTheme(androidx.compose.material3.ColorScheme?;androidx.compose.material3.Shapes?;androidx.compose.material3.Typography?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 3831 

at 37  RoTrafic.debug.dylib                0x10a29320f        kfun:core.presentation.theme.InfoTrafficTheme$lambda$1#internal + 955 

at 38  RoTrafic.debug.dylib                0x10a2934fb        kfun:core.presentation.theme.$InfoTrafficTheme$lambda$1$FUNCTION_REFERENCE$1.invoke#internal + 119 

at 39  RoTrafic.debug.dylib                0x10a29364f        kfun:core.presentation.theme.$InfoTrafficTheme$lambda$1$FUNCTION_REFERENCE$1.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 40  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 41  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 42  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 43  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 44  RoTrafic.debug.dylib                0x10a990b8f        kfun:androidx.compose.runtime#CompositionLocalProvider(androidx.compose.runtime.ProvidedValue<*>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 45  RoTrafic.debug.dylib                0x10a292c0b        kfun:core.presentation.theme#InfoTrafficTheme(kotlin.Boolean;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 2079 

at 46  RoTrafic.debug.dylib                0x10a26b0db        kfun:app.presentation.ui.ComposableSingletons$AppKt.<init>$lambda$9#internal + 491 

at 47  RoTrafic.debug.dylib                0x10a26b453        kfun:app.presentation.ui.ComposableSingletons$AppKt.$<init>$lambda$9$FUNCTION_REFERENCE$3.invoke#internal + 95 

at 48  RoTrafic.debug.dylib                0x10a26b507        kfun:app.presentation.ui.ComposableSingletons$AppKt.$<init>$lambda$9$FUNCTION_REFERENCE$3.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 49  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 50  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 51  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 52  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 53  RoTrafic.debug.dylib                0x10a9907f3        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){} + 615 

at 54  RoTrafic.debug.dylib                0x10c174987        kfun:org.koin.compose#KoinContext(org.koin.core.Koin?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 1939 

at 55  RoTrafic.debug.dylib                0x10a268383        kfun:app.presentation.ui#App(androidx.compose.runtime.Composer?;kotlin.Int){} + 551 

at 56  RoTrafic.debug.dylib                0x10a2ffd43        kfun:ComposableSingletons$MainViewControllerKt.<init>$lambda$0#internal + 419 

at 57  RoTrafic.debug.dylib                0x10a2ffe17        kfun:ComposableSingletons$MainViewControllerKt.$<init>$lambda$0$FUNCTION_REFERENCE$1.invoke#internal + 95 

at 58  RoTrafic.debug.dylib                0x10a2ffecb        kfun:ComposableSingletons$MainViewControllerKt.$<init>$lambda$0$FUNCTION_REFERENCE$1.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 59  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 60  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 61  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 62  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 63  RoTrafic.debug.dylib                0x10a9907f3        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){} + 615 

at 64  RoTrafic.debug.dylib                0x10b59547f        kfun:androidx.compose.ui.scene.ComposeHostingViewController.ProvideContainerCompositionLocals#internal + 1923 

at 65  RoTrafic.debug.dylib                0x10b5964b3        kfun:androidx.compose.ui.scene.ComposeHostingViewController.createMediator$lambda$4#internal + 503 

at 66  RoTrafic.debug.dylib                0x10b59820f        kfun:androidx.compose.ui.scene.ComposeHostingViewController.$createMediator$lambda$4$FUNCTION_REFERENCE$7.invoke#internal + 115 

at 67  RoTrafic.debug.dylib                0x10b598337        kfun:androidx.compose.ui.scene.ComposeHostingViewController.$createMediator$lambda$4$FUNCTION_REFERENCE$7.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 68  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 69  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 70  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 71  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 72  RoTrafic.debug.dylib                0x10b5055c3        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){} + 2995 

at 73  RoTrafic.debug.dylib                0x10b54c673        kfun:androidx.compose.ui.viewinterop#TrackInteropPlacementContainer__at__androidx.compose.ui.viewinterop.InteropContainer(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 1899 

at 74  RoTrafic.debug.dylib                0x10b5a90e7        kfun:androidx.compose.ui.scene.ComposeSceneMediator.setContent$lambda$16$lambda$15$lambda$14$lambda$13#internal + 531 

at 75  RoTrafic.debug.dylib                0x10b5aec03        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$lambda$14$lambda$13$FUNCTION_REFERENCE$52.invoke#internal + 119 

at 76  RoTrafic.debug.dylib                0x10b5aed57        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$lambda$14$lambda$13$FUNCTION_REFERENCE$52.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 77  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 78  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 79  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 80  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 81  RoTrafic.debug.dylib                0x10b5a370f        kfun:androidx.compose.ui.scene.ComposeSceneMediator.FocusAboveKeyboardIfNeeded#internal + 5903 

at 82  RoTrafic.debug.dylib                0x10b5a93e7        kfun:androidx.compose.ui.scene.ComposeSceneMediator.setContent$lambda$16$lambda$15$lambda$14#internal + 647 

at 83  RoTrafic.debug.dylib                0x10b5aee0b        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$lambda$14$FUNCTION_REFERENCE$53.invoke#internal + 119 

at 84  RoTrafic.debug.dylib                0x10b5aef5f        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$lambda$14$FUNCTION_REFERENCE$53.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 85  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 86  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 87  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 88  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 89  RoTrafic.debug.dylib                0x10a9907f3        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){} + 615 

at 90  RoTrafic.debug.dylib                0x10b5a1ea7        kfun:androidx.compose.ui.scene.ComposeSceneMediator.ProvideComposeSceneMediatorCompositionLocals#internal + 1627 

at 91  RoTrafic.debug.dylib                0x10b5a96e7        kfun:androidx.compose.ui.scene.ComposeSceneMediator.setContent$lambda$16$lambda$15#internal + 647 

at 92  RoTrafic.debug.dylib                0x10b5af013        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$FUNCTION_REFERENCE$54.invoke#internal + 119 

at 93  RoTrafic.debug.dylib                0x10b5af167        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$FUNCTION_REFERENCE$54.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 94  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 95  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 96  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 97  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 98  RoTrafic.debug.dylib                0x10a990b8f        kfun:androidx.compose.runtime#CompositionLocalProvider(androidx.compose.runtime.ProvidedValue<*>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 99  RoTrafic.debug.dylib                0x10b531717        kfun:androidx.compose.ui.scene.BaseComposeScene.setContent$lambda$0#internal + 543 

at 100 RoTrafic.debug.dylib                0x10b5325ef        kfun:androidx.compose.ui.scene.BaseComposeScene.$setContent$lambda$0$FUNCTION_REFERENCE$10.invoke#internal + 119 

at 101 RoTrafic.debug.dylib                0x10b532743        kfun:androidx.compose.ui.scene.BaseComposeScene.$setContent$lambda$0$FUNCTION_REFERENCE$10.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 102 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 103 RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 104 RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 105 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 106 RoTrafic.debug.dylib                0x10b4f0733        kfun:androidx.compose.ui.platform#ProvidePlatformCompositionLocals(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 783 

at 107 RoTrafic.debug.dylib                0x10b52af57        kfun:androidx.compose.ui.platform.setContent$lambda$3$lambda$2$lambda$1#internal + 463 

at 108 RoTrafic.debug.dylib                0x10b52be3b        kfun:androidx.compose.ui.platform.$setContent$lambda$3$lambda$2$lambda$1$FUNCTION_REFERENCE$3.invoke#internal + 115 

at 109 RoTrafic.debug.dylib                0x10b52bf63        kfun:androidx.compose.ui.platform.$setContent$lambda$3$lambda$2$lambda$1$FUNCTION_REFERENCE$3.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 110 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 111 RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 112 RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 113 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 114 RoTrafic.debug.dylib                0x10a9907f3        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){} + 615 

at 115 RoTrafic.debug.dylib                0x10b4bcd9b        kfun:androidx.compose.ui.platform#ProvideCommonCompositionLocals(androidx.compose.ui.node.Owner;androidx.compose.ui.platform.UriHandler;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 3947 

at 116 RoTrafic.debug.dylib                0x10b52b4d7        kfun:androidx.compose.ui.platform.setContent$lambda$3$lambda$2#internal + 1287 

at 117 RoTrafic.debug.dylib                0x10b52c017        kfun:androidx.compose.ui.platform.$setContent$lambda$3$lambda$2$FUNCTION_REFERENCE$4.invoke#internal + 119 

at 118 RoTrafic.debug.dylib                0x10b52c16b        kfun:androidx.compose.ui.platform.$setContent$lambda$3$lambda$2$FUNCTION_REFERENCE$4.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 119 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 120 RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 121 RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 122 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 123 RoTrafic.debug.dylib                0x10b52aaf7        kfun:androidx.compose.ui.platform.provide#internal + 1351 

at 124 RoTrafic.debug.dylib                0x10b52b817        kfun:androidx.compose.ui.platform.setContent$lambda$3#internal + 695 

at 125 RoTrafic.debug.dylib                0x10b52b9e3        kfun:androidx.compose.ui.platform.$setContent$lambda$3$FUNCTION_REFERENCE$0.invoke#internal + 123 

Caused by: kotlin.IllegalArgumentException: CreationExtras must have a value by SAVED_STATE_REGISTRY_OWNER_KEY

at 0   RoTrafic.debug.dylib                0x10a64497b        kfun:kotlin.Throwable#<init>(kotlin.String?){} + 119 

at 1   RoTrafic.debug.dylib                0x10a63dd2f        kfun:kotlin.Exception#<init>(kotlin.String?){} + 115 

at 2   RoTrafic.debug.dylib                0x10a63df4f        kfun:kotlin.RuntimeException#<init>(kotlin.String?){} + 115 

at 3   RoTrafic.debug.dylib                0x10a63e2cf        kfun:kotlin.IllegalArgumentException#<init>(kotlin.String?){} + 115 

at 4   RoTrafic.debug.dylib                0x10bec0e33        kfun:androidx.lifecycle#createSavedStateHandle__at__androidx.lifecycle.viewmodel.CreationExtras(){}androidx.lifecycle.SavedStateHandle + 471 

at 5   RoTrafic.debug.dylib                0x10c176323        kfun:org.koin.viewmodel.factory.AndroidParametersHolder.createSavedStateHandleOrElse#internal + 227 

at 6   RoTrafic.debug.dylib                0x10c1761f3        kfun:org.koin.viewmodel.factory.AndroidParametersHolder#getOrNull(kotlin.reflect.KClass<*>){0ยง<kotlin.Any?>}0:0? + 247 

at 7   RoTrafic.debug.dylib                0x10c172ec3        kfun:org.koin.core.parameter.ParametersHolder#getOrNull(kotlin.reflect.KClass<*>){0ยง<kotlin.Any?>}0:0?-trampoline + 71 

at 8   RoTrafic.debug.dylib                0x10c16b6b3        kfun:org.koin.core.scope.Scope.resolveFromContext#internal + 2019 

at 9   RoTrafic.debug.dylib                0x10c16a6a3        kfun:org.koin.core.scope.Scope.stackParametersCall#internal + 395 

at 10  RoTrafic.debug.dylib                0x10c16a4bf        kfun:org.koin.core.scope.Scope.resolveInstance#internal + 791 

at 11  RoTrafic.debug.dylib                0x10c169a7b        kfun:org.koin.core.scope.Scope.resolveWithOptionalLogging#internal + 895 

at 12  RoTrafic.debug.dylib                0x10c1695cf        kfun:org.koin.core.scope.Scope#get(kotlin.reflect.KClass<*>;org.koin.core.qualifier.Qualifier?;kotlin.Function0<org.koin.core.parameter.ParametersHolder>?){0ยง<kotlin.Any?>}0:0 + 339 

at 13  RoTrafic.debug.dylib                0x10a25ac4f        kfun:app.data.di.appModule$lambda$2$lambda$0#internal + 527 

at 14  RoTrafic.debug.dylib                0x10a25b877        kfun:app.data.di.$appModule$lambda$2$lambda$0$FUNCTION_REFERENCE$1.invoke#internal + 115 

at 15  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 16  RoTrafic.debug.dylib                0x10c159eeb        kfun:org.koin.core.instance.InstanceFactory#create(org.koin.core.instance.ResolutionContext){}1:0 + 947 

at 17  RoTrafic.debug.dylib                0x10c1599ff        kfun:org.koin.core.instance.FactoryInstanceFactory#get(org.koin.core.instance.ResolutionContext){}1:0 + 103 

at 18  RoTrafic.debug.dylib                0x10c172a03        kfun:org.koin.core.instance.InstanceFactory#get(org.koin.core.instance.ResolutionContext){}1:0-trampoline + 71 

at 19  RoTrafic.debug.dylib                0x10c16447b        kfun:org.koin.core.registry.InstanceRegistry#resolveInstance(org.koin.core.qualifier.Qualifier?;kotlin.reflect.KClass<*>;org.koin.core.qualifier.Qualifier;org.koin.core.instance.ResolutionContext){0ยง<kotlin.Any?>}0:0? + 347 

at 20  RoTrafic.debug.dylib                0x10c16bf07        kfun:org.koin.core.scope.Scope.resolveFromRegistry#internal + 327 

at 21  RoTrafic.debug.dylib                0x10c16b40b        kfun:org.koin.core.scope.Scope.resolveFromContext#internal + 1339 

at 22  RoTrafic.debug.dylib                0x10c16a833        kfun:org.koin.core.scope.Scope.stackParametersCall#internal + 795 

at 23  RoTrafic.debug.dylib                0x10c16a4bf        kfun:org.koin.core.scope.Scope.resolveInstance#internal + 791 

at 24  RoTrafic.debug.dylib                0x10c169a7b        kfun:org.koin.core.scope.Scope.resolveWithOptionalLogging#internal + 895 

at 25  RoTrafic.debug.dylib                0x10c1695cf        kfun:org.koin.core.scope.Scope#get(kotlin.reflect.KClass<*>;org.koin.core.qualifier.Qualifier?;kotlin.Function0<org.koin.core.parameter.ParametersHolder>?){0ยง<kotlin.Any?>}0:0 + 339 

at 26  RoTrafic.debug.dylib                0x10c176c0f        kfun:org.koin.viewmodel.factory.KoinViewModelFactory#create(kotlin.reflect.KClass<0:0>;androidx.lifecycle.viewmodel.CreationExtras){0ยง<androidx.lifecycle.ViewModel>}0:0 + 451 

at 27  RoTrafic.debug.dylib                0x10b3624d3        kfun:androidx.lifecycle.ViewModelProvider.Factory#create(kotlin.reflect.KClass<0:0>;androidx.lifecycle.viewmodel.CreationExtras){0ยง<androidx.lifecycle.ViewModel>}0:0-trampoline + 115 

at 28  RoTrafic.debug.dylib                0x10b361bef        kfun:androidx.lifecycle.viewmodel#createViewModel(androidx.lifecycle.ViewModelProvider.Factory;kotlin.reflect.KClass<0:0>;androidx.lifecycle.viewmodel.CreationExtras){0ยง<androidx.lifecycle.ViewModel>}0:0 + 131 

at 29  RoTrafic.debug.dylib                0x10b35ddeb        kfun:androidx.lifecycle.viewmodel.ViewModelProviderImpl#getViewModel(kotlin.reflect.KClass<0:0>;kotlin.String){0ยง<androidx.lifecycle.ViewModel>}0:0 + 839 

at 30  RoTrafic.debug.dylib                0x10b35dffb        kfun:androidx.lifecycle.viewmodel.ViewModelProviderImpl#getViewModel$default(kotlin.reflect.KClass<0:0>;kotlin.String?;kotlin.Int){0ยง<androidx.lifecycle.ViewModel>}0:0 + 327 

at 31  RoTrafic.debug.dylib                0x10b360a03        kfun:androidx.lifecycle.ViewModelProvider#get(kotlin.reflect.KClass<0:0>){0ยง<androidx.lifecycle.ViewModel>}0:0 + 199 

at 32  RoTrafic.debug.dylib                0x10c175a2f        kfun:org.koin.viewmodel#resolveViewModel(kotlin.reflect.KClass<0:0>;androidx.lifecycle.ViewModelStore;kotlin.String?;androidx.lifecycle.viewmodel.CreationExtras;org.koin.core.qualifier.Qualifier?;org.koin.core.scope.Scope;kotlin.Function0<org.koin.core.parameter.ParametersHolder>?){0ยง<androidx.lifecycle.ViewModel>}0:0 + 879 

at 33  RoTrafic.debug.dylib                0x10a26a863        kfun:app.presentation.ui.ComposableSingletons$AppKt.<init>$lambda$8#internal + 2635 

at 34  RoTrafic.debug.dylib                0x10a26b303        kfun:app.presentation.ui.ComposableSingletons$AppKt.$<init>$lambda$8$FUNCTION_REFERENCE$2.invoke#internal + 95 

at 35  RoTrafic.debug.dylib                0x10a26b3b7        kfun:app.presentation.ui.ComposableSingletons$AppKt.$<init>$lambda$8$FUNCTION_REFERENCE$2.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 36  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 37  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 38  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 39  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 40  RoTrafic.debug.dylib                0x10a990b8f        kfun:androidx.compose.runtime#CompositionLocalProvider(androidx.compose.runtime.ProvidedValue<*>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 41  RoTrafic.debug.dylib                0x10bd0e227        kfun:androidx.compose.material3#ProvideTextStyle(androidx.compose.ui.text.TextStyle;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 1447 

at 42  RoTrafic.debug.dylib                0x10bc7f79b        kfun:androidx.compose.material3.MaterialTheme$lambda$1#internal + 607 

at 43  RoTrafic.debug.dylib                0x10bc7fb73        kfun:androidx.compose.material3.$MaterialTheme$lambda$1$FUNCTION_REFERENCE$1.invoke#internal + 119 

at 44  RoTrafic.debug.dylib                0x10bc7fcc7        kfun:androidx.compose.material3.$MaterialTheme$lambda$1$FUNCTION_REFERENCE$1.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 45  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 46  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 47  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 48  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 49  RoTrafic.debug.dylib                0x10a9907f3        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){} + 615 

at 50  RoTrafic.debug.dylib                0x10bc7e417        kfun:androidx.compose.material3#MaterialTheme(androidx.compose.material3.ColorScheme?;androidx.compose.material3.Shapes?;androidx.compose.material3.Typography?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 3831 

at 51  RoTrafic.debug.dylib                0x10a29320f        kfun:core.presentation.theme.InfoTrafficTheme$lambda$1#internal + 955 

at 52  RoTrafic.debug.dylib                0x10a2934fb        kfun:core.presentation.theme.$InfoTrafficTheme$lambda$1$FUNCTION_REFERENCE$1.invoke#internal + 119 

at 53  RoTrafic.debug.dylib                0x10a29364f        kfun:core.presentation.theme.$InfoTrafficTheme$lambda$1$FUNCTION_REFERENCE$1.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 54  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 55  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 56  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 57  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 58  RoTrafic.debug.dylib                0x10a990b8f        kfun:androidx.compose.runtime#CompositionLocalProvider(androidx.compose.runtime.ProvidedValue<*>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 59  RoTrafic.debug.dylib                0x10a292c0b        kfun:core.presentation.theme#InfoTrafficTheme(kotlin.Boolean;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 2079 

at 60  RoTrafic.debug.dylib                0x10a26b0db        kfun:app.presentation.ui.ComposableSingletons$AppKt.<init>$lambda$9#internal + 491 

at 61  RoTrafic.debug.dylib                0x10a26b453        kfun:app.presentation.ui.ComposableSingletons$AppKt.$<init>$lambda$9$FUNCTION_REFERENCE$3.invoke#internal + 95 

at 62  RoTrafic.debug.dylib                0x10a26b507        kfun:app.presentation.ui.ComposableSingletons$AppKt.$<init>$lambda$9$FUNCTION_REFERENCE$3.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 63  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 64  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 65  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 66  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 67  RoTrafic.debug.dylib                0x10a9907f3        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){} + 615 

at 68  RoTrafic.debug.dylib                0x10c174987        kfun:org.koin.compose#KoinContext(org.koin.core.Koin?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 1939 

at 69  RoTrafic.debug.dylib                0x10a268383        kfun:app.presentation.ui#App(androidx.compose.runtime.Composer?;kotlin.Int){} + 551 

at 70  RoTrafic.debug.dylib                0x10a2ffd43        kfun:ComposableSingletons$MainViewControllerKt.<init>$lambda$0#internal + 419 

at 71  RoTrafic.debug.dylib                0x10a2ffe17        kfun:ComposableSingletons$MainViewControllerKt.$<init>$lambda$0$FUNCTION_REFERENCE$1.invoke#internal + 95 

at 72  RoTrafic.debug.dylib                0x10a2ffecb        kfun:ComposableSingletons$MainViewControllerKt.$<init>$lambda$0$FUNCTION_REFERENCE$1.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 73  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 74  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 75  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 76  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 77  RoTrafic.debug.dylib                0x10a9907f3        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){} + 615 

at 78  RoTrafic.debug.dylib                0x10b59547f        kfun:androidx.compose.ui.scene.ComposeHostingViewController.ProvideContainerCompositionLocals#internal + 1923 

at 79  RoTrafic.debug.dylib                0x10b5964b3        kfun:androidx.compose.ui.scene.ComposeHostingViewController.createMediator$lambda$4#internal + 503 

at 80  RoTrafic.debug.dylib                0x10b59820f        kfun:androidx.compose.ui.scene.ComposeHostingViewController.$createMediator$lambda$4$FUNCTION_REFERENCE$7.invoke#internal + 115 

at 81  RoTrafic.debug.dylib                0x10b598337        kfun:androidx.compose.ui.scene.ComposeHostingViewController.$createMediator$lambda$4$FUNCTION_REFERENCE$7.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 82  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 83  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 84  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 85  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 86  RoTrafic.debug.dylib                0x10b5055c3        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){} + 2995 

at 87  RoTrafic.debug.dylib                0x10b54c673        kfun:androidx.compose.ui.viewinterop#TrackInteropPlacementContainer__at__androidx.compose.ui.viewinterop.InteropContainer(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 1899 

at 88  RoTrafic.debug.dylib                0x10b5a90e7        kfun:androidx.compose.ui.scene.ComposeSceneMediator.setContent$lambda$16$lambda$15$lambda$14$lambda$13#internal + 531 

at 89  RoTrafic.debug.dylib                0x10b5aec03        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$lambda$14$lambda$13$FUNCTION_REFERENCE$52.invoke#internal + 119 

at 90  RoTrafic.debug.dylib                0x10b5aed57        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$lambda$14$lambda$13$FUNCTION_REFERENCE$52.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 91  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 92  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 93  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 94  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 95  RoTrafic.debug.dylib                0x10b5a370f        kfun:androidx.compose.ui.scene.ComposeSceneMediator.FocusAboveKeyboardIfNeeded#internal + 5903 

at 96  RoTrafic.debug.dylib                0x10b5a93e7        kfun:androidx.compose.ui.scene.ComposeSceneMediator.setContent$lambda$16$lambda$15$lambda$14#internal + 647 

at 97  RoTrafic.debug.dylib                0x10b5aee0b        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$lambda$14$FUNCTION_REFERENCE$53.invoke#internal + 119 

at 98  RoTrafic.debug.dylib                0x10b5aef5f        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$lambda$14$FUNCTION_REFERENCE$53.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 99  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 100 RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 101 RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 102 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 103 RoTrafic.debug.dylib                0x10a9907f3        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){} + 615 

at 104 RoTrafic.debug.dylib                0x10b5a1ea7        kfun:androidx.compose.ui.scene.ComposeSceneMediator.ProvideComposeSceneMediatorCompositionLocals#internal + 1627 

at 105 RoTrafic.debug.dylib                0x10b5a96e7        kfun:androidx.compose.ui.scene.ComposeSceneMediator.setContent$lambda$16$lambda$15#internal + 647 

at 106 RoTrafic.debug.dylib                0x10b5af013        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$FUNCTION_REFERENCE$54.invoke#internal + 119 

at 107 RoTrafic.debug.dylib                0x10b5af167        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$FUNCTION_REFERENCE$54.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 108 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 109 RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 110 RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 111 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 112 RoTrafic.debug.dylib                0x10a990b8f        kfun:androidx.compose.runtime#CompositionLocalProvider(androidx.compose.runtime.ProvidedValue<*>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 113 RoTrafic.debug.dylib                0x10b531717        kfun:androidx.compose.ui.scene.BaseComposeScene.setContent$lambda$0#internal + 543 

at 114 RoTrafic.debug.dylib                0x10b5325ef        kfun:androidx.compose.ui.scene.BaseComposeScene.$setContent$lambda$0$FUNCTION_REFERENCE$10.invoke#internal + 119 

at 115 RoTrafic.debug.dylib                0x10b532743        kfun:androidx.compose.ui.scene.BaseComposeScene.$setContent$lambda$0$FUNCTION_REFERENCE$10.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 116 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 117 RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 118 RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 119 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 120 RoTrafic.debug.dylib                0x10b4f0733        kfun:androidx.compose.ui.platform#ProvidePlatformCompositionLocals(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 783 

at 121 RoTrafic.debug.dylib                0x10b52af57        kfun:androidx.compose.ui.platform.setContent$lambda$3$lambda$2$lambda$1#internal + 463 

at 122 RoTrafic.debug.dylib                0x10b52be3b        kfun:androidx.compose.ui.platform.$setContent$lambda$3$lambda$2$lambda$1$FUNCTION_REFERENCE$3.invoke#internal + 115 

at 123 RoTrafic.debug.dylib                0x10b52bf63        kfun:androidx.compose.ui.platform.$setContent$lambda$3$lambda$2$lambda$1$FUNCTION_REFERENCE$3.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 124 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 125 RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603`