Instabug / Instabug-SP

Other
11 stars 11 forks source link

Instabug SDK Crash - "SIGSEGV SessionReplaySyncManager.sync" #33

Closed fzy-github closed 10 months ago

fzy-github commented 11 months ago

Steps to Reproduce the Problem

N/A - crash caught by our crash reporting platform (Sentry)

Expected Behavior

No crashes in instabug

Actual Behavior

Crash happens

Instabug integration code

Instabug.start(withToken: Constants.Instabug.token, invocationEvents: .none)
Instabug.willSendReportHandler = { report in
            // attach our log files
            let logFileUrls = self.sortedLogFilePaths.map { URL(fileURLWithPath: $0) }
            let maxLogFileCount = min(logFileUrls.count, Constants.Instabug.maxNumberOfLogFiles)
            let logFilesToAttach = logFileUrls[0..<maxLogFileCount]
            logFilesToAttach.forEach {
                report.addFileAttachment(with: $0)
            }

            report.setUserAttribute("value1", withKey: "key1")
            report.setUserAttribute("value2", withKey: "key2")
            // .. and few more

            if let fontSizeType = DynamicTypeSize(UITraitCollection.current.preferredContentSizeCategory) {
                report.setUserAttribute(fontSizeType.name, withKey: Constants.Instabug.fontSizeType)
            }

            return report
        }

SDK Version

12.1.0

iOS Version

17.1.2

Device Model

observed on iPhone 13

[Optional] Project That Reproduces the Issue

Stacktraces:

OS Version: iOS 17.1.2 (21B101)
Report Version: 104

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: SEGV_ACCERR
Crashed Thread: 23

Application Specific Information:
Signal 11, Code 2 >
Attempted to dereference garbage pointer at 0x8000000000000008.

Thread 23 Crashed:
0   libswiftCore.dylib              0x31568e034         swift_isUniquelyReferenced_nonNull_native
1   Instabug                        0x106c95770         SessionReplaySyncManager.sync
2   Instabug                        0x106c94e88         SessionReplaySyncManager.syncDependOnV3Sync
3   Instabug                        0x106c9f7b8         SessionReplayService.syncIfNeeded
4   Instabug                        0x106c9fb60         SessionReplayService.attachLastSessionLogs
5   Instabug                        0x106ca41c0         thunk for closure
6   Instabug                        0x106ad8a3c         Promise.then
7   Instabug                        0x106c63f40         thunk for closure
8   Instabug                        0x106a91a84         __56-[IBGPromise chainOnQueue:chainedFulfill:chainedReject:]_block_invoke.18
9   libdispatch.dylib               0x3329506a4         _dispatch_call_block_and_release
10  libdispatch.dylib               0x3329522fc         _dispatch_client_callout
11  libdispatch.dylib               0x332959960         _dispatch_lane_serial_drain
12  libdispatch.dylib               0x33295a3c0         _dispatch_lane_invoke
13  libdispatch.dylib               0x332965000         _dispatch_root_queue_drain_deferred_wlh
14  libdispatch.dylib               0x332964874         _dispatch_workloop_worker_thread
15  libsystem_pthread.dylib         0x3f5e95960         _pthread_wqthread

Other stacktrace pointing to the same method:

OS Version: iOS 17.1.2 (21B101)
Report Version: 104

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: SEGV_ACCERR
Crashed Thread: 0

Application Specific Information:
Signal 11, Code 2 >
Attempted to dereference garbage pointer at 0x8000000000000008.

Thread 0 Crashed:
0   libswiftCore.dylib              0x3271ce034         swift_isUniquelyReferenced_nonNull_native
1   Instabug                        0x1090ed770         SessionReplaySyncManager.sync
2   Instabug                        0x1090ece88         SessionReplaySyncManager.syncDependOnV3Sync
3   Instabug                        0x1090f77b8         SessionReplayService.syncIfNeeded
4   Instabug                        0x1090f74a0         SessionReplayService.attachLastSessionLogs
5   Instabug                        0x1090f8b8c         SessionReplayService.startObservingOnSessionV3Sync
6   Instabug                        0x108e96ed0         ActionObservableEvent.addObserver<T>
7   Instabug                        0x108f635f0         thunk for closure
8   libdispatch.dylib               0x3444906a4         _dispatch_call_block_and_release
9   libdispatch.dylib               0x3444922fc         _dispatch_client_callout
10  libdispatch.dylib               0x3444a0994         _dispatch_main_queue_drain
11  libdispatch.dylib               0x3444a05ac         _dispatch_main_queue_callback_4CF
12  CoreFoundation                  0x334553208         __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
13  CoreFoundation                  0x33454ff14         __CFRunLoopRun
14  CoreFoundation                  0x33454f664         CFRunLoopRunSpecific
15  GraphicsServices                0x3bad155e8         GSEventRunModal
16  UIKitCore                       0x338b902b0         -[UIApplication _run]
17  UIKitCore                       0x338b8f8ec         UIApplicationMain
18  SwiftUI                         0x33d05e0f8         OUTLINED_FUNCTION_31
19  SwiftUI                         0x33d05df3c         OUTLINED_FUNCTION_31
20  SwiftUI                         0x33cccf864         OUTLINED_FUNCTION_26
21  SampleApp                       0x2031437f0         [inlined] AppLauncher.main
22  SampleApp                       0x2031437f0         [inlined] AppLauncher.$main (<compiler-generated>:6)
23  SampleApp                       0x2031437f0         main
24  <unknown>                       0x1cf29edcc         <redacted>
ahmedsalah196 commented 11 months ago

Hello @fzy-spyro, We're working on a fix. Will keep you updated 🙏

madej10 commented 10 months ago

hello @ahmedsalah196,

can you please give us a status update on this? thanks

ahmedsalah196 commented 10 months ago

Hello @madej10, This should be fixed in 12.5.0 🙏