Hello everyone, there might be an answer for this ...
# compose-ios
e
Hello everyone, there might be an answer for this already, have been looking for an answer but haven't found anything outstanding. I integrated Firebase Crashlytics in my Compose multiplatform project. The issue is that the stacktrace it sends to crashlytics is useless, it does not contain any good reference to the Kotlin code that failed. Have any of you faced this already and know some workaround?
j
Are you uploading dSYM files?
Also might need to setup https://github.com/touchlab/CrashKiOS
e
@John O'Reilly yeah the dSYM files are getting uploaded. I'm taking a look at that library, thanks!
CrashKiOS did it for me, thank you @John O'Reilly
s
I have a similar question, @John O'Reilly. Is that the same reason I'm unable to make sense of my Crashlytics crash as well?
Copy code
Crashed: com.apple.main-thread
0  libsystem_kernel.dylib         0xc2ec __pthread_kill + 8
1  libsystem_pthread.dylib        0x7c0c pthread_kill + 268
2  libsystem_c.dylib              0x75ba0 abort + 180
3  foo bar                0x154dba4 ReportBacktraceToIosCrashLog(ObjHeader*) + 4331920292
4  foo bar                0x154dac4 void (anonymous namespace)::$_0::operator()<(anonymous namespace)::terminateWithUnhandledException(ObjHeader*)::$_1>((anonymous namespace)::terminateWithUnhandledException(ObjHeader*)::$_1) + 4331920068
5  foo bar                0x154d8bc (anonymous namespace)::TerminateHandler::queuedHandler() + 4331919548
6  foo bar                0x154d8a8 (anonymous namespace)::processUnhandledException(ObjHeader*) + 4331919528
7  foo bar                0x1165f0 kfun:kotlinx.coroutines#handleCoroutineException(kotlin.coroutines.CoroutineContext;kotlin.Throwable){} + 49 (CoroutineExceptionHandlerImpl.common.kt:49)
8  foo bar                0x10abdc kfun:kotlinx.coroutines.StandaloneCoroutine.handleJobException#internal + 193 (Builders.common.kt:193)
9  foo bar                0x1217c8 kfun:kotlinx.coroutines.JobSupport.finalizeFinishingState#internal + 223 (JobSupport.kt:223)
10 foo bar                0x127700 kfun:kotlinx.coroutines.JobSupport.tryMakeCompleting#internal + 946 (JobSupport.kt:946)
11 foo bar                0x12700c kfun:kotlinx.coroutines.JobSupport#makeCompletingOnce(kotlin.Any?){}kotlin.Any? + 859 (JobSupport.kt:859)
12 foo bar                0x109f88 kfun:kotlinx.coroutines.AbstractCoroutine#resumeWith(kotlin.Result<1:0>){} + 98 (AbstractCoroutine.kt:98)
13 foo bar                0x16f08 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 48 (ContinuationImpl.kt:48)
14 foo bar                0x164280 kfun:kotlinx.coroutines.DispatchedTask#run(){} + 26 (Continuation.kt:26)
15 foo bar                0x5b1214 kfun:androidx.compose.ui.platform.FlushCoroutineDispatcher.$flush$lambda$2$FUNCTION_REFERENCE$1.invoke#internal + 23 (Iterator.kt:23)
16 foo bar                0x5b0988 kfun:androidx.compose.ui.platform.FlushCoroutineDispatcher.performRun#internal + 102 (FlushCoroutineDispatcher.skiko.kt:102)
17 foo bar                0x5dac9c kfun:androidx.compose.ui.scene.ComposeSceneRecomposer#performScheduledEffects(){} + 96 (FlushCoroutineDispatcher.skiko.kt:96)
18 foo bar                0x5c1c48 kfun:androidx.compose.ui.scene.BaseComposeScene#sendPointerEvent(androidx.compose.ui.input.pointer.PointerEventType;kotlin.collections.List<androidx.compose.ui.scene.ComposeScenePointer>;androidx.compose.ui.input.pointer.PointerButtons;androidx.compose.ui.input.pointer.PointerKeyboardModifiers;androidx.compose.ui.geometry.Offset;kotlin.Long;kotlin.Any?;androidx.compose.ui.input.pointer.PointerButton?){} + 43 (SnapshotInvalidationTracker.skiko.kt:43)
19 foo bar                0x651018 kfun:androidx.compose.ui.scene.ComposeSceneMediator.$onTouchesEvent$FUNCTION_REFERENCE$11.$<bridge-DNNNNNN>invoke(platform.UIKit.UIView;kotlin.collections.Set<*>;platform.UIKit.UIEvent?;androidx.compose.ui.window.TouchesEventKind){}#internal + 235 (ComposeScene.skiko.kt:235)
20 foo bar                0x6943e0 kfun:androidx.compose.ui.window.GestureRecognizerHandlerImpl.onTouchesEvent#internal + 470 (UserInputView.uikit.kt:470)
21 foo bar                0x15393d8 _6f72672e6a6574627261696e732e636f6d706f73652e75693a75692f6f70742f6275696c644167656e742f776f726b2f323262393232303366303037343765302f636f6d706f73652f75692f75692f7372632f75696b69744d61696e2f6b6f746c696e2f616e64726f6964782f636f6d706f73652f75692f77696e646f772f55736572496e707574566965772e75696b69742e6b74_kncfun67 + 4331836376
22 foo bar                0x1568bbc -[CMPGestureRecognizer touchesEnded:withEvent:] + 103416
23 UIKitCore                      0x182a38 -[UIGestureRecognizer _componentsEnded:withEvent:] + 172
24 UIKitCore                      0x91454 -[UITouchesEvent _sendEventToGestureRecognizer:] + 464
25 UIKitCore                      0x185a84 -[UIGestureEnvironment _deliverEvent:toGestureRecognizers:usingBlock:] + 172
26 UIKitCore                      0x33c74c -[UIGestureEnvironment _updateForEvent:window:] + 188
27 UIKitCore                      0x33ba10 -[UIWindow sendEvent:] + 3188
28 UIKitCore                      0x1bc924 -[UIApplication sendEvent:] + 564
29 UIKitCore                      0x1be118 __dispatchPreprocessedEventFromEventQueue + 5552
30 UIKitCore                      0x1c6e10 __processEventQueue + 5624
31 UIKitCore                      0xb9740 updateCycleEntry + 160
32 UIKitCore                      0xb7660 _UIUpdateSequenceRun + 84
33 UIKitCore                      0xb72a4 schedulerStepScheduledMainSection + 172
34 UIKitCore                      0xb8148 runloopSourceCallback + 92
35 CoreFoundation                 0x56834 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
36 CoreFoundation                 0x567c8 __CFRunLoopDoSource0 + 176
37 CoreFoundation                 0x54298 __CFRunLoopDoSources0 + 244
38 CoreFoundation                 0x53484 __CFRunLoopRun + 828
39 CoreFoundation                 0x52cd8 CFRunLoopRunSpecific + 608
40 GraphicsServices               0x11a8 GSEventRunModal + 164
41 UIKitCore                      0x40aae8 -[UIApplication _run] + 888
42 UIKitCore                      0x4bed98 UIApplicationMain + 340
43 SwiftUI                        0x3f4294 OUTLINED_FUNCTION_283 + 414668
44 SwiftUI                        0x3a0860 OUTLINED_FUNCTION_283 + 72088
45 SwiftUI                        0x3ac61c OUTLINED_FUNCTION_283 + 120660
46 foo bar                0x81c8 main + 4309615048 (iOSApp.swift:4309615048)
47 ???                            0x1c7e17154 (Missing)
Thanks. I'm also able to understand the Crashlytics logs after integrating the
CrashKiOS
1