realm / realm-kotlin

Kotlin Multiplatform and Android SDK for the Realm Mobile Database: Build Better Apps Faster.
Apache License 2.0
942 stars 57 forks source link

Flaky test: io.realm.kotlin.test.common.notifications.BacklinksNotificationsTests.keyPath_invalidNestedProperty #1608

Closed cmelchior closed 8 months ago

cmelchior commented 9 months ago

This this on MacOs: https://ci.realm.io/blue/organizations/jenkins/realm%2Frealm-kotlin/detail/PR-1607/11/pipeline/200

io.realm.kotlin.test.common.notifications.BacklinksNotificationsTests.keyPath_invalidNestedProperty STANDARD_OUT

    Uncaught Kotlin exception: kotlin.IllegalStateException: Dispatcher notifier-default.realm was closed, attempted to schedule: DispatchedContinuation[MultiWorkerDispatcher@2e133260, Continuation @ null]

        at 0   test.kexe                           0x104c8a73b        kfun:kotlin.Throwable#<init>(kotlin.String?){} + 107 (/opt/buildAgent/work/f43969c6214a19e7/kotlin/kotlin-native/runtime/src/main/kotlin/kotlin/Throwable.kt:28:37)

        at 1   test.kexe                           0x104c843a7        kfun:kotlin.Exception#<init>(kotlin.String?){} + 103 (/opt/buildAgent/work/f43969c6214a19e7/kotlin/kotlin-native/runtime/src/main/kotlin/kotlin/Exceptions.kt:23:44)

        at 2   test.kexe                           0x104c84577        kfun:kotlin.RuntimeException#<init>(kotlin.String?){} + 103 (/opt/buildAgent/work/f43969c6214a19e7/kotlin/kotlin-native/runtime/src/main/kotlin/kotlin/Exceptions.kt:34:44)

        at 3   test.kexe                           0x104c84ab7        kfun:kotlin.IllegalStateException#<init>(kotlin.String?){} + 103 (/opt/buildAgent/work/f43969c6214a19e7/kotlin/kotlin-native/runtime/src/main/kotlin/kotlin/Exceptions.kt:70:44)

        at 4   test.kexe                           0x105076e6b        kfun:kotlinx.coroutines.MultiWorkerDispatcher.dispatch#internal + 1131 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/native/src/MultithreadedDispatchers.kt:123:23)

        at 5   test.kexe                           0x105041670        kfun:kotlinx.coroutines.internal#resumeCancellableWith__at__kotlin.coroutines.Continuation<0:0>(kotlin.Result<0:0>;kotlin.Function1<kotlin.Throwable,kotlin.Unit>?){0§<kotlin.Any?>} + 1376 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/internal/DispatchedContinuation.kt:280:64)

        at 6   test.kexe                           0x10505145b        kfun:kotlinx.coroutines.intrinsics#startCoroutineCancellable__at__kotlin.coroutines.SuspendFunction1<0:0,0:1>(0:0;kotlin.coroutines.Continuation<0:1>;kotlin.Function1<kotlin.Throwable,kotlin.Unit>?){0§<kotlin.Any?>;1§<kotlin.Any?>} + 587 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/intrinsics/Cancellable.kt:30:74)

        at 7   test.kexe                           0x10505167c        kfun:kotlinx.coroutines.intrinsics#startCoroutineCancellable$default__at__kotlin.coroutines.SuspendFunction1<0:0,0:1>(0:0;kotlin.coroutines.Continuation<0:1>;kotlin.Function1<kotlin.Throwable,kotlin.Unit>?;kotlin.Int){0§<kotlin.Any?>;1§<kotlin.Any?>} + 364 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/intrinsics/Cancellable.kt:25:10)

        at 8   test.kexe                           0x104fbdefc        kfun:kotlinx.coroutines.CoroutineStart#invoke(kotlin.coroutines.SuspendFunction1<0:0,0:1>;0:0;kotlin.coroutines.Continuation<0:1>){0§<kotlin.Any?>;1§<kotlin.Any?>} + 364 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/CoroutineStart.kt:110:30)

        at 9   test.kexe                           0x104faaa0f        kfun:kotlinx.coroutines.AbstractCoroutine#start(kotlinx.coroutines.CoroutineStart;0:0;kotlin.coroutines.SuspendFunction1<0:0,1:0>){0§<kotlin.Any?>} + 159 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/AbstractCoroutine.kt:126:9)

        at 10  test.kexe                           0x104faacc5        kfun:kotlinx.coroutines#launch__at__kotlinx.coroutines.CoroutineScope(kotlin.coroutines.CoroutineContext;kotlinx.coroutines.CoroutineStart;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,kotlin.Unit>){}kotlinx.coroutines.Job + 677 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/Builders.common.kt:56:15)

        at 11  test.kexe                           0x104faaf66        kfun:kotlinx.coroutines#launch$default__at__kotlinx.coroutines.CoroutineScope(kotlin.coroutines.CoroutineContext?;kotlinx.coroutines.CoroutineStart?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,kotlin.Unit>;kotlin.Int){}kotlinx.coroutines.Job + 582 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/Builders.common.kt:47:8)

        at 12  test.kexe                           0x1050d9b2f        kfun:io.realm.kotlin.internal.interop.RealmInterop.SingleThreadDispatcherScheduler#notify(kotlinx.cinterop.CPointer<cnames.structs.realm_work_queue>?){} + 303 (/Users/realm/workspace-realm-kotlin/cm/gradle-setup-for-ci/packages/cinterop/src/nativeDarwin/kotlin/io/realm/kotlin/internal/interop/RealmInterop.kt:3451:19)

        at 13  test.kexe                           0x1050df73b        kfun:io.realm.kotlin.internal.interop.RealmInterop.realm_create_scheduler$lambda$12#internal + 747 (/Users/realm/workspace-realm-kotlin/cm/gradle-setup-for-ci/packages/cinterop/src/nativeDarwin/kotlin/io/realm/kotlin/internal/interop/RealmInterop.kt:578:35)

        at 14  test.kexe                           0x1050e8076        _696f2e7265616c6d2e6b6f746c696e3a63696e7465726f702f55736572732f7265616c6d2f776f726b73706163652d7265616c6d2d6b6f746c696e2f636d2f677261646c652d73657475702d666f722d63692f7061636b616765732f63696e7465726f702f7372632f6e617469766544617277696e2f6b6f746c696e2f696f2f7265616c6d2f6b6f746c696e2f696e7465726e616c2f696e7465726f702f5265616c6d496e7465726f702e6b74_knbridge75 + 150 (/Users/realm/workspace-realm-kotlin/cm/gradle-setup-for-ci/packages/cinterop/src/nativeDarwin/kotlin/io/realm/kotlin/internal/interop/RealmInterop.kt:572:17)

        at 15  test.kexe                           0x10529aaa1        _ZN5realm5_impl17WeakRealmNotifier6notifyEv + 81 

        at 16  test.kexe                           0x10528ab27        _ZN5realm5_impl16RealmCoordinator9on_changeEv + 135 

        at 17  test.kexe                           0x10526f6b8        _ZN5realm5_impl20ExternalCommitHelper6listenEv + 184 

        at 18  test.kexe                           0x10526f81d        _ZNSt3__1L14__thread_proxyINS_5tupleIJNS_10unique_ptrINS_15__thread_structENS_14default_deleteIS3_EEEEZN5realm5_impl20ExternalCommitHelperC1ERNS8_16RealmCoordinatorERKNS7_11RealmConfigEE3$_0EEEEEPvSH_ + 45 

        at 19  libsystem_pthread.dylib             0x7fff203c68fb     _pthread_start + 223 

        at 20  libsystem_pthread.dylib             0x7fff203c2442     thread_start + 14 

        Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@2effeb30, MultiWorkerDispatcher@2e133260]

            at 0   test.kexe                           0x104c8a73b        kfun:kotlin.Throwable#<init>(kotlin.String?){} + 107 (/opt/buildAgent/work/f43969c6214a19e7/kotlin/kotlin-native/runtime/src/main/kotlin/kotlin/Throwable.kt:28:37)

            at 1   test.kexe                           0x104c843a7        kfun:kotlin.Exception#<init>(kotlin.String?){} + 103 (/opt/buildAgent/work/f43969c6214a19e7/kotlin/kotlin-native/runtime/src/main/kotlin/kotlin/Exceptions.kt:23:44)

            at 2   test.kexe                           0x104c84577        kfun:kotlin.RuntimeException#<init>(kotlin.String?){} + 103 (/opt/buildAgent/work/f43969c6214a19e7/kotlin/kotlin-native/runtime/src/main/kotlin/kotlin/Exceptions.kt:34:44)

            at 3   test.kexe                           0x10507b7d7        kfun:kotlinx.coroutines.internal.DiagnosticCoroutineContextException#<init>(kotlin.coroutines.CoroutineContext){} + 199 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/native/src/internal/CoroutineExceptionHandlerImpl.kt:31:5)

            at 4   test.kexe                           0x10503d9c5        kfun:kotlinx.coroutines.internal#handleUncaughtCoroutineException(kotlin.coroutines.CoroutineContext;kotlin.Throwable){} + 1333 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/internal/CoroutineExceptionHandlerImpl.common.kt:47:33)

            at 5   test.kexe                           0x104fbbc5d        kfun:kotlinx.coroutines#handleCoroutineException(kotlin.coroutines.CoroutineContext;kotlin.Throwable){} + 1053 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/CoroutineExceptionHandler.kt:32:5)

            at 6   test.kexe                           0x104fac7ef        kfun:kotlinx.coroutines.StandaloneCoroutine.handleJobException#internal + 191 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/Builders.common.kt:194:9)

            at 7   test.kexe                           0x104fc9347        kfun:kotlinx.coroutines.JobSupport.finalizeFinishingState#internal + 1511 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/JobSupport.kt:230:59)

            at 8   test.kexe                           0x104fd558a        kfun:kotlinx.coroutines.JobSupport.tryMakeCompletingSlowPath#internal + 2778 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/JobSupport.kt:909:16)

            at 9   test.kexe                           0x104fd4a6d        kfun:kotlinx.coroutines.JobSupport.tryMakeCompleting#internal + 653 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/JobSupport.kt:866:16)

            at 10  test.kexe                           0x104fd45ae        kfun:kotlinx.coroutines.JobSupport#makeCompletingOnce(kotlin.Any?){}kotlin.Any? + 510 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/JobSupport.kt:831:30)

            at 11  test.kexe                           0x104faa413        kfun:kotlinx.coroutines.AbstractCoroutine#resumeWith(kotlin.Result<1:0>){} + 307 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/AbstractCoroutine.kt:100:21)

            at 12  test.kexe                           0x105051b75        kfun:kotlinx.coroutines.intrinsics.dispatcherFailure#internal + 501 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/intrinsics/Cancellable.kt:65:16)

            at 13  test.kexe                           0x1050514e4        kfun:kotlinx.coroutines.intrinsics#startCoroutineCancellable__at__kotlin.coroutines.SuspendFunction1<0:0,0:1>(0:0;kotlin.coroutines.Continuation<0:1>;kotlin.Function1<kotlin.Throwable,kotlin.Unit>?){0§<kotlin.Any?>;1§<kotlin.Any?>} + 724 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/intrinsics/Cancellable.kt:31:6)

            at 14  test.kexe                           0x10505167c        kfun:kotlinx.coroutines.intrinsics#startCoroutineCancellable$default__at__kotlin.coroutines.SuspendFunction1<0:0,0:1>(0:0;kotlin.coroutines.Continuation<0:1>;kotlin.Function1<kotlin.Throwable,kotlin.Unit>?;kotlin.Int){0§<kotlin.Any?>;1§<kotlin.Any?>} + 364 (/opt/buildAgent/work/44ec6e850d5c63f0/kotlinx-coroutines-core/common/src/intrinsics/Cancellable.kt:25:10)

            ... and 13 more common stack frames skipped
cmelchior commented 9 months ago

Also here: https://ci.realm.io/blue/organizations/jenkins/realm%2Frealm-kotlin/detail/PR-1607/13/pipeline/280

cmelchior commented 9 months ago

This has happened a few times on Jenkins as well. We should probably not release anything from main until this is fixed.