pendo-io / pendo-mobile-sdk

Pendo captures product usage data, gathers user feedback, and lets you communicate in-app to onboard, educate, and guide users to value
https://www.pendo.io
Other
58 stars 2 forks source link

💥 Crash on `DumpTree.calculateAccessibilityNodeCount(array:)` #147

Closed msrutek-paylocity closed 2 months ago

msrutek-paylocity commented 3 months ago

Platform + Version

iOS 17.5.1 iPhone 15 Plus

SDK Version

3.2.2

Framework

Native, SwiftUI

Describe the bug

Crash of the app.

To Reproduce

Yet unknown.

Expected behavior

No crash.

Stack Trace

Crashed: com.apple.main-thread
EXC_BAD_INSTRUCTION 0x00000000a00003f6 

0  libicucore.A.dylib             0x3f38 icu::ByteSinkUtil::appendNonEmptyUnchanged(unsigned char const*, int, icu::ByteSink&, unsigned int, icu::Edits*) + 20
1  libicucore.A.dylib             0x66eb4 ucasemap_setOptions + 3708
2  libicucore.A.dylib             0x66eb4 ucasemap_setOptions + 3708
3  libicucore.A.dylib             0x66764 ucasemap_setOptions + 1836
4  libicucore.A.dylib             0x67968 ucasemap_setOptions + 6448
5  libicucore.A.dylib             0x687e4 ucasemap_utf8ToTitle + 312
6  Foundation                     0x51e594 closure #1 in closure #1 in ICU.CaseMap.titlecase(_:) + 156
7  Foundation                     0x51e7c4 specialized Substring.withUTF8<A>(_:) + 140
8  Foundation                     0x51e4d0 closure #1 in ICU.CaseMap.titlecase(_:) + 72
9  Foundation                     0x513fbc partial apply for closure #1 in ICU.CaseMap.titlecase(_:) + 28
10 Foundation                     0x513f68 closure #1 in ICU.CaseMap.titlecase(_:)partial apply + 16
11 Foundation                     0x514004 partial apply for specialized closure #1 in LockedState<A>.withLock<A>(_:) + 40
12 Foundation                     0x513f80 closure #1 in LockedState<A>.withLock<A>(_:)specialized partial apply + 16
13 Foundation                     0x513d18 StringProtocol.capitalized(with:) + 1980
14 SwiftUI                        0x1909e00 __swift_memcpy103_8 + 98660
15 SwiftUI                        0x94d980 get_witness_table 7SwiftUI4ViewRzlAA15ModifiedContentVyxAA30_EnvironmentKeyWritingModifierVy12CoreGraphics7CGFloatVGGAaBHPxAaBHD1__AjA0cI0HPyHCHCTm + 48980
16 SwiftUI                        0x13b480 objectdestroy.63Tm + 14972
17 SwiftUI                        0x94ea20 get_witness_table 7SwiftUI4ViewRzlAA15ModifiedContentVyxAA30_EnvironmentKeyWritingModifierVy12CoreGraphics7CGFloatVGGAaBHPxAaBHD1__AjA0cI0HPyHCHCTm + 53236
18 SwiftUI                        0x94ebac get_witness_table 7SwiftUI4ViewRzlAA15ModifiedContentVyxAA30_EnvironmentKeyWritingModifierVy12CoreGraphics7CGFloatVGGAaBHPxAaBHD1__AjA0cI0HPyHCHCTm + 53632
19 SwiftUI                        0x13913c4 __swift_memcpy577_8 + 43392
20 SwiftUI                        0x13910f8 __swift_memcpy577_8 + 42676
21 SwiftUI                        0x10bfba0 __swift_memcpy267_8 + 95680
22 Pendo                          0x1381a0 DumpTree.calculateAccessibilityNodeCount(array:) + 12856
23 Pendo                          0x137e30 DumpTree.calculateAccessibilityNodeCount(array:) + 11976
24 Pendo                          0x13c314 specialized Sequence.forEach(_:) + 4320
25 Pendo                          0x13bb84 partial apply for closure #2 in DumpTree.accessibilityToViewRectMap(value:parentValue:) + 2384
26 Pendo                          0x134f4c pnd_measure<A>(_:body:) + 3716
27 Pendo                          0x136804 DumpTree.accessibilityToViewRectMap(value:parentValue:) + 6300
28 Pendo                          0x13b594 partial apply for closure #1 in static DumpTree.pnd_dump(value:parentValue:name:indent:maxDepth:printingOptions:descriptionLength:pruneEnabled:allowTextCollection:) + 864
29 Pendo                          0x134f4c pnd_measure<A>(_:body:) + 3716
30 Pendo                          0x13b4f0 specialized static DumpTree.pnd_dump(value:parentValue:name:indent:maxDepth:printingOptions:descriptionLength:pruneEnabled:allowTextCollection:) + 700
31 Pendo                          0x136a44 @objc static DumpTree.pnd_dump(value:parentValue:name:indent:maxDepth:printingOptions:descriptionLength:pruneEnabled:allowTextCollection:) + 6876
32 Pendo                          0x1361d0 static DumpTree.pnd_dump(topMostController:rootViewController:indent:maxDepth:printingOption:descriptionLength:pruneEnabled:enableSwiftUIInsideUIKitScan:allowTextCollection:) + 4712
33 Pendo                          0x1368f8 @objc static DumpTree.pnd_dump(topMostController:rootViewController:indent:maxDepth:printingOption:descriptionLength:pruneEnabled:enableSwiftUIInsideUIKitScan:allowTextCollection:) + 6544
34 Pendo                          0x11de50 -[PNDScreenManager swiftUIDataAppend:fromWindow:rootViewController:] + 736
35 Pendo                          0x11d794 -[PNDScreenManager screenDataFor:] + 216
36 Pendo                          0x11d4b4 -[PNDScreenManager screenChanged] + 56
37 Pendo                          0x11ce90 __44-[PNDScreenManager triggerScreenScanOfType:]_block_invoke.50 + 508
38 Pendo                          0x10f9b8 -[PNDDebouncer fireNow] + 36
39 Foundation                     0x1b4f1c __NSFireTimer + 96
40 CoreFoundation                 0xb7a2c __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 32
41 CoreFoundation                 0xb76d0 __CFRunLoopDoTimer + 1004
42 CoreFoundation                 0xb722c __CFRunLoopDoTimers + 288
43 CoreFoundation                 0x53888 __CFRunLoopRun + 1856
44 CoreFoundation                 0x52cd8 CFRunLoopRunSpecific + 608
45 GraphicsServices               0x11a8 GSEventRunModal + 164
46 UIKitCore                      0x40a90c -[UIApplication _run] + 888
47 UIKitCore                      0x4be9d0 UIApplicationMain + 340
48 REDACTED                       0x584c main + 9 (AppDelegate.swift:9)
49 ???                            0x1ad0f9e4c (Missing)
TehilaTaub commented 3 months ago

Hi @msrutek-paylocity Can you please add the full crash log? How often did this happen?

msrutek-paylocity commented 3 months ago

@TehilaTaub

This happens rarely, but still needs to be addressed.

The full crash log can be found below.

Crash log >>> ``` # Crashlytics - Stack trace # Platform: apple # Date: Thu Jun 13 2024 23:04:46 GMT+0200 (Central European Summer Time) Crashed: com.apple.main-thread 0 libicucore.A.dylib 0x3f38 icu::ByteSinkUtil::appendNonEmptyUnchanged(unsigned char const*, int, icu::ByteSink&, unsigned int, icu::Edits*) + 20 1 libicucore.A.dylib 0x66eb4 ucasemap_setOptions + 3708 2 libicucore.A.dylib 0x66eb4 ucasemap_setOptions + 3708 3 libicucore.A.dylib 0x66764 ucasemap_setOptions + 1836 4 libicucore.A.dylib 0x67968 ucasemap_setOptions + 6448 5 libicucore.A.dylib 0x687e4 ucasemap_utf8ToTitle + 312 6 Foundation 0x51e594 closure #1 in closure #1 in ICU.CaseMap.titlecase(_:) + 156 7 Foundation 0x51e7c4 specialized Substring.withUTF8(_:) + 140 8 Foundation 0x51e4d0 closure #1 in ICU.CaseMap.titlecase(_:) + 72 9 Foundation 0x513fbc partial apply for closure #1 in ICU.CaseMap.titlecase(_:) + 28 10 Foundation 0x513f68 closure #1 in ICU.CaseMap.titlecase(_:)partial apply + 16 11 Foundation 0x514004 partial apply for specialized closure #1 in LockedState.withLock(_:) + 40 12 Foundation 0x513f80 closure #1 in LockedState.withLock(_:)specialized partial apply + 16 13 Foundation 0x513d18 StringProtocol.capitalized(with:) + 1980 14 SwiftUI 0x1909e00 __swift_memcpy103_8 + 98660 15 SwiftUI 0x94d980 get_witness_table 7SwiftUI4ViewRzlAA15ModifiedContentVyxAA30_EnvironmentKeyWritingModifierVy12CoreGraphics7CGFloatVGGAaBHPxAaBHD1__AjA0cI0HPyHCHCTm + 48980 16 SwiftUI 0x13b480 objectdestroy.63Tm + 14972 17 SwiftUI 0x94ea20 get_witness_table 7SwiftUI4ViewRzlAA15ModifiedContentVyxAA30_EnvironmentKeyWritingModifierVy12CoreGraphics7CGFloatVGGAaBHPxAaBHD1__AjA0cI0HPyHCHCTm + 53236 18 SwiftUI 0x94ebac get_witness_table 7SwiftUI4ViewRzlAA15ModifiedContentVyxAA30_EnvironmentKeyWritingModifierVy12CoreGraphics7CGFloatVGGAaBHPxAaBHD1__AjA0cI0HPyHCHCTm + 53632 19 SwiftUI 0x13913c4 __swift_memcpy577_8 + 43392 20 SwiftUI 0x13910f8 __swift_memcpy577_8 + 42676 21 SwiftUI 0x10bfba0 __swift_memcpy267_8 + 95680 22 Pendo 0x1381a0 DumpTree.calculateAccessibilityNodeCount(array:) + 12856 23 Pendo 0x137e30 DumpTree.calculateAccessibilityNodeCount(array:) + 11976 24 Pendo 0x13c314 specialized Sequence.forEach(_:) + 4320 25 Pendo 0x13bb84 partial apply for closure #2 in DumpTree.accessibilityToViewRectMap(value:parentValue:) + 2384 26 Pendo 0x134f4c pnd_measure(_:body:) + 3716 27 Pendo 0x136804 DumpTree.accessibilityToViewRectMap(value:parentValue:) + 6300 28 Pendo 0x13b594 partial apply for closure #1 in static DumpTree.pnd_dump(value:parentValue:name:indent:maxDepth:printingOptions:descriptionLength:pruneEnabled:allowTextCollection:) + 864 29 Pendo 0x134f4c pnd_measure(_:body:) + 3716 30 Pendo 0x13b4f0 specialized static DumpTree.pnd_dump(value:parentValue:name:indent:maxDepth:printingOptions:descriptionLength:pruneEnabled:allowTextCollection:) + 700 31 Pendo 0x136a44 @objc static DumpTree.pnd_dump(value:parentValue:name:indent:maxDepth:printingOptions:descriptionLength:pruneEnabled:allowTextCollection:) + 6876 32 Pendo 0x1361d0 static DumpTree.pnd_dump(topMostController:rootViewController:indent:maxDepth:printingOption:descriptionLength:pruneEnabled:enableSwiftUIInsideUIKitScan:allowTextCollection:) + 4712 33 Pendo 0x1368f8 @objc static DumpTree.pnd_dump(topMostController:rootViewController:indent:maxDepth:printingOption:descriptionLength:pruneEnabled:enableSwiftUIInsideUIKitScan:allowTextCollection:) + 6544 34 Pendo 0x11de50 -[PNDScreenManager swiftUIDataAppend:fromWindow:rootViewController:] + 736 35 Pendo 0x11d794 -[PNDScreenManager screenDataFor:] + 216 36 Pendo 0x11d4b4 -[PNDScreenManager screenChanged] + 56 37 Pendo 0x11ce90 __44-[PNDScreenManager triggerScreenScanOfType:]_block_invoke.50 + 508 38 Pendo 0x10f9b8 -[PNDDebouncer fireNow] + 36 39 Foundation 0x1b4f1c __NSFireTimer + 96 40 CoreFoundation 0xb7a2c __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 32 41 CoreFoundation 0xb76d0 __CFRunLoopDoTimer + 1004 42 CoreFoundation 0xb722c __CFRunLoopDoTimers + 288 43 CoreFoundation 0x53888 __CFRunLoopRun + 1856 44 CoreFoundation 0x52cd8 CFRunLoopRunSpecific + 608 45 GraphicsServices 0x11a8 GSEventRunModal + 164 46 UIKitCore 0x40a90c -[UIApplication _run] + 888 47 UIKitCore 0x4be9d0 UIApplicationMain + 340 48 REDACTED 0x584c main + 9 (AppDelegate.swift:9) 49 ??? 0x1ad0f9e4c (Missing) Thread 0 libsystem_pthread.dylib 0x10c4 start_wqthread + 8162951362 com.apple.uikit.eventfetch-thread 0 libsystem_kernel.dylib 0x1808 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x5008 mach_msg2_internal + 80 2 libsystem_kernel.dylib 0x4f20 mach_msg_overwrite + 436 3 libsystem_kernel.dylib 0x4d60 mach_msg + 24 4 CoreFoundation 0x53f5c __CFRunLoopServiceMachPort + 160 5 CoreFoundation 0x53600 __CFRunLoopRun + 1208 6 CoreFoundation 0x52cd8 CFRunLoopRunSpecific + 608 7 Foundation 0xc7e4c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 8 Foundation 0xc7c9c -[NSRunLoop(NSRunLoop) runUntilDate:] + 64 9 UIKitCore 0x41e640 -[UIEventFetcher threadMain] + 420 10 Foundation 0xde718 __NSThread__start__ + 732 11 libsystem_pthread.dylib 0x606c _pthread_start + 136 12 libsystem_pthread.dylib 0x10d8 thread_start + 8 Thread 0 libsystem_pthread.dylib 0x10c4 start_wqthread + 8162951362 Thread 0 libsystem_kernel.dylib 0x1590 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364 2 libsystem_pthread.dylib 0x10cc start_wqthread + 8 Thread 0 libsystem_kernel.dylib 0x1590 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364 2 libsystem_pthread.dylib 0x10cc start_wqthread + 8 broadcast-ax-notify 0 libsystem_kernel.dylib 0x1808 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x5008 mach_msg2_internal + 80 2 libsystem_kernel.dylib 0x4f20 mach_msg_overwrite + 436 3 libsystem_kernel.dylib 0x4d60 mach_msg + 24 4 AXRuntime 0x6570 _AXMIGBroadcastNotification + 464 5 AXRuntime 0x6290 __AXPushNotificationToSystemForBroadcast_block_invoke_2 + 216 6 libdispatch.dylib 0x213c _dispatch_call_block_and_release + 32 7 libdispatch.dylib 0x3dd4 _dispatch_client_callout + 20 8 libdispatch.dylib 0xb400 _dispatch_lane_serial_drain + 748 9 libdispatch.dylib 0xbf30 _dispatch_lane_invoke + 380 10 libdispatch.dylib 0x16cb4 _dispatch_root_queue_drain_deferred_wlh + 288 11 libdispatch.dylib 0x16528 _dispatch_workloop_worker_thread + 404 12 libsystem_pthread.dylib 0x4934 _pthread_wqthread + 288 13 libsystem_pthread.dylib 0x10cc start_wqthread + 8 Thread 0 libsystem_kernel.dylib 0x1590 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364 2 libsystem_pthread.dylib 0x10cc start_wqthread + 8 Thread 0 libsystem_pthread.dylib 0x10c4 start_wqthread + 8162951362 Thread 0 libsystem_kernel.dylib 0x1590 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x4980 _pthread_wqthread + 364 2 libsystem_pthread.dylib 0x10cc start_wqthread + 8 com.google.firebase.crashlytics.MachExceptionServer 0 REDACTED 0x7a4fc FIRCLSProcessRecordAllThreads + 392 (FIRCLSProcess.c:392) 1 REDACTED 0x7a8dc FIRCLSProcessRecordAllThreads + 423 (FIRCLSProcess.c:423) 2 REDACTED 0x88948 FIRCLSHandler + 34 (FIRCLSHandler.m:34) 3 REDACTED 0x8914c FIRCLSMachExceptionServer + 521 (FIRCLSMachException.c:521) 4 libsystem_pthread.dylib 0x606c _pthread_start + 136 5 libsystem_pthread.dylib 0x10d8 thread_start + 8 com.apple.CFSocket.private 0 libsystem_kernel.dylib 0x9474 select$DARWIN_EXTSN + 8 1 libsystem_kernel.dylib 0x9474 __select + 8 2 CoreFoundation 0xbeb7c __CFSocketManager + 640 3 libsystem_pthread.dylib 0x606c _pthread_start + 136 4 libsystem_pthread.dylib 0x10d8 thread_start + 8 com.apple.NSURLConnectionLoader 0 libsystem_kernel.dylib 0x1808 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x5008 mach_msg2_internal + 80 2 libsystem_kernel.dylib 0x4f20 mach_msg_overwrite + 436 3 libsystem_kernel.dylib 0x4d60 mach_msg + 24 4 CoreFoundation 0x53f5c __CFRunLoopServiceMachPort + 160 5 CoreFoundation 0x53600 __CFRunLoopRun + 1208 6 CoreFoundation 0x52cd8 CFRunLoopRunSpecific + 608 7 CFNetwork 0xfdc90 _CFHostIsDomainTopLevel + 108176 8 Foundation 0xde718 __NSThread__start__ + 732 9 libsystem_pthread.dylib 0x606c _pthread_start + 136 10 libsystem_pthread.dylib 0x10d8 thread_start + 8 JavaScriptCore libpas scavenger 0 libsystem_kernel.dylib 0x71cc __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x36e4 _pthread_cond_wait + 1228 2 JavaScriptCore 0x155afe0 scavenger_thread_main + 1316 3 libsystem_pthread.dylib 0x606c _pthread_start + 136 4 libsystem_pthread.dylib 0x10d8 thread_start + 8 com.apple.SwiftUI.AsyncRenderer 0 libsystem_kernel.dylib 0x1808 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x5008 mach_msg2_internal + 80 2 libsystem_kernel.dylib 0x4f20 mach_msg_overwrite + 436 3 libsystem_kernel.dylib 0x4d60 mach_msg + 24 4 CoreFoundation 0x53f5c __CFRunLoopServiceMachPort + 160 5 CoreFoundation 0x53600 __CFRunLoopRun + 1208 6 CoreFoundation 0x52cd8 CFRunLoopRunSpecific + 608 7 Foundation 0xc7e4c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 8 Foundation 0xc7d20 -[NSRunLoop(NSRunLoop) run] + 64 9 SwiftUI 0x42bf18 OUTLINED_FUNCTION_283 + 643420 10 SwiftUI 0x42bc10 OUTLINED_FUNCTION_283 + 642644 11 Foundation 0xde718 __NSThread__start__ + 732 12 libsystem_pthread.dylib 0x606c _pthread_start + 136 13 libsystem_pthread.dylib 0x10d8 thread_start + 8 ```
TehilaTaub commented 3 months ago

Thank you for the info. We are looking into that and we will update you. If you are managing to reproduce the issue please let us know.

msrutek-paylocity commented 3 months ago

Hello @TehilaTaub 👋 Any update on this?

So far, we haven't been able to reproduce the issue ourselves.

TehilaTaub commented 3 months ago

Hello @msrutek-paylocity We are working on a fix and it will be part of our next HF. We will update you when it is out.

orendayan commented 2 months ago

Hi @msrutek-paylocity ,

We added a fix in our next release - 3.3.1, Thanks

orendayan commented 2 months ago

@msrutek-paylocity

We released 3.3.1 please upgrade and let us know if it solved the issues