Tealium / tealium-swift

Tealium Swift Integration Library
Other
41 stars 41 forks source link

[TEALIUM SWIFT BUG]: Crash right after app starts EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000000 #314

Closed hhuseinov closed 1 year ago

hhuseinov commented 1 year ago

iOS Version(s) [e.g. 12.1]: iOS 16.7.0 Xcode version [Xcode> About Xcode e.g. 10.1 (10B61)]: 14.3.1 Swift version [e.g. 4.2]: Swift 5 Tealium Swift library version [e.g. 1.6.7]: 2.10.1 Dependency manager [None/Carthage/CocoaPods]: spm Dependency manager version:

Describe the bug Hello, im getting crashes when trying to initialize tealium from didfinishlaunchingwithoptions method.

Crashed: com.apple.main-thread 0 UK-TH 0x12f2cfc specialized Set.Variant.insert(:) + 4387482876 (:4387482876) 1 UK-TH 0x12c2b5c specialized static TealiumDelegateProxy.setup(context:) + 37 (TealiumDelegateProxy.swift:37) 2 UK-TH 0x12b8310 specialized Tealium.init(config:dataLayer:modulesManager:migrator:enableCompletion:) + 45 (Tealium.swift:45) 3 UK-TH 0x12b6778 Tealium.init(config:dataLayer:modulesManager:migrator:enableCompletion:) + 4387235704 (:4387235704) 4 UK-TH 0x4dda50 TealiumHelper.tealium.getter + 46 (TealiumHelper.swift:46) 5 UK-TH 0x4de5a0 specialized static TealiumHelper.sendUserProperties() + 102 (TealiumHelper.swift:102) 6 UK-TH 0x4527b8 AppDelegate.application(:didFinishLaunchingWithOptions:) + 593 (AppDelegate.swift:593) 7 UK-TH 0x453560 @objc AppDelegate.application(:didFinishLaunchingWithOptions:) + 4372149600 (:4372149600) 8 UIKitCore 0x355054 + 300 9 UIKitCore 0x35478c + 2848 10 UIKitCore 0x353768 + 856 11 Applanga 0x5f08 -[UIApplication(Applanga) AL_runWithMainScene:transitionContext:completion:] + 396 12 UIKitCore 0x3533e0 + 176 13 UIKitCore 0x39dedc + 48 14 UIKitCore 0x39cf34 + 852 15 UIKitCore 0x39cbbc UIApplicationMain + 340 16 UK-TH 0x31b1c main + 24 (AppDelegate.swift:24) 17 ??? 0x1e7cbcdec (Missing)

com.google.fira.worker 0 libsystem_kernel.dylib 0x17dc __ulock_wait + 8 1 libdispatch.dylib 0x489c + 56 2 libdispatch.dylib 0x4650 + 56 3 libdispatch.dylib 0x13714 + 368 4 libdispatch.dylib 0x132c0 + 148 5 UK-TH 0x17fd3b0 -[APMIdentity identifierForVendor] + 4392768432 6 UK-TH 0x1815f78 APMUpdateConsentSignalsAndIdentifiers + 4392869752 7 UK-TH 0x181bfa0 -[APMMeasurement(Event) createRawEventMetadataWithUserAttributes:] + 4392894368 8 UK-TH 0x181e1cc -[APMMeasurement(Event) writeEvent:isPublicEvent:isRealtime:] + 4392903116 9 UK-TH 0x181b920 57-[APMMeasurement(Event) writeFilteredEventOnWorkerQueue:]_block_invoke + 4392892704 10 UK-TH 0x186c838 -[APMSqliteStore performTransactionWithError:block:] + 4393224248 11 UK-TH 0x17dad58 -[APMDatabase performTransaction:] + 4392627544 12 UK-TH 0x181b698 -[APMMeasurement(Event) writeFilteredEventOnWorkerQueue:] + 4392892056 13 UK-TH 0x181b2e0 -[APMMeasurement(Event) writeEventOnWorkerQueue:] + 4392891104 14 UK-TH 0x181abcc -[APMMeasurement(Event) handleEventOnWorkerQueue:] + 4392889292 15 UK-TH 0x181a984 -[APMMeasurement(Event) handleInternalEventOnWorkerQueue:] + 4392888708 16 UK-TH 0x180b534 -[APMMeasurement reportFirstOpenOnWorkerQueue] + 4392826164 17 UK-TH 0x180a29c 47-[APMMeasurement startMeasurementOnWorkerQueue]_block_invoke + 4392821404 18 UK-TH 0x1809a88 -[APMMeasurement startMeasurementOnWorkerQueue] + 4392819336 19 UK-TH 0x18090e0 -[APMMeasurement setEnabledOnWorkerQueue:] + 4392816864 20 UK-TH 0x1808fc0 29-[APMMeasurement setEnabled:]_block_invoke + 4392816576 21 UK-TH 0x1861c7c 51-[APMScheduler scheduleOnWorkerQueueBlockID:block:]_block_invoke + 4393180284 22 libdispatch.dylib 0x2320 + 32 23 libdispatch.dylib 0x3eac + 20 24 libdispatch.dylib 0xb534 + 668 25 libdispatch.dylib 0xc0a4 + 384 26 libdispatch.dylib 0x16cdc + 648 27 libsystem_pthread.dylib 0xddc _pthread_wqthread + 288 28 libsystem_pthread.dylib 0xb7c start_wqthread + 8

com.apple.root.default-qos 0 libsystem_kernel.dylib 0x11fc kevent_id + 8 1 libdispatch.dylib 0x26e58 + 228 2 libdispatch.dylib 0x2781c + 436 3 libdispatch.dylib 0x136f8 + 340 4 libdispatch.dylib 0x132c0 + 148 5 UK-TH 0x17bc2b0 -[ADBVisitorIDService marketingCloudID] + 4392501936 6 UK-TH 0xe23d5c closure #1 in static AdobeMarketingHelper.fetchAdobeMarketingAndSessionId() + 50 (AdobeMarketingHelper.swift:50) 7 UK-TH 0xccdf5c thunk for @escaping @callee_guaranteed () -> () + 4381040476 (:4381040476) 8 libdispatch.dylib 0x2320 + 32 9 libdispatch.dylib 0x3eac + 20 10 libdispatch.dylib 0x6f8c + 788 11 libdispatch.dylib 0x15944 + 396 12 libdispatch.dylib 0x16158 + 164 13 libsystem_pthread.dylib 0xda0 _pthread_wqthread + 228 14 libsystem_pthread.dylib 0xb7c start_wqthread + 8

Thread 0 libsystem_kernel.dylib 0x11ac __workq_kernreturn + 8 1 libsystem_pthread.dylib 0xe28 _pthread_wqthread + 364 2 libsystem_pthread.dylib 0xb7c start_wqthread + 8

com.apple.uikit.eventfetch-thread 0 libsystem_kernel.dylib 0xca4 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x13b74 mach_msg2_internal + 80 2 libsystem_kernel.dylib 0x13e4c mach_msg_overwrite + 540 3 libsystem_kernel.dylib 0x11e8 mach_msg + 24 4 CoreFoundation 0x78fb4 + 160 5 CoreFoundation 0x7a1e0 + 1208 6 CoreFoundation 0x7f37c CFRunLoopRunSpecific + 612 7 Foundation 0x41f74 + 212 8 Foundation 0x41e5c + 64 9 UIKitCore 0x4cfcc8 + 416 10 Foundation 0x5b4e4 + 716 11 libsystem_pthread.dylib 0x16b8 _pthread_start + 148 12 libsystem_pthread.dylib 0xb88 thread_start + 8

com.adobe.mobile.visitorid 0 libsystem_kernel.dylib 0xc38 semaphore_timedwait_trap + 8 1 libdispatch.dylib 0x44c4 + 64 2 libdispatch.dylib 0x4ac4 + 76 3 UK-TH 0x17a9360 -[ADBNetworkObject sendSync] + 4392424288 4 UK-TH 0x17bb198 __59-[ADBVisitorIDService idSync:withDpidDict:authState:force:]_block_invoke + 4392497560 5 libdispatch.dylib 0x2320 + 32 6 libdispatch.dylib 0x3eac + 20 7 libdispatch.dylib 0xb534 + 668 8 libdispatch.dylib 0xc0a4 + 384 9 libdispatch.dylib 0x16cdc + 648 10 libsystem_pthread.dylib 0xddc _pthread_wqthread + 288 11 libsystem_pthread.dylib 0xb7c start_wqthread + 8

com.tealium.backgroundconcurrentqueue 0 libsystem_kernel.dylib 0x17dc __ulock_wait + 8 1 libdispatch.dylib 0x489c + 56 2 libdispatch.dylib 0x4650 + 56 3 libdispatch.dylib 0x13714 + 368 4 libdispatch.dylib 0x132c0 + 148 5 libswiftDispatch.dylib 0x1f38 + 180 6 libswiftDispatch.dylib 0x10dc + 56 7 libswiftDispatch.dylib 0x1c48 + 396 8 libswiftDispatch.dylib 0x1188 $sSo17OS_dispatch_queueC8DispatchE4sync7executexxyKXEtKlF + 164 9 UK-TH 0x13336e4 ReadWrite.read(:) + 89 (TealiumReadWrite.swift:89) 10 UK-TH 0x131d2c8 TealiumDiskStorage.retrieve(:as:) + 313 (TealiumDiskStorage.swift:313) 11 UK-TH 0x131f040 protocol witness for TealiumDiskStorageProtocol.retrieve(as:) in conformance TealiumDiskStorage + 4387663936 (:4387663936) 12 UK-TH 0x1333824 specialized ReadWrite.read(:) + 100 (DataLayer.swift:100) 13 UK-TH 0x12e629c DataLayer.persistentDataStorage.modify + 99 (DataLayer.swift:99) 14 UK-TH 0x12e69e8 closure #2 in DataLayer.add(data:expiry:) + 155 (DataLayer.swift:155) 15 UK-TH 0x1333614 closure #1 in ReadWrite.barrieredWork(_:) + 78 (TealiumReadWrite.swift:78) 16 UK-TH 0x12b2b8c thunk for @escaping @callee_guaranteed () -> () + 4387220364 (:4387220364) 17 libdispatch.dylib 0x2320 + 32 18 libdispatch.dylib 0x3eac + 20 19 libdispatch.dylib 0x1486c + 992 20 libdispatch.dylib 0xc114 + 496 21 libdispatch.dylib 0x15944 + 396 22 libdispatch.dylib 0x16158 + 164 23 libsystem_pthread.dylib 0xda0 _pthread_wqthread + 228 24 libsystem_pthread.dylib 0xb7c start_wqthread + 8

com.apple.NSURLConnectionLoader 0 libsystem_kernel.dylib 0xca4 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x13b74 mach_msg2_internal + 80 2 libsystem_kernel.dylib 0x13e4c mach_msg_overwrite + 540 3 libsystem_kernel.dylib 0x11e8 mach_msg + 24 4 CoreFoundation 0x78fb4 + 160 5 CoreFoundation 0x7a1e0 + 1208 6 CoreFoundation 0x7f37c CFRunLoopRunSpecific + 612 7 CFNetwork 0x2586f0 _CFURLStorageSessionDisableCache + 60900 8 Foundation 0x5b4e4 + 716 9 libsystem_pthread.dylib 0x16b8 _pthread_start + 148 10 libsystem_pthread.dylib 0xb88 thread_start + 8

Thread 0 libsystem_kernel.dylib 0x11ac __workq_kernreturn + 8 1 libsystem_pthread.dylib 0xe28 _pthread_wqthread + 364 2 libsystem_pthread.dylib 0xb7c start_wqthread + 8

Thread 0 libsystem_pthread.dylib 0xb74 + 254

Thread 0 libsystem_kernel.dylib 0x11ac __workq_kernreturn + 8 1 libsystem_pthread.dylib 0xe28 _pthread_wqthread + 364 2 libsystem_pthread.dylib 0xb7c start_wqthread + 8

TealiumDiskStorage.label 0 libsystem_kernel.dylib 0x42e0 __rename + 8 1 libsystem_kernel.dylib 0x6308 rename + 16 2 Foundation 0x6cebc + 960 3 Foundation 0x3c9034 + 68 4 Foundation 0x3c5184 + 452 5 Foundation 0x3c8fe0 $s10Foundation4DataV5write2to7optionsyAA3URLVSo20NSDataWritingOptionsVtKF + 68 6 UK-TH 0x1313430 static Disk.save(:to:as:encoder:) + 42 (Disk+Codable.swift:42) 7 UK-TH 0x131c3b8 closure #1 in TealiumDiskStorage.save(:fileName:completion:) + 219 (TealiumDiskStorage.swift:219) 8 UK-TH 0x1333614 closure #1 in ReadWrite.barrieredWork(:) + 78 (TealiumReadWrite.swift:78) 9 UK-TH 0x12b2b8c thunk for @escaping @callee_guaranteed () -> () + 4387220364 (:4387220364) 10 libdispatch.dylib 0x2320 + 32 11 libdispatch.dylib 0x3eac + 20 12 libdispatch.dylib 0x1486c + 992 13 libdispatch.dylib 0xc114 + 496 14 libdispatch.dylib 0x15944 + 396 15 libdispatch.dylib 0x16158 + 164 16 libsystem_pthread.dylib 0xda0 _pthread_wqthread + 228 17 libsystem_pthread.dylib 0xb7c start_wqthread + 8

Thread 0 libsystem_kernel.dylib 0x11ac __workq_kernreturn + 8 1 libsystem_pthread.dylib 0xe28 _pthread_wqthread + 364 2 libsystem_pthread.dylib 0xb7c start_wqthread + 8

Thread 0 libsystem_kernel.dylib 0x11ac __workq_kernreturn + 8 1 libsystem_pthread.dylib 0xe28 _pthread_wqthread + 364 2 libsystem_pthread.dylib 0xb7c start_wqthread + 8

com.tealium.backgroundserialqueue 0 libsystem_kernel.dylib 0x17dc __ulock_wait + 8 1 libdispatch.dylib 0x489c + 56 2 libdispatch.dylib 0x4650 + 56 3 libdispatch.dylib 0x13714 + 368 4 libdispatch.dylib 0x132c0 + 148 5 libswiftDispatch.dylib 0x1f38 + 180 6 libswiftDispatch.dylib 0x10dc + 56 7 libswiftDispatch.dylib 0x1c48 + 396 8 libswiftDispatch.dylib 0x1188 $sSo17OS_dispatch_queueC8DispatchE4sync7executexxyKXEtKlF + 164 9 UK-TH 0x13337bc specialized ReadWrite.read(:) + 89 (TealiumReadWrite.swift:89) 10 UK-TH 0x12f7ad4 DataLayer.sessionId.getter + 99 (DataLayer.swift:99) 11 UK-TH 0x12e54fc closure #1 in DataLayer.init(config:diskStorage:sessionStarter:) + 36 (SessionManager.swift:36) 12 UK-TH 0x12b2b8c thunk for @escaping @callee_guaranteed () -> () + 4387220364 (:4387220364) 13 libdispatch.dylib 0x2320 + 32 14 libdispatch.dylib 0x3eac + 20 15 libdispatch.dylib 0xb534 + 668 16 libdispatch.dylib 0xc0a4 + 384 17 libdispatch.dylib 0x16cdc + 648 18 libsystem_pthread.dylib 0xddc _pthread_wqthread + 288 19 libsystem_pthread.dylib 0xb7c start_wqthread + 8

com.google.firebase.crashlytics.MachExceptionServer 0 UK-TH 0x1764754 FIRCLSProcessRecordAllThreads + 393 (FIRCLSProcess.c:393) 1 UK-TH 0x1764b34 FIRCLSProcessRecordAllThreads + 424 (FIRCLSProcess.c:424) 2 UK-TH 0x17725c0 FIRCLSHandler + 34 (FIRCLSHandler.m:34) 3 UK-TH 0x1772dbc FIRCLSMachExceptionServer + 521 (FIRCLSMachException.c:521) 4 libsystem_pthread.dylib 0x16b8 _pthread_start + 148 5 libsystem_pthread.dylib 0xb88 thread_start + 8

JavaScriptCore libpas scavenger 0 libsystem_kernel.dylib 0x1578 __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x8078 + 1232 2 JavaScriptCore 0x1144e8 + 1620 3 libsystem_pthread.dylib 0x16b8 _pthread_start + 148 4 libsystem_pthread.dylib 0xb88 thread_start + 8

SECOND SIMILAR LOG:

com.apple.main-thread 0 libobjc.A.dylib 0x8dac + 156 1 libobjc.A.dylib 0xffc4 + 1512 2 libobjc.A.dylib 0x1f9f8 + 96 3 libobjc.A.dylib 0x76a8 + 748 4 libobjc.A.dylib 0x2800 + 64 5 UK-TH 0x458948 type metadata accessor for UIScene + 4346562888 6 UK-TH 0x452810 AppDelegate.application(:didFinishLaunchingWithOptions:) + 177 (AppDelegate.swift:177) 7 UK-TH 0x453560 @objc AppDelegate.application(:didFinishLaunchingWithOptions:) + 4346541408 (:4346541408) 8 UIKitCore 0x32db04 + 296 9 UIKitCore 0x32d25c + 2776 10 UIKitCore 0x32c290 + 852 11 Applanga 0x5f08 -[UIApplication(Applanga) AL_runWithMainScene:transitionContext:completion:] + 396 12 UIKitCore 0x32bf1c + 172 13 UIKitCore 0x372644 + 44 14 UIKitCore 0x3717e8 + 832 15 UIKitCore 0x371484 UIApplicationMain + 312 16 UK-TH 0x31b1c main + 24 (AppDelegate.swift:24) 17 ??? 0x1a96a8344 (Missing)

Thread 0 libsystem_pthread.dylib 0x1718 + 270

com.apple.root.user-initiated-qos.cooperative 0 UK-TH 0xb4ab0 specialized thunk for @escaping @callee_guaranteed @Sendable @async () -> (@out A) + 4342745776 (:4342745776) 1 libswift_Concurrency.dylib 0x2e9d8 + 68 2 libdispatch.dylib 0x48c68 + 328 3 libdispatch.dylib 0x49430 + 160 4 libsystem_pthread.dylib 0x1b94 _pthread_wqthread + 224 5 libsystem_pthread.dylib 0x1720 start_wqthread + 8

Thread 0 libsystem_kernel.dylib 0x14f0 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x1c1c _pthread_wqthread + 360 2 libsystem_pthread.dylib 0x1720 start_wqthread + 8

com.apple.uikit.eventfetch-thread 0 libsystem_kernel.dylib 0x1030 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x12b18 mach_msg2_internal + 76 2 libsystem_kernel.dylib 0x12db8 mach_msg_overwrite + 484 3 libsystem_kernel.dylib 0x1524 mach_msg + 20 4 CoreFoundation 0x74148 + 156 5 CoreFoundation 0x752e0 + 1208 6 CoreFoundation 0x79d20 CFRunLoopRunSpecific + 584 7 Foundation 0x3e0e8 + 208 8 Foundation 0x3dfe4 + 60 9 UIKitCore 0x493cd8 + 404 10 Foundation 0x55c4c + 704 11 libsystem_pthread.dylib 0x30ec _pthread_start + 116 12 libsystem_pthread.dylib 0x172c thread_start + 8

com.tealium.backgroundserialqueue 0 libsystem_kernel.dylib 0x1ad0 __ulock_wait + 8 1 libdispatch.dylib 0x34128 + 52 2 libdispatch.dylib 0x33f10 + 52 3 libdispatch.dylib 0x46cfc + 340 4 libdispatch.dylib 0x468fc + 140 5 libswiftDispatch.dylib 0x2084 + 152 6 libswiftDispatch.dylib 0x1460 + 40 7 libswiftDispatch.dylib 0x1dfc + 252 8 libswiftDispatch.dylib 0x14f0 $sSo17OS_dispatch_queueC8DispatchE4sync7executexxyKXEtKlF + 136 9 UK-TH 0x13337bc specialized ReadWrite.read(:) + 89 (TealiumReadWrite.swift:89) 10 UK-TH 0x12f7ad4 DataLayer.sessionId.getter + 99 (DataLayer.swift:99) 11 UK-TH 0x12e54fc closure #1 in DataLayer.init(config:diskStorage:sessionStarter:) + 36 (SessionManager.swift:36) 12 UK-TH 0x12b2b8c thunk for @escaping @callee_guaranteed () -> () + 4361612172 (:4361612172) 13 libdispatch.dylib 0x637a8 + 24 14 libdispatch.dylib 0x64780 + 16 15 libdispatch.dylib 0x3f6fc + 600 16 libdispatch.dylib 0x401b0 + 380 17 libdispatch.dylib 0x49f14 + 608 18 libsystem_pthread.dylib 0x1bd0 _pthread_wqthread + 284 19 libsystem_pthread.dylib 0x1720 start_wqthread + 8

com.google.fira.worker 0 libsystem_kernel.dylib 0x2034 pread + 8 1 libsqlite3.dylib 0x8c288 sqlite3_sourceid + 6576 2 libsqlite3.dylib 0x75b4 sqlite3_snprintf + 7840 3 libsqlite3.dylib 0x1a08c sqlite3_log + 3420 4 libsqlite3.dylib 0x95924 sqlite3_sourceid + 45132 5 libsqlite3.dylib 0xa091c sqlite3_sourceid + 90180 6 libsqlite3.dylib 0x375ec sqlite3_step + 49828 7 libsqlite3.dylib 0x2ccbc sqlite3_step + 6516 8 libsqlite3.dylib 0x2b71c sqlite3_step + 980 9 UK-TH 0x186bf54 -[APMSqliteStore deleteRecordsFromTableWithName:condition:parameterValues:error:] + 4367613780 10 UK-TH 0x17dcbb4 -[APMDatabase deleteStaleRawEventsDataOlderThanMaxAge:error:] + 4367027124 11 UK-TH 0x17de830 -[APMDatabase maybeDeleteStaleData:] + 4367034416 12 UK-TH 0x180a200 47-[APMMeasurement startMeasurementOnWorkerQueue]_block_invoke + 4367213056 13 UK-TH 0x1809a88 -[APMMeasurement startMeasurementOnWorkerQueue] + 4367211144 14 UK-TH 0x18090e0 -[APMMeasurement setEnabledOnWorkerQueue:] + 4367208672 15 UK-TH 0x1808fc0 29-[APMMeasurement setEnabled:]_block_invoke + 4367208384 16 UK-TH 0x1861c7c __51-[APMScheduler scheduleOnWorkerQueueBlockID:block:]_block_invoke + 4367572092 17 libdispatch.dylib 0x637a8 + 24 18 libdispatch.dylib 0x64780 + 16 19 libdispatch.dylib 0x3f6fc + 600 20 libdispatch.dylib 0x401b0 + 380 21 libdispatch.dylib 0x49f14 + 608 22 libsystem_pthread.dylib 0x1bd0 _pthread_wqthread + 284 23 libsystem_pthread.dylib 0x1720 start_wqthread + 8

TealiumDiskStorage.label 0 libsystem_kernel.dylib 0x2e4c fsync + 8 1 Foundation 0x665c4 + 620 2 Foundation 0x365b7c + 64 3 Foundation 0x361f8c + 440 4 Foundation 0x365b2c $s10Foundation4DataV5write2to7optionsyAA3URLVSo20NSDataWritingOptionsVtKF + 64 5 UK-TH 0x1313430 static Disk.save(:to:as:encoder:) + 42 (Disk+Codable.swift:42) 6 UK-TH 0x131c3b8 closure #1 in TealiumDiskStorage.save(:fileName:completion:) + 219 (TealiumDiskStorage.swift:219) 7 UK-TH 0x1333614 closure #1 in ReadWrite.barrieredWork(:) + 78 (TealiumReadWrite.swift:78) 8 UK-TH 0x12b2b8c thunk for @escaping @callee_guaranteed () -> () + 4361612172 (:4361612172) 9 libdispatch.dylib 0x637a8 + 24 10 libdispatch.dylib 0x64780 + 16 11 libdispatch.dylib 0x47cf8 + 908 12 libdispatch.dylib 0x40220 + 492 13 libdispatch.dylib 0x48c68 + 328 14 libdispatch.dylib 0x49430 + 160 15 libsystem_pthread.dylib 0x1b94 _pthread_wqthread + 224 16 libsystem_pthread.dylib 0x1720 start_wqthread + 8

com.apple.NSURLConnectionLoader 0 libsystem_kernel.dylib 0x1030 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x12b18 mach_msg2_internal + 76 2 libsystem_kernel.dylib 0x12db8 mach_msg_overwrite + 484 3 libsystem_kernel.dylib 0x1524 mach_msg + 20 4 CoreFoundation 0x74148 + 156 5 CoreFoundation 0x752e0 + 1208 6 CoreFoundation 0x79d20 CFRunLoopRunSpecific + 584 7 CFNetwork 0x228520 _CFURLStorageSessionDisableCache + 50860 8 Foundation 0x55c4c + 704 9 libsystem_pthread.dylib 0x30ec _pthread_start + 116 10 libsystem_pthread.dylib 0x172c thread_start + 8

com.tealium.backgroundconcurrentqueue 0 libsystem_kernel.dylib 0x1ad0 __ulock_wait + 8 1 libdispatch.dylib 0x34128 + 52 2 libdispatch.dylib 0x33f10 + 52 3 libdispatch.dylib 0x46cfc + 340 4 libdispatch.dylib 0x468fc + 140 5 libswiftDispatch.dylib 0x2084 + 152 6 libswiftDispatch.dylib 0x1460 + 40 7 libswiftDispatch.dylib 0x1dfc + 252 8 libswiftDispatch.dylib 0x14f0 $sSo17OS_dispatch_queueC8DispatchE4sync7executexxyKXEtKlF + 136 9 UK-TH 0x13336e4 ReadWrite.read(:) + 89 (TealiumReadWrite.swift:89) 10 UK-TH 0x131d2c8 TealiumDiskStorage.retrieve(:as:) + 313 (TealiumDiskStorage.swift:313) 11 UK-TH 0x131f040 protocol witness for TealiumDiskStorageProtocol.retrieve(as:) in conformance TealiumDiskStorage + 4362055744 (:4362055744) 12 UK-TH 0x1333824 specialized ReadWrite.read(:) + 100 (DataLayer.swift:100) 13 UK-TH 0x12e629c DataLayer.persistentDataStorage.modify + 99 (DataLayer.swift:99) 14 UK-TH 0x12e69e8 closure #2 in DataLayer.add(data:expiry:) + 155 (DataLayer.swift:155) 15 UK-TH 0x1333614 closure #1 in ReadWrite.barrieredWork(_:) + 78 (TealiumReadWrite.swift:78) 16 UK-TH 0x12b2b8c thunk for @escaping @callee_guaranteed () -> () + 4361612172 (:4361612172) 17 libdispatch.dylib 0x637a8 + 24 18 libdispatch.dylib 0x64780 + 16 19 libdispatch.dylib 0x47cf8 + 908 20 libdispatch.dylib 0x40220 + 492 21 libdispatch.dylib 0x48c68 + 328 22 libdispatch.dylib 0x49430 + 160 23 libsystem_pthread.dylib 0x1b94 _pthread_wqthread + 224 24 libsystem_pthread.dylib 0x1720 start_wqthread + 8

JavaScriptCore libpas scavenger 0 libsystem_kernel.dylib 0x187c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x260c + 1220 2 JavaScriptCore 0x10a2e8 + 1568 3 libsystem_pthread.dylib 0x30ec _pthread_start + 116 4 libsystem_pthread.dylib 0x172c thread_start + 8

Thread 0 libsystem_pthread.dylib 0x1718 + 270

Crashed: NSOperationQueue 0x145c073c0 (QOS: UNSPECIFIED) 0 UK-TH 0x12f2cfc specialized Set.Variant.insert(:) + 4361874684 (:4361874684) 1 UK-TH 0x12c2b5c specialized static TealiumDelegateProxy.setup(context:) + 37 (TealiumDelegateProxy.swift:37) 2 UK-TH 0x12b8310 specialized Tealium.init(config:dataLayer:modulesManager:migrator:enableCompletion:) + 45 (Tealium.swift:45) 3 UK-TH 0x12b6778 Tealium.init(config:dataLayer:modulesManager:migrator:enableCompletion:) + 4361627512 (:4361627512) 4 UK-TH 0x4dda50 TealiumHelper.tealium.getter + 46 (TealiumHelper.swift:46) 5 UK-TH 0x718394 FirebaseWrapper.send(event:category:action:label:customDimensions:extraParameters:) + 63 (TealiumHelper.swift:63) 6 UK-TH 0x7185ec @objc FirebaseWrapper.send(event:category:action:label:customDimensions:extraParameters:) + 4349445612 (:4349445612) 7 UK-TH 0x6a51b0 closure #1 in TDAAnalytics.send(_:action:label:) + 185 (TDAAnalytics.swift:185) 8 UK-TH 0xccdf5c thunk for @escaping @callee_guaranteed () -> () + 4355432284 (:4355432284) 9 Foundation 0x9cee8 + 16 10 Foundation 0x73bbc + 100 11 Foundation 0x73b50 + 12 12 Foundation 0x38c10 + 684 13 Foundation 0x3895c + 12 14 Foundation 0x3d9fc + 168 15 libdispatch.dylib 0x46630 + 104 16 libdispatch.dylib 0x64780 + 16 17 libdispatch.dylib 0x3bd48 + 436 18 libdispatch.dylib 0x3b480 + 580 19 libdispatch.dylib 0x48c68 + 328 20 libdispatch.dylib 0x49430 + 160 21 libsystem_pthread.dylib 0x1b94 _pthread_wqthread + 224 22 libsystem_pthread.dylib 0x1720 start_wqthread + 8

com.google.firebase.crashlytics.MachExceptionServer 0 UK-TH 0x1764754 FIRCLSProcessRecordAllThreads + 393 (FIRCLSProcess.c:393) 1 UK-TH 0x1764b34 FIRCLSProcessRecordAllThreads + 424 (FIRCLSProcess.c:424) 2 UK-TH 0x17725c0 FIRCLSHandler + 34 (FIRCLSHandler.m:34) 3 UK-TH 0x1772dbc FIRCLSMachExceptionServer + 521 (FIRCLSMachException.c:521) 4 libsystem_pthread.dylib 0x30ec _pthread_start + 116 5 libsystem_pthread.dylib 0x172c thread_start + 8

Thread 0 libsystem_kernel.dylib 0x14f0 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x1c1c _pthread_wqthread + 360 2 libsystem_pthread.dylib 0x1720 start_wqthread + 8

Does a workaround exist? did not found yet.

To Reproduce was not able to reproduce, but getting high amount of crashes in crashlytics.

Expected behavior Working without crashed.

Enricoza commented 1 year ago

Hi @hhuseinov, thank you for opening this. I've had a quick look and I think that this issue is caused by some multiple instances of Tealium being created on multiple threads simultaneously. The two stack traces that you posted here suggest that one instance is being created on the main thread, in the didFinishLaunchingWithOptions as you pointed out, but another one is being created as a side effect when the FirebaseWrapper sends an event, probably because of some sort of lazy initialization of the Tealium instance inside of the TealiumHelper.

If you could quickly confirm that there is some sort of lazy initialization there, the only thing you would need to do is to make sure that the tealium instance is created only once.

A couple possibilities to do so would be:

Of course, these are just suggestions since I didn't see the code you are using, so feel free to apply whatever fix you deem appropriate as long as you make sure that you don't create multiple Tealium instances simultaneously.

Let me know if you have any other questions or doubts or if the problem persists after the fixes.

hhuseinov commented 1 year ago

yes, exactly. in my case tealium instance was creating lazily. Thanks a lot for clarification, will make fix on our side!