Closed WonkiJo closed 1 year ago
Hi @WonkiJo, thanks for reporting this crash. Could you share the device model and type you were testing this on?
You mentioned that this is reproducible 100% of the time. However, regarding this statement: This is likely to happen when a push notification is selected.
, does this only happen when you tap a push notification, or does it also crash when you launch the app normally?
Hi, @jerielng,
Presumably it happened in clusters at a certain point in time when the push was triggered, and most of the users who received the push notification crashed within 1 second of their session. The number of users at any given time was over 200, so it's hard to pinpoint devices.
In terms of OS version, iOS15 was 54%, iOS16: 29%, iOS14: 17%.
I've been experiencing this since we recently migrated from Appboy to BrazeKitCompat. But it didn't happen in our test environment.
Thanks @WonkiJo, we've filed an internal ticket to investigate the crash and will keep you updated on the fix.
Hi @WonkiJo, we've just released version 7.1.0 of the Swift SDK. We've added additional safeguards that should prevent crashes related to reading device model. Feel free to reopen or comment back on this thread if you continue to experience issues. Thank you!
Hey,
We've just recently migrated to Swift SDK, currently on 7.2.0 version and noticed similar issues. I was unable to replicate it with Push Notification yet though.
Crash rate is small for now, still we're just rolling out the new app version. There are two crash variants:
First one:
Device: iPad (7th generation) iPad OS: 17.1.1 Crash time: Within 3 seconds of app launch
com.braze.http
Crashed: com.braze.http
0 libobjc.A.dylib 0x4014 objc_msgSend + 20
1 libswiftCore.dylib 0x8e790 Dictionary._Variant.removeValue(forKey:) + 180
2 libswiftCore.dylib 0x49438 Dictionary.subscript.setter + 228
3 VintedCRM 0x39e984 Publisher.unsubscribe(_:) + 1988
4 VintedCRM 0x3a2328 Subject.unsubscribe(_:) + 656
5 VintedCRM 0x3a2654 partial apply for closure #1 in Subject.send(completion:) + 1468
6 libswiftCore.dylib 0xb40a8 Sequence.forEach(_:) + 492
7 VintedCRM 0x3a2610 Subject.send(completion:) + 1400
8 VintedCRM 0x392020 closure #1 in closure #1 in PublisherType.innerFlatMap<A, B>(maxPublishers:_:) + 2592
9 VintedCRM 0x3a3508 Subscriber.receive(completion:) + 788
10 VintedCRM 0x393c6c closure #1 in closure #1 in PublisherType.handleEvents(ncombine_receiveSubscriber:ncombine_receiveSubscription:receiveOutput:receiveCompletion:receiveCancel:ncombine_receiveRequest:) + 1484
11 VintedCRM 0x3a3508 Subscriber.receive(completion:) + 788
12 VintedCRM 0x39ba90 partial apply for implicit closure #2 in implicit closure #1 in closure #1 in PublisherType.subscribe<A>(on:options:) + 3116
13 VintedCRM 0x3a3508 Subscriber.receive(completion:) + 788
14 VintedCRM 0x394e48 partial apply for implicit closure #2 in implicit closure #1 in closure #1 in PublisherType.tryMap<A>(_:) + 4148
15 VintedCRM 0x39abc8 closure #1 in PublisherType.cancellableTrySink(name:receiveCompletion:receiveValue:) + 2808
16 VintedCRM 0x39aaa8 closure #1 in closure #2 in PublisherType.cancellableSink(name:receiveCompletion:receiveValue:) + 2520
17 VintedCRM 0x3a3508 Subscriber.receive(completion:) + 788
18 VintedCRM 0x394e84 partial apply for implicit closure #2 in implicit closure #1 in closure #1 in PublisherType.map<A>(_:) + 4208
19 VintedCRM 0x3a3508 Subscriber.receive(completion:) + 788
20 VintedCRM 0x3a2668 partial apply for closure #1 in Subject.send(completion:) + 1488
21 libswiftCore.dylib 0xb40a8 Sequence.forEach(_:) + 492
22 VintedCRM 0x3a2610 Subject.send(completion:) + 1400
23 VintedCRM 0x3925a4 closure #1 in closure #2 in closure #1 in PublisherType.innerFlatMap<A, B>(maxPublishers:_:) + 4004
24 VintedCRM 0x392810 partial apply for closure #1 in closure #2 in closure #1 in PublisherType.innerFlatMap<A, B>(maxPublishers:_:) + 4624
25 VintedCRM 0x3a3508 Subscriber.receive(completion:) + 788
26 VintedCRM 0x39537c closure #1 in closure #1 in PublisherType.mapError<A>(_:) + 1096
27 VintedCRM 0x3a3508 Subscriber.receive(completion:) + 788
28 VintedCRM 0x3969b0 partial apply for closure #1 in closure #1 in closure #1 in PublisherType.receive<A>(on:options:) + 3156
29 VintedCRM 0x188998 thunk for @escaping @callee_guaranteed () -> () + 540
30 libdispatch.dylib 0x61f68 _dispatch_call_block_and_release + 24
31 libdispatch.dylib 0x62f60 _dispatch_client_callout + 16
32 libdispatch.dylib 0xacbc _dispatch_lane_serial_drain$VARIANT$mp + 708
33 libdispatch.dylib 0xb738 _dispatch_lane_invoke$VARIANT$mp + 380
34 libdispatch.dylib 0x14f4c _dispatch_root_queue_drain_deferred_wlh + 252
35 libdispatch.dylib 0x1485c _dispatch_workloop_worker_thread + 404
36 libsystem_pthread.dylib 0x1a70 _pthread_wqthread + 284
37 libsystem_pthread.dylib 0x1b10 start_wqthread + 8
com.braze.core.persistence
com.braze.core.persistence
0 CoreFoundation 0x515260 _approximateSizeOfPlistValue.cold.1 + 7135232608
1 CoreFoundation 0x437a0 _CFStringGetFileSystemRepresentationWithErrorStatus + 68
2 CoreFoundation 0x4374c CFStringGetFileSystemRepresentation + 16
3 CoreFoundation 0x42bc8 POSIXPathToURLPath + 148
4 CoreFoundation 0x427fc _CFURLCreateWithFileSystemPath + 1380
5 Foundation 0xba778 +[NSURL(NSURL) fileURLWithPath:isDirectory:] + 36
6 Foundation 0xffdac -[NSFileManager URLsForDirectory:inDomains:] + 192
7 VintedCRM 0x133e54 specialized closure #1 in static Persistence.Client.saveLive(fileManager:destination:) + 12048
8 VintedCRM 0x1358b8 partial apply for specialized closure #1 in static Persistence.Client.saveLive(fileManager:destination:) + 18804
9 VintedCRM 0x357f90 thunk for @escaping @callee_guaranteed (@guaranteed Data, @guaranteed String) -> (@error @owned Error) + 448
10 VintedCRM 0x1358d0 partial apply for thunk for @escaping @callee_guaranteed (@guaranteed Data, @guaranteed String) -> (@error @owned Error) + 18828
11 VintedCRM 0x2195f0 specialized closure #1 in closure #1 in Persistence.Client.saveEffect(_:for:execute:) + 91308
12 VintedCRM 0x21b1d0 specialized closure #1 in closure #1 in Persistence.Client.saveEffect(_:for:execute:) + 98444
13 VintedCRM 0x21c854 partial apply for specialized closure #1 in closure #1 in Persistence.Client.saveEffect(_:for:execute:) + 104208
14 VintedCRM 0x335b08 specialized closure #1 in DispatchWorkItem.init<A>(fulfill:work:) + 79536
15 VintedCRM 0x188998 thunk for @escaping @callee_guaranteed () -> () + 540
16 libdispatch.dylib 0x11544 _dispatch_block_async_invoke2 + 104
17 libdispatch.dylib 0x62f60 _dispatch_client_callout + 16
18 libdispatch.dylib 0xacbc _dispatch_lane_serial_drain$VARIANT$mp + 708
19 libdispatch.dylib 0xb738 _dispatch_lane_invoke$VARIANT$mp + 380
20 libdispatch.dylib 0x14f4c _dispatch_root_queue_drain_deferred_wlh + 252
21 libdispatch.dylib 0x1485c _dispatch_workloop_worker_thread + 404
22 libsystem_pthread.dylib 0x1a70 _pthread_wqthread + 284
23 libsystem_pthread.dylib 0x1b10 start_wqthread + 8
and second variant:
Devices: iPhone XS, 11 Pro, 13 Pro Max, 12 Pro, 14 Pro Max, iPad (9th generation) iOS Versions: 17.1.1, 16.0.2, 16.3.0, iPad OS 17.1.1 Crash time: 1 - 3 seconds from the app launch
com.braze.core
Crashed: com.braze.core
0 libobjc.A.dylib 0x1c20 objc_msgSend + 32
1 libswiftCore.dylib 0xb5f14 Dictionary._Variant.removeValue(forKey:) + 284
2 libswiftCore.dylib 0x5a658 Dictionary.subscript.setter + 372
3 VintedCRM 0x39e984 Publisher.unsubscribe(_:) + 1988
4 VintedCRM 0x3a2328 Subject.unsubscribe(_:) + 656
5 VintedCRM 0x392708 closure #3 in closure #1 in PublisherType.innerFlatMap<A, B>(maxPublishers:_:) + 4360
6 VintedCRM 0x381634 Cancellable.deinit + 144
7 VintedCRM 0x38166c Cancellable.__deallocating_deinit + 200
8 libswiftCore.dylib 0x3da1d4 _swift_release_dealloc + 56
9 libswiftCore.dylib 0x5a69c Dictionary.subscript.setter + 440
10 VintedCRM 0x39e984 Publisher.unsubscribe(_:) + 1988
11 VintedCRM 0x39ea2c protocol witness for PublisherType.unsubscribe(_:) in conformance Publisher<A, B> + 2156
12 VintedCRM 0x39ad64 partial apply for closure #1 in PublisherType.sink(name:receiveCompletion:receiveValue:) + 3220
13 VintedCRM 0x381634 Cancellable.deinit + 144
14 VintedCRM 0x38166c Cancellable.__deallocating_deinit + 200
15 libswiftCore.dylib 0x3da1d4 _swift_release_dealloc + 56
16 libswiftCore.dylib 0x5a69c Dictionary.subscript.setter + 440
17 VintedCRM 0x39e984 Publisher.unsubscribe(_:) + 1988
18 VintedCRM 0x39ea2c protocol witness for PublisherType.unsubscribe(_:) in conformance Publisher<A, B> + 2156
19 VintedCRM 0x39ad64 partial apply for closure #1 in PublisherType.sink(name:receiveCompletion:receiveValue:) + 3220
20 VintedCRM 0x381634 Cancellable.deinit + 144
21 VintedCRM 0x38166c Cancellable.__deallocating_deinit + 200
22 libswiftCore.dylib 0x3da1d4 _swift_release_dealloc + 56
23 libswiftCore.dylib 0x5a69c Dictionary.subscript.setter + 440
24 VintedCRM 0x39e984 Publisher.unsubscribe(_:) + 1988
25 VintedCRM 0x39ea2c protocol witness for PublisherType.unsubscribe(_:) in conformance Publisher<A, B> + 2156
26 VintedCRM 0x39ad64 partial apply for closure #1 in PublisherType.sink(name:receiveCompletion:receiveValue:) + 3220
27 VintedCRM 0x381634 Cancellable.deinit + 144
28 VintedCRM 0x38166c Cancellable.__deallocating_deinit + 200
29 libswiftCore.dylib 0x3da1d4 _swift_release_dealloc + 56
30 libswiftCore.dylib 0x5a69c Dictionary.subscript.setter + 440
31 VintedCRM 0x39e984 Publisher.unsubscribe(_:) + 1988
32 VintedCRM 0x39ea2c protocol witness for PublisherType.unsubscribe(_:) in conformance Publisher<A, B> + 2156
33 VintedCRM 0x39ad64 partial apply for closure #1 in PublisherType.sink(name:receiveCompletion:receiveValue:) + 3220
34 VintedCRM 0x3816a4 Cancellable.cancel() + 256
35 VintedCRM 0x3926f4 closure #3 in closure #1 in PublisherType.innerFlatMap<A, B>(maxPublishers:_:) + 4340
36 VintedCRM 0x381634 Cancellable.deinit + 144
37 VintedCRM 0x38166c Cancellable.__deallocating_deinit + 200
38 libswiftCore.dylib 0x3da1d4 _swift_release_dealloc + 56
39 libswiftCore.dylib 0x5a69c Dictionary.subscript.setter + 440
40 VintedCRM 0x39e984 Publisher.unsubscribe(_:) + 1988
41 VintedCRM 0x39ea2c protocol witness for PublisherType.unsubscribe(_:) in conformance Publisher<A, B> + 2156
42 VintedCRM 0x39ad64 partial apply for closure #1 in PublisherType.sink(name:receiveCompletion:receiveValue:) + 3220
43 VintedCRM 0x381634 Cancellable.deinit + 144
44 VintedCRM 0x38166c Cancellable.__deallocating_deinit + 200
45 libswiftCore.dylib 0x3da1d4 _swift_release_dealloc + 56
46 libswiftCore.dylib 0x5a69c Dictionary.subscript.setter + 440
47 VintedCRM 0x39e984 Publisher.unsubscribe(_:) + 1988
48 VintedCRM 0x39ea2c protocol witness for PublisherType.unsubscribe(_:) in conformance Publisher<A, B> + 2156
49 VintedCRM 0x39ad64 partial apply for closure #1 in PublisherType.sink(name:receiveCompletion:receiveValue:) + 3220
50 VintedCRM 0x381634 Cancellable.deinit + 144
51 VintedCRM 0x38166c Cancellable.__deallocating_deinit + 200
52 libswiftCore.dylib 0x3da1d4 _swift_release_dealloc + 56
53 libswiftCore.dylib 0x5a69c Dictionary.subscript.setter + 440
54 VintedCRM 0x39e984 Publisher.unsubscribe(_:) + 1988
55 VintedCRM 0x39ea2c protocol witness for PublisherType.unsubscribe(_:) in conformance Publisher<A, B> + 2156
56 VintedCRM 0x39ad64 partial apply for closure #1 in PublisherType.sink(name:receiveCompletion:receiveValue:) + 3220
57 VintedCRM 0x3816a4 Cancellable.cancel() + 256
58 VintedCRM 0x3926f4 closure #3 in closure #1 in PublisherType.innerFlatMap<A, B>(maxPublishers:_:) + 4340
59 VintedCRM 0x381634 Cancellable.deinit + 144
60 VintedCRM 0x38166c Cancellable.__deallocating_deinit + 200
61 libswiftCore.dylib 0x3da1d4 _swift_release_dealloc + 56
62 libswiftCore.dylib 0x5a69c Dictionary.subscript.setter + 440
63 VintedCRM 0x39e984 Publisher.unsubscribe(_:) + 1988
64 VintedCRM 0x39ea2c protocol witness for PublisherType.unsubscribe(_:) in conformance Publisher<A, B> + 2156
65 VintedCRM 0x39ad64 partial apply for closure #1 in PublisherType.sink(name:receiveCompletion:receiveValue:) + 3220
66 VintedCRM 0x3816a4 Cancellable.cancel() + 256
67 VintedCRM 0x3877cc closure #2 in closure #1 in PublisherType.catch<A>(_:) + 1644
68 VintedCRM 0x381634 Cancellable.deinit + 144
69 VintedCRM 0x38166c Cancellable.__deallocating_deinit + 200
70 libswiftCore.dylib 0x3da1d4 _swift_release_dealloc + 56
71 libswiftCore.dylib 0x5a69c Dictionary.subscript.setter + 440
72 VintedCRM 0x39e984 Publisher.unsubscribe(_:) + 1988
73 VintedCRM 0x39ea2c protocol witness for PublisherType.unsubscribe(_:) in conformance Publisher<A, B> + 2156
74 VintedCRM 0x39ad64 partial apply for closure #1 in PublisherType.sink(name:receiveCompletion:receiveValue:) + 3220
75 VintedCRM 0x381634 Cancellable.deinit + 144
76 VintedCRM 0x38166c Cancellable.__deallocating_deinit + 200
77 libswiftCore.dylib 0x3da1d4 _swift_release_dealloc + 56
78 libswiftCore.dylib 0x5a69c Dictionary.subscript.setter + 440
79 VintedCRM 0x39e984 Publisher.unsubscribe(_:) + 1988
80 VintedCRM 0x39ea2c protocol witness for PublisherType.unsubscribe(_:) in conformance Publisher<A, B> + 2156
81 VintedCRM 0x39ad64 partial apply for closure #1 in PublisherType.sink(name:receiveCompletion:receiveValue:) + 3220
82 VintedCRM 0x381634 Cancellable.deinit + 144
83 VintedCRM 0x38166c Cancellable.__deallocating_deinit + 200
84 libswiftCore.dylib 0x3da1d4 _swift_release_dealloc + 56
85 VintedCRM 0x3a12e8 closure #1 in closure #1 in Publishers.MergeMany.init<A>(_:) + 2900
86 VintedCRM 0x3a16b8 partial apply for closure #1 in closure #1 in Publishers.MergeMany.init<A>(_:) + 3876
87 VintedCRM 0x3a3508 Subscriber.receive(completion:) + 788
88 VintedCRM 0x3a3508 Subscriber.receive(completion:) + 788
89 VintedCRM 0x3a2668 partial apply for closure #1 in Subject.send(completion:) + 1488
90 libswiftCore.dylib 0xe56d0 Sequence.forEach(_:) + 740
91 VintedCRM 0x3a2610 Subject.send(completion:) + 1400
92 VintedCRM 0x39ed74 partial apply for implicit closure #2 in implicit closure #1 in PublisherType.subscribe(_:) + 2996
93 VintedCRM 0x3a3508 Subscriber.receive(completion:) + 788
94 VintedCRM 0x3a05d0 closure #1 in Just.init(_:) + 364
95 VintedCRM 0x39e8a4 Publisher.subscribe(_:) + 1764
96 VintedCRM 0x39ea04 protocol witness for PublisherType.subscribe(_:) in conformance Publisher<A, B> + 2116
97 VintedCRM 0x39a404 PublisherType.sink(name:receiveCompletion:receiveValue:) + 820
98 VintedCRM 0x39e3f4 PublisherType.subscribe(_:) + 564
99 VintedCRM 0x3876d0 closure #1 in closure #1 in PublisherType.catch<A>(_:) + 1392
100 VintedCRM 0x3a3508 Subscriber.receive(completion:) + 788
101 VintedCRM 0x3a2668 partial apply for closure #1 in Subject.send(completion:) + 1488
102 libswiftCore.dylib 0xe56d0 Sequence.forEach(_:) + 740
103 VintedCRM 0x3a2610 Subject.send(completion:) + 1400
104 VintedCRM 0x392038 closure #1 in closure #1 in PublisherType.innerFlatMap<A, B>(maxPublishers:_:) + 2616
105 VintedCRM 0x3a3508 Subscriber.receive(completion:) + 788
106 VintedCRM 0x3a3508 Subscriber.receive(completion:) + 788
107 VintedCRM 0x3969b0 partial apply for closure #1 in closure #1 in closure #1 in PublisherType.receive<A>(on:options:) + 3156
108 VintedCRM 0x188998 thunk for @escaping @callee_guaranteed () -> () + 540
109 libdispatch.dylib 0x24b4 _dispatch_call_block_and_release + 32
110 libdispatch.dylib 0x3fdc _dispatch_client_callout + 20
111 libdispatch.dylib 0xb694 _dispatch_lane_serial_drain + 672
112 libdispatch.dylib 0xc1e0 _dispatch_lane_invoke + 384
113 libdispatch.dylib 0x16e10 _dispatch_workloop_worker_thread + 652
114 libsystem_pthread.dylib 0xdf8 _pthread_wqthread + 288
115 libsystem_pthread.dylib 0xb98 start_wqthread + 8
Hi @remarcus,
Thanks for those stack traces. We'll take a look and try to reproduce them. We'll update here once we have more information.
Hey, are there any updates as crash amount is ramping up for us.
Hi @remarcus,
Since this stack trace has a different root cause than the original thread, can you open a thread with support@braze.com with additional information such as:
Thanks!
We've just started seeing some new crashes with version 7.5.0 added with SPM. Seems to be happening right after initialising Braze, we did not reproduce it yet.
Crashed: com.braze.core 0 MyApp 0xc0f534 String.init(cString:) + 4380898612 1 MyApp 0xc0ec6c deviceModel() + 4380896364 2 MyApp 0xc0e9ac closure #1 in static Host.deviceDataLive(properties:) + 4380895660 3 MyApp 0xd8797c closure #1 in Deferred.init(createPublisher:) + 4382439804 4 MyApp 0xd9660c Publisher.subscribe(:) + 4382500364 5 MyApp 0xd96a70 protocol witness for PublisherType.subscribe(:) in conformance Publisher<A, B> + 4382501488 6 MyApp 0xd9bc84 PublisherType.sink(name:receiveCompletion:receiveValue:) + 4382522500 7 MyApp 0xd969a4 closure #1 in Publisher.init(name::) + 4382501284 8 MyApp 0xd9660c Publisher.subscribe(:) + 4382500364 9 MyApp 0xd96a70 protocol witness for PublisherType.subscribe(:) in conformance Publisher<A, B> + 4382501488 10 MyApp 0xd9bc84 PublisherType.sink(name:receiveCompletion:receiveValue:) + 4382522500 11 MyApp 0xd93394 closure #1 in PublisherType.map(:) + 4382487444 12 MyApp 0xd9660c Publisher.subscribe(:) + 4382500364 13 MyApp 0xd96a70 protocol witness for PublisherType.subscribe(:) in conformance Publisher<A, B> + 4382501488 14 MyApp 0xd9bc84 PublisherType.sink(name:receiveCompletion:receiveValue:) + 4382522500 15 MyApp 0xd969a4 closure #1 in Publisher.init(name::) + 4382501284 16 MyApp 0xd9660c Publisher.subscribe(:) + 4382500364 17 MyApp 0xd96a70 protocol witness for PublisherType.subscribe(:) in conformance Publisher<A, B> + 4382501488 18 MyApp 0xd9bc84 PublisherType.sink(name:receiveCompletion:receiveValue:) + 4382522500 19 MyApp 0xd93394 closure #1 in PublisherType.map(:) + 4382487444 20 MyApp 0xd9660c Publisher.subscribe(:) + 4382500364 21 MyApp 0xd96a70 protocol witness for PublisherType.subscribe(:) in conformance Publisher<A, B> + 4382501488 22 MyApp 0xd9bc84 PublisherType.sink(name:receiveCompletion:receiveValue:) + 4382522500 23 MyApp 0xd969a4 closure #1 in Publisher.init(name::) + 4382501284 24 MyApp 0xd9660c Publisher.subscribe(:) + 4382500364 25 MyApp 0xd96a70 protocol witness for PublisherType.subscribe(:) in conformance Publisher<A, B> + 4382501488 26 MyApp 0xd9bc84 PublisherType.sink(name:receiveCompletion:receiveValue:) + 4382522500 27 MyApp 0xd94aac closure #1 in Publishers.MergeMany.init(:) + 4382493356 28 MyApp 0xd9660c Publisher.subscribe(:) + 4382500364 29 MyApp 0xd96a70 protocol witness for PublisherType.subscribe(:) in conformance Publisher<A, B> + 4382501488 30 MyApp 0xd9bc84 PublisherType.sink(name:receiveCompletion:receiveValue:) + 4382522500 31 MyApp 0xd969a4 closure #1 in Publisher.init(name::) + 4382501284 32 MyApp 0xd9660c Publisher.subscribe(:) + 4382500364 33 MyApp 0xd96a70 protocol witness for PublisherType.subscribe(:) in conformance Publisher<A, B> + 4382501488 34 MyApp 0xd9bc84 PublisherType.sink(name:receiveCompletion:receiveValue:) + 4382522500 35 MyApp 0xd94aac closure #1 in Publishers.MergeMany.init(:) + 4382493356 36 MyApp 0xd9660c Publisher.subscribe(:) + 4382500364 37 MyApp 0xd96a70 protocol witness for PublisherType.subscribe(:) in conformance Publisher<A, B> + 4382501488 38 MyApp 0xd9bc84 PublisherType.sink(name:receiveCompletion:receiveValue:) + 4382522500 39 MyApp 0xd969a4 closure #1 in Publisher.init(name::) + 4382501284 40 MyApp 0xd9660c Publisher.subscribe(:) + 4382500364 41 MyApp 0xd96a70 protocol witness for PublisherType.subscribe(:) in conformance Publisher<A, B> + 4382501488 42 MyApp 0xd9bc84 PublisherType.sink(name:receiveCompletion:receiveValue:) + 4382522500 43 MyApp 0xd94aac closure #1 in Publishers.MergeMany.init(:) + 4382493356 44 MyApp 0xd9660c Publisher.subscribe(:) + 4382500364 45 MyApp 0xd96a70 protocol witness for PublisherType.subscribe(:) in conformance Publisher<A, B> + 4382501488 46 MyApp 0xd9bc84 PublisherType.sink(name:receiveCompletion:receiveValue:) + 4382522500 47 MyApp 0xd969a4 closure #1 in Publisher.init(name::) + 4382501284 48 MyApp 0xd9660c Publisher.subscribe(:) + 4382500364 49 MyApp 0xd96a70 protocol witness for PublisherType.subscribe(:) in conformance Publisher<A, B> + 4382501488 50 MyApp 0xd9bc84 PublisherType.sink(name:receiveCompletion:receiveValue:) + 4382522500 51 MyApp 0xd8219c closure #1 in PublisherType.collect(:) + 4382417308 52 MyApp 0xd9660c Publisher.subscribe(:) + 4382500364 53 MyApp 0xd96a70 protocol witness for PublisherType.subscribe(:) in conformance Publisher<A, B> + 4382501488 54 MyApp 0xd9bc84 PublisherType.sink(name:receiveCompletion:receiveValue:) + 4382522500 55 MyApp 0xd98bbc closure #1 in PublisherType.replaceEmpty(with:) + 4382510012 56 MyApp 0xd9660c Publisher.subscribe(:) + 4382500364 57 MyApp 0xd96a70 protocol witness for PublisherType.subscribe(:) in conformance Publisher<A, B> + 4382501488 58 MyApp 0xd9bc84 PublisherType.sink(name:receiveCompletion:receiveValue:) + 4382522500 59 MyApp 0xd5af3c specialized Publisher<>.assertSync() + 4382256956 60 MyApp 0xbc40f8 specialized closure #1 in Reducer<>.atomics() + 4380590328 61 MyApp 0xdac1d0 closure #1 in Reducer.pullback<A, B, C>(state:action:environment:) + 4382589392 62 MyApp 0xdadcc0 partial apply for closure #1 in Reducer.pullback<A, B, C>(state:action:environment:) + 4382596288 63 MyApp 0xdae5ac partial apply for closure #1 in closure #1 in static Reducer.combine(:) + 4382598572 64 libswiftCore.dylib 0x149f4 Collection.map(:) + 560 65 MyApp 0xdabdf4 closure #1 in static Reducer.combine(:) + 4382588404 66 MyApp 0xdae5ac partial apply for closure #1 in closure #1 in static Reducer.combine(:) + 4382598572 67 libswiftCore.dylib 0x149f4 Collection.map(:) + 560 68 MyApp 0xdabdf4 closure #1 in static Reducer.combine(:) + 4382588404 69 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 70 MyApp 0xc78ba4 specialized closure #1 in Reducer.onChange(of:perform:) + 4381330340 71 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 72 MyApp 0xc78a5c specialized closure #1 in Reducer.onChange(of:perform:) + 4381330012 73 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 74 MyApp 0xc78990 specialized closure #1 in Reducer.onChange(of:perform:) + 4381329808 75 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 76 MyApp 0xc78878 specialized closure #1 in Reducer.onChange(of:perform:) + 4381329528 77 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 78 MyApp 0xc7875c specialized closure #1 in Reducer.onChange(of:perform:) + 4381329244 79 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 80 MyApp 0xc78dc4 specialized closure #1 in Reducer.onChange(of:perform:) + 4381330884 81 MyApp 0xdae5ac partial apply for closure #1 in closure #1 in static Reducer.combine(:) + 4382598572 82 libswiftCore.dylib 0x149f4 Collection.map(:) + 560 83 MyApp 0xdabdf4 closure #1 in static Reducer.combine(:) + 4382588404 84 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 85 MyApp 0xc78ee0 specialized closure #1 in Reducer.onChange(of:perform:) + 4381331168 86 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 87 MyApp 0xc78ee0 specialized closure #1 in Reducer.onChange(of:perform:) + 4381331168 88 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 89 MyApp 0xc7a458 specialized closure #1 in Reducer.onChange(of:perform:) + 4381336664 90 MyApp 0xc78e94 specialized closure #1 in Reducer.onChange(of:perform:) + 4381331092 91 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 92 MyApp 0xc7a458 specialized closure #1 in Reducer.onChange(of:perform:) + 4381336664 93 MyApp 0xc78fc4 specialized closure #1 in Reducer.onChange(of:perform:) + 4381331396 94 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 95 MyApp 0xbc3a38 specialized closure #1 in Reducer<>.atomics() + 4380588600 96 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 97 MyApp 0xc79a70 specialized closure #1 in Reducer.onChange(of:perform:) + 4381334128 98 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 99 MyApp 0xc7995c specialized closure #1 in Reducer.onChange(of:perform:) + 4381333852 100 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 101 MyApp 0xc79800 specialized closure #1 in Reducer.onChange(of:perform:) + 4381333504 102 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 103 MyApp 0xc7a5e8 specialized closure #1 in Reducer.onChange(of:perform:) + 4381337064 104 MyApp 0xc79754 specialized closure #1 in Reducer.onChange(of:perform:) + 4381333332 105 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 106 MyApp 0xc7a458 specialized closure #1 in Reducer.onChange(of:perform:) + 4381336664 107 MyApp 0xc79724 specialized closure #1 in Reducer.onChange(of:perform:) + 4381333284 108 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 109 MyApp 0xc79674 specialized closure #1 in Reducer.onChange(of:perform:) + 4381333108 110 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 111 MyApp 0xc794f0 specialized closure #1 in Reducer.onChange(of:perform:) + 4381332720 112 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 113 MyApp 0xc793e0 specialized closure #1 in Reducer.onChange(of:perform:) + 4381332448 114 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 115 MyApp 0xc79328 specialized closure #1 in Reducer.onChange(of:perform:) + 4381332264 116 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 117 MyApp 0xc79270 specialized closure #1 in Reducer.onChange(of:perform:) + 4381332080 118 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 119 MyApp 0xc791b0 specialized closure #1 in Reducer.onChange(of:perform:) + 4381331888 120 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 121 MyApp 0xc790bc specialized closure #1 in Reducer.onChange(of:perform:) + 4381331644 122 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 123 MyApp 0xc7a330 specialized closure #1 in Reducer.onChange(of:perform:) + 4381336368 124 MyApp 0xc79000 specialized closure #1 in Reducer.onChange(of:perform:) + 4381331456 125 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 126 MyApp 0xc7a330 specialized closure #1 in Reducer.onChange(of:perform:) + 4381336368 127 MyApp 0xc79078 specialized closure #1 in Reducer.onChange(of:perform:) + 4381331576 128 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 129 MyApp 0xc7a458 specialized closure #1 in Reducer.onChange(of:perform:) + 4381336664 130 MyApp 0xc7903c specialized closure #1 in Reducer.onChange(of:perform:) + 4381331516 131 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 132 MyApp 0xc7a458 specialized closure #1 in Reducer.onChange(of:perform:) + 4381336664 133 MyApp 0xc7ac70 specialized closure #1 in Reducer.onChange(of:perform:) + 4381338736 134 MyApp 0xdae5ac partial apply for closure #1 in closure #1 in static Reducer.combine(:) + 4382598572 135 libswiftCore.dylib 0x149f4 Collection.map(:) + 560 136 MyApp 0xdabdf4 closure #1 in static Reducer.combine(:) + 4382588404 137 MyApp 0xdadb90 Reducer.callAsFunction(:::) + 4382595984 138 MyApp 0xdb01b4 closure #1 in Store.init(initialState:reducer:environment:) + 4382605748 139 MyApp 0xdb0804 Store.send(:) + 4382607364 140 MyApp 0xdb37bc ViewStore.send(:) + 4382619580 141 MyApp 0xb52094 closure #1 in BrazeViewStore.start() + 4380123284 142 MyApp 0xb53e34 partial apply for specialized closure #1 in AsyncViewStore.executeSync(:) + 4380130868 143 MyApp 0xb5348c specialized closure #1 in AsyncViewStore.execute(:) + 4380128396 144 MyApp 0xbe3f6c thunk for @escaping @callee_guaranteed () -> () + 4380721004 145 libdispatch.dylib 0x63094 _dispatch_call_block_and_release + 24 146 libdispatch.dylib 0x64094 _dispatch_client_callout + 16 147 libdispatch.dylib 0xa73c _dispatch_lane_serial_drain$VARIANT$mp + 644 148 libdispatch.dylib 0xb1f4 _dispatch_lane_invoke$VARIANT$mp + 408 149 libdispatch.dylib 0x14ec8 _dispatch_workloop_worker_thread + 632 150 libsystem_pthread.dylib 0x1e00 _pthread_wqthread + 284 151 libsystem_pthread.dylib 0x192c start_wqthread + 8
com.apple.main-thread 0 libsystem_kernel.dylib 0xae8 semaphore_wait_trap + 8 1 libdispatch.dylib 0x4960 _dispatch_sema4_wait$VARIANT$mp + 24 2 libdispatch.dylib 0x4fb0 _dispatch_semaphore_waitslow + 148 3 MyApp 0xb5231c specialized AsyncViewStore.executeSync(:) + 4380123932 4 MyApp 0xb51a9c BrazeViewStore.start() + 4380121756 5 MyApp 0xb514a4 BrazeViewStore.enabled.setter + 4380120228 6 MyApp 0xb28ab8 Braze.enabled.setter + 4379953848 7 MyApp 0xb29be0 Braze.init(configuration:) + 4379958240 ......... 12 ??? 0x106c5ff14 (Missing) 13 UIKitCore 0x309574
+ 336 14 UIKitCore 0x4ddd98 + 3508 15 UIKitCore 0x4c74bc + 1176 16 UIKitCore 0x335284 + 148 17 UIKitCore 0x19bfa8 _UIScenePerformActionsWithLifecycleActionMask + 96 18 UIKitCore 0x2be9dc + 188 19 UIKitCore 0x3d4008 + 240 20 UIKitCore 0x5fc434 + 744 21 UIKitCore 0x58c174 + 336 22 UIKitCore 0x19ccf4 + 188 23 UIKitCore 0x2588e4 + 812 24 UIKitCore 0x19ea84 _UISceneSettingsDiffActionPerformChangesWithTransitionContext + 248 25 UIKitCore 0x283134 + 356 26 UIKitCore 0x6d8f38 + 772 27 UIKitCore 0x1cc72c + 248 28 UIKitCore 0x20e4cc + 264 29 UIKitCore 0x339cec + 560 30 UIKitCore 0x281550 + 360 31 FrontBoardServices 0x26c50 + 412 32 FrontBoardServices 0x48f98 + 100 33 FrontBoardServices 0x9bdc + 232 34 FrontBoardServices 0xafd4 + 312 35 libdispatch.dylib 0x64094 _dispatch_client_callout + 16 36 libdispatch.dylib 0x7150 _dispatch_block_invoke_direct$VARIANT$mp + 220 37 FrontBoardServices 0xb2ac + 40 38 FrontBoardServices 0xa7c0 + 176 39 FrontBoardServices 0xe960 + 24 40 CoreFoundation 0xb3448 + 24 41 CoreFoundation 0xc3578 + 204 42 CoreFoundation 0x5734 + 256 43 CoreFoundation 0xae08 + 768 44 CoreFoundation 0x1e174 CFRunLoopRunSpecific + 572 45 GraphicsServices 0x1988 GSEventRunModal + 160 46 UIKitCore 0x4e5a88 + 1080 47 UIKitCore 0x27ef78 UIApplicationMain + 336 48 Sideline 0x8a3c main + 13 (main.m:13) 49 ??? 0x1025a84d0 (Missing)
Hi there @evelyne96,
Thank you for this information. This is appears to be related to the original topic of this thread, but could you still please either open a new GitHub issue here or open a thread with support@braze.com?
I think some additional information might be helpful for us here. In particular, do you happen to have a complete crash log, any leads on reproducing the issue, any info on the frequency of the crash or any particular circumstances surrounding it?
Thanks!
Hi @WonkiJo @remarcus @evelyne96,
We released Swift SDK 9.1.0 which adds some safeguards around the deviceModel
method. Let us know if you continue to run into issues.
Thanks!
Platform
iOS
Platform Version
iOS 14 +
Braze SDK Version
6.5.0
Xcode Version
14.3.1
Computer Processor
Intel
Repro Rate
100%
Steps To Reproduce
This is likely to happen when a push notification is selected. After that, the session starts and the device model is fetched.
Expected Behavior
Not crashing
Actual Incorrect Behavior
Crashing
Verbose Logs
Additional Information
No response