segmentio / analytics-swift

The hassle-free way to add Segment analytics to your Swift app (iOS/tvOS/watchOS/macOS/Linux).

Repository from Github https://github.comsegmentio/analytics-swiftRepository from Github https://github.comsegmentio/analytics-swift

Crash inside DestinationMetadataPlugin during Analytics.update call

tarunatsortly opened this issue · comments

We are receiving crash reports in DestinationMetadataPlugin.update(settings: Settings, type: UpdateType) implementation.
Screenshot 2024-02-21 at 9 52 08 PM

Platform:

  • Library Version in use: 1.5.1
  • Platform being tested: iOS
  • Integrations in use: Amplitude

Additional context
A sample crash report is attached here.

OS Version: iOS 17.2.1 (21C66)
Report Version: 104

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: SEGV_NOOP at 0x000073fcf45cc430
Crashed Thread: 14

Application Specific Information:
Exception 1, Code 1, Subcode 127530268673072 >
KERN_INVALID_ADDRESS at 0x73fcf45cc430.

Thread 14 Crashed:
0   libswiftCore.dylib              0x32f4dc8fc         _swift_release_dealloc
1   libswiftCore.dylib              0x32f4ddfac         [inlined] swift::RefCounts<T>::doDecrementSlow<T>
2   libswiftCore.dylib              0x32f4ddfac         swift::RefCounts<T>::doDecrementSlow<T>
3   libswiftCore.dylib              0x32f4c9294         swift_arrayDestroy
4   libswiftCore.dylib              0x32f2018c0         _DictionaryStorage.deinit
5   libswiftCore.dylib              0x32f2019f4         _DictionaryStorage.__deallocating_deinit
6   libswiftCore.dylib              0x32f4dc910         _swift_release_dealloc
7   libswiftCore.dylib              0x32f4ddfac         swift::RefCounts<T>::doDecrementSlow<T>
8   Objects                         0x105e64e0c         Settings?
9   Objects                         0x105e64cb4         DestinationMetadataPlugin
10  Objects                         0x105e73d1c         Analytics.update (Settings.swift:117)
11  Objects                         0x105e5bbc4         [inlined] Timeline.apply (Timeline.swift:94)
12  Objects                         0x105e5bbc4         [inlined] Sequence.forEach
13  Objects                         0x105e5bbc4         [inlined] Timeline.apply (Timeline.swift:93)
14  Objects                         0x105e5bbc4         DestinationPlugin.apply (Plugins.swift:113)
15  Objects                         0x105e5cf80         [inlined] Analytics.update (Settings.swift:116)
16  Objects                         0x105e5cf80         [inlined] Timeline.apply (Timeline.swift:94)
17  Objects                         0x105e5cf80         [inlined] Sequence.forEach
18  Objects                         0x105e5cf80         [inlined] Timeline.apply (Timeline.swift:93)
19  Objects                         0x105e5cf80         Analytics.apply (<compiler-generated>:178)
20  Objects                         0x105e741f8         [inlined] Analytics.apply
21  Objects                         0x105e741f8         [inlined] Analytics.update (Settings.swift:113)
22  Objects                         0x105e741f8         Analytics.checkSettings (Settings.swift:183)
23  Objects                         0x105e946a4         HTTPClient.settingsFor (HTTPClient.swift:122)
24  Objects                         0x105e93fec         thunk for closure
25  CFNetwork                       0x33eb25364         _CFNetworkSetHSTSStoragePath
26  CFNetwork                       0x33eb43214         CFHTTPMessageCopySerializedMessage
27  libdispatch.dylib               0x34c9506a4         _dispatch_call_block_and_release
28  libdispatch.dylib               0x34c9522fc         _dispatch_client_callout
29  libdispatch.dylib               0x34c959890         _dispatch_lane_serial_drain
30  libdispatch.dylib               0x34c95a3f4         _dispatch_lane_invoke
31  libdispatch.dylib               0x34c965000         _dispatch_root_queue_drain_deferred_wlh
32  libdispatch.dylib               0x34c964874         _dispatch_workloop_worker_thread
33  libsystem_pthread.dylib         0x4109a9960         _pthread_wqthread

Thread 0
0   libswiftCore.dylib              0x32f1ad420         [A : B]
1   libswiftCore.dylib              0x32f497f78         [inlined] Encodable.encode
2   libswiftCore.dylib              0x32f497f78         Encodable.encode
3   Foundation                      0x33a993f7c         __PlistEncoder.box_<T>
4   Foundation                      0x33a993edc         __PlistEncoder.box_<T>
5   Foundation                      0x33a993cc4         __PlistEncoder.box__
6   Foundation                      0x33a993bd0         __PlistEncoder.box_<T>
7   Foundation                      0x33aa0f138         __PlistEncoder.encode<T>
8   Foundation                      0x33aa0f404         __PlistEncoder
9   libswiftCore.dylib              0x32f499c64         SingleValueEncodingContainer.encode<T>
10  Objects                         0x105e983e8         JSON.encode
11  Objects                         0x105e984b4         JSON
12  libswiftCore.dylib              0x32f497f78         Encodable.encode
13  Foundation                      0x33a993f7c         __PlistEncoder.box_<T>
14  Foundation                      0x33a993edc         __PlistEncoder.box_<T>
15  Foundation                      0x33a993cc4         __PlistEncoder.box__
16  Foundation                      0x33a993bd0         __PlistEncoder.box_<T>
17  Foundation                      0x33a993788         _PlistKeyedEncodingContainer.encode<T>
18  Foundation                      0x33a9935fc         _PlistKeyedEncodingContainer<T>
19  libswiftCore.dylib              0x32f191e24         _KeyedEncodingContainerBox.encode<T>
20  libswiftCore.dylib              0x32f1aad70         Dictionary<T>.encode
21  libswiftCore.dylib              0x32f1ad430         [A : B]
22  libswiftCore.dylib              0x32f497f78         Encodable.encode
23  Foundation                      0x33a993f7c         __PlistEncoder.box_<T>
24  Foundation                      0x33a993edc         __PlistEncoder.box_<T>
25  Foundation                      0x33a993cc4         __PlistEncoder.box__
26  Foundation                      0x33a993bd0         __PlistEncoder.box_<T>
27  Foundation                      0x33aa0f138         __PlistEncoder.encode<T>
28  Foundation                      0x33aa0f404         __PlistEncoder
29  libswiftCore.dylib              0x32f499c64         SingleValueEncodingContainer.encode<T>
30  Objects                         0x105e983e8         JSON.encode
31  Objects                         0x105e984b4         JSON
32  libswiftCore.dylib              0x32f497f78         Encodable.encode
33  Foundation                      0x33a993f7c         __PlistEncoder.box_<T>
34  Foundation                      0x33a993edc         __PlistEncoder.box_<T>
35  Foundation                      0x33a993cc4         __PlistEncoder.box__
36  Foundation                      0x33a993bd0         __PlistEncoder.box_<T>
37  Foundation                      0x33a993788         _PlistKeyedEncodingContainer.encode<T>
38  Foundation                      0x33a9935fc         _PlistKeyedEncodingContainer<T>
39  libswiftCore.dylib              0x32f191e24         _KeyedEncodingContainerBox.encode<T>
40  libswiftCore.dylib              0x32f1aad70         Dictionary<T>.encode
41  libswiftCore.dylib              0x32f1ad430         [A : B]
42  libswiftCore.dylib              0x32f497f78         Encodable.encode
43  Foundation                      0x33a993f7c         __PlistEncoder.box_<T>
44  Foundation                      0x33a993edc         __PlistEncoder.box_<T>
45  Foundation                      0x33a993cc4         __PlistEncoder.box__
46  Foundation                      0x33a993bd0         __PlistEncoder.box_<T>
47  Foundation                      0x33aa0f138         __PlistEncoder.encode<T>
48  Foundation                      0x33aa0f404         __PlistEncoder
49  libswiftCore.dylib              0x32f499c64         SingleValueEncodingContainer.encode<T>
50  Objects                         0x105e983e8         JSON.encode
51  Objects                         0x105e984b4         JSON
52  libswiftCore.dylib              0x32f497f78         Encodable.encode
53  Foundation                      0x33a993f7c         __PlistEncoder.box_<T>
54  Foundation                      0x33a993edc         __PlistEncoder.box_<T>
55  Foundation                      0x33a993cc4         __PlistEncoder.box__
56  Foundation                      0x33a993bd0         __PlistEncoder.box_<T>
57  Foundation                      0x33a993788         _PlistKeyedEncodingContainer.encode<T>
58  Foundation                      0x33a9935fc         _PlistKeyedEncodingContainer<T>
59  libswiftCore.dylib              0x32f191e24         _KeyedEncodingContainerBox.encode<T>
60  libswiftCore.dylib              0x32f1aad70         Dictionary<T>.encode
61  libswiftCore.dylib              0x32f1ad430         [A : B]
62  libswiftCore.dylib              0x32f497f78         Encodable.encode
63  Foundation                      0x33a993f7c         __PlistEncoder.box_<T>
64  Foundation                      0x33a993edc         __PlistEncoder.box_<T>
65  Foundation                      0x33a993cc4         __PlistEncoder.box__
66  Foundation                      0x33a993bd0         __PlistEncoder.box_<T>
67  Foundation                      0x33aa0f138         __PlistEncoder.encode<T>
68  Foundation                      0x33aa0f404         __PlistEncoder
69  libswiftCore.dylib              0x32f499c64         SingleValueEncodingContainer.encode<T>
70  Objects                         0x105e983e8         JSON.encode
71  Objects                         0x105e984b4         JSON
72  libswiftCore.dylib              0x32f497f78         Encodable.encode
73  Foundation                      0x33a993f7c         __PlistEncoder.box_<T>
74  Foundation                      0x33a993edc         __PlistEncoder.box_<T>
75  Foundation                      0x33a993cc4         __PlistEncoder.box__
76  Foundation                      0x33a993bd0         __PlistEncoder.box_<T>
77  Foundation                      0x33a993788         _PlistKeyedEncodingContainer.encode<T>
78  Foundation                      0x33a9935fc         _PlistKeyedEncodingContainer<T>
79  libswiftCore.dylib              0x32f1854ac         KeyedEncodingContainerProtocol.encodeIfPresent<T>
80  Foundation                      0x33aa0db0c         _PlistKeyedEncodingContainer<T>
81  libswiftCore.dylib              0x32f193dec         _KeyedEncodingContainerBox.encodeIfPresent<T>
82  libswiftCore.dylib              0x32f186014         KeyedEncodingContainer.encodeIfPresent<T>
83  Objects                         0x105e73724         Settings.encode
84  Objects                         0x105e73960         Settings
85  libswiftCore.dylib              0x32f497f78         Encodable.encode
86  Foundation                      0x33a993f7c         __PlistEncoder.box_<T>
87  Foundation                      0x33a993edc         __PlistEncoder.box_<T>
88  Foundation                      0x33a993cc4         __PlistEncoder.box__
89  Foundation                      0x33a993bd0         __PlistEncoder.box_<T>
90  Foundation                      0x33aa0f138         __PlistEncoder.encode<T>
91  Foundation                      0x33aa0f404         __PlistEncoder
92  libswiftCore.dylib              0x32f1a6368         Optional<T>.encode
93  libswiftCore.dylib              0x32f1a63c4         A?
94  libswiftCore.dylib              0x32f497f78         Encodable.encode
95  Foundation                      0x33a993f7c         __PlistEncoder.box_<T>
96  Foundation                      0x33a993edc         __PlistEncoder.box_<T>
97  Foundation                      0x33a993cc4         __PlistEncoder.box__
98  Foundation                      0x33a993bd0         __PlistEncoder.box_<T>
99  Foundation                      0x33a9b3840         PropertyListEncoder.encodeToTopLevelContainer<T>
100 Foundation                      0x33a9b3068         PropertyListEncoder.encode<T>
101 Foundation                      0x33a9b2fa0         PropertyListEncoder.encode<T>
102 Objects                         0x105ea56b4         Storage.write<T> (Storage.swift:61)
103 Objects                         0x105ea9e04         [inlined] Storage.write<T>
104 Objects                         0x105ea9e04         Storage.write<T>
105 Objects                         0x105e6e3c0         thunk for closure
106 Objects                         0x105e6e3e0         thunk for closure
107 libdispatch.dylib               0x34c9522fc         _dispatch_client_callout
108 libdispatch.dylib               0x34c9616b0         _dispatch_lane_barrier_sync_invoke_and_complete
109 Objects                         0x105ea4554         Storage.write<T> (Storage.swift:37)
110 Objects                         0x105ea412c         [inlined] Storage.systemUpdate (Storage.swift:190)
111 Objects                         0x105ea412c         Storage.init (Storage.swift:32)
112 Objects                         0x105eaafc0         [inlined] thunk for closure
113 Objects                         0x105eaafc0         thunk for closure
114 Objects                         0x105eaefe4         [inlined] thunk for closure
115 Objects                         0x105eaefe4         thunk for closure
116 Objects                         0x105eaf08c         [inlined] Store.notify<T> (Store.swift:250)
117 Objects                         0x105eaf08c         Store.notify<T>
118 Objects                         0x105ead3f8         thunk for closure
119 libdispatch.dylib               0x34c9506a4         _dispatch_call_block_and_release
120 libdispatch.dylib               0x34c9522fc         _dispatch_client_callout
121 libdispatch.dylib               0x34c960994         _dispatch_main_queue_drain
122 libdispatch.dylib               0x34c9605ac         _dispatch_main_queue_callback_4CF
123 CoreFoundation                  0x33c99f018         __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
124 CoreFoundation                  0x33c99bd24         __CFRunLoopRun
125 CoreFoundation                  0x33c99b474         CFRunLoopRunSpecific
126 GraphicsServices                0x3c34cd4f4         GSEventRunModal
127 UIKitCore                       0x340fea628         -[UIApplication _run]
128 UIKitCore                       0x340fe9c64         UIApplicationMain
129 Sortly                          0x2033abce4         main (AppDelegate.swift:17)
130 <unknown>                       0x1d795adcc         <redacted>

Thread 1 name: com.apple.uikit.eventfetch-thread
0   libsystem_kernel.dylib          0x3cb825178         mach_msg2_trap
1   libsystem_kernel.dylib          0x3cb824f0c         mach_msg2_internal
2   libsystem_kernel.dylib          0x3cb824e24         mach_msg_overwrite
3   libsystem_kernel.dylib          0x3cb824c64         mach_msg
4   CoreFoundation                  0x33c99db18         __CFRunLoopServiceMachPort
5   CoreFoundation                  0x33c99ba10         __CFRunLoopRun
6   CoreFoundation                  0x33c99b474         CFRunLoopRunSpecific
7   Foundation                      0x33a8c8488         -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
8   Foundation                      0x33a8f5748         -[NSRunLoop(NSRunLoop) runUntilDate:]
9   UIKitCore                       0x340f4c4a4         -[UIEventFetcher threadMain]
10  Foundation                      0x33a94bddc         __NSThread__start__
11  libsystem_pthread.dylib         0x4109aa4d0         _pthread_start

Please let me know in case you need any other information.

Hi @tarunatsortly thanks for reaching out. Definitely happy to take a look. Is there any additional context regarding your implementation you can provide? When is this crash happening? Have you been able to reproduce it consistently? Anything else unique? Thanks!

Hi @alanjcharles The crash happens for users when they are trying to resume the app after keeping it in background for some time. We have not been able to reproduce it at all.

Hi @tarunatsortly we just pushed a fix in Analytics-Swift 1.5.4 and Sovran-Swift 1.1.1 can you let me know if this resolves your issue? Thanks!

Thank you so much for the quick response @alanjcharles! We have updated to 1.5.4 for the upcoming app version. I will update this thread after we have released the changes and have had a few sessions in the updated app.

no problem @tarunatsortly ! I would actually recommend updating to 1.5.5 as I didn't update everything I needed to in 1.5.4. Look forward to hearing from you!

Hi @alanjcharles We are now on the latest version with these fixes in Sovran 1.1.1 via #298 and we are still seeing the exact same crash.

OS Version: iOS 17.3.1 (21D61)
Report Version: 104

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: SEGV_NOOP at 0x00006bdf87e139b0
Crashed Thread: 8

Application Specific Information:
Exception 1, Code 1, Subcode 118607801563568 >
KERN_INVALID_ADDRESS at 0x6bdf87e139b0.

Thread 8 Crashed:
0   libswiftCore.dylib              0x32acb28fc         _swift_release_dealloc
1   libswiftCore.dylib              0x32acb3fac         [inlined] swift::RefCounts<T>::doDecrementSlow<T>
2   libswiftCore.dylib              0x32acb3fac         swift::RefCounts<T>::doDecrementSlow<T>
3   libswiftCore.dylib              0x32ac9f294         swift_arrayDestroy
4   libswiftCore.dylib              0x32a9d78c0         _DictionaryStorage.deinit
5   libswiftCore.dylib              0x32a9d79f4         _DictionaryStorage.__deallocating_deinit
6   libswiftCore.dylib              0x32acb2910         _swift_release_dealloc
7   libswiftCore.dylib              0x32acb3fac         swift::RefCounts<T>::doDecrementSlow<T>
8   Objects                         0x10818a3b8         Settings?
9   Objects                         0x10818a260         DestinationMetadataPlugin
10  Objects                         0x108199f90         Analytics.update (Settings.swift:117)
11  Objects                         0x108181170         [inlined] Timeline.apply (Timeline.swift:94)
12  Objects                         0x108181170         [inlined] Sequence.forEach
13  Objects                         0x108181170         [inlined] Timeline.apply (Timeline.swift:93)
14  Objects                         0x108181170         DestinationPlugin.apply (Plugins.swift:113)
15  Objects                         0x10818252c         [inlined] Analytics.update (Settings.swift:116)
16  Objects                         0x10818252c         [inlined] Timeline.apply (Timeline.swift:94)
17  Objects                         0x10818252c         [inlined] Sequence.forEach
18  Objects                         0x10818252c         [inlined] Timeline.apply (Timeline.swift:93)
19  Objects                         0x10818252c         Analytics.apply (<compiler-generated>:178)
20  Objects                         0x10819a46c         [inlined] Analytics.apply
21  Objects                         0x10819a46c         [inlined] Analytics.update (Settings.swift:113)
22  Objects                         0x10819a46c         Analytics.checkSettings (Settings.swift:183)
23  Objects                         0x1081ba918         HTTPClient.settingsFor (HTTPClient.swift:122)
24  Objects                         0x1081ba260         thunk for closure
25  CFNetwork                       0x33a351284         _CFNetworkSetHSTSStoragePath
26  CFNetwork                       0x33a36f188         CFHTTPMessageCopySerializedMessage
27  libdispatch.dylib               0x34818e6a4         _dispatch_call_block_and_release
28  libdispatch.dylib               0x3481902fc         _dispatch_client_callout
29  libdispatch.dylib               0x348197890         _dispatch_lane_serial_drain
30  libdispatch.dylib               0x3481983f4         _dispatch_lane_invoke
31  libdispatch.dylib               0x3481a3000         _dispatch_root_queue_drain_deferred_wlh
32  libdispatch.dylib               0x3481a2874         _dispatch_workloop_worker_thread
33  libsystem_pthread.dylib         0x40c405960         _pthread_wqthread

Thread 0
0   libsystem_pthread.dylib         0x40c405a14         ___chkstk_darwin
1   libswiftCore.dylib              0x32a97ff9c         Dictionary<T>.encode
2   libswiftCore.dylib              0x32a983430         [A : B]
3   libswiftCore.dylib              0x32ac6df78         Encodable.encode
4   Foundation                      0x3361bfedc         __PlistEncoder.box_<T>
5   Foundation                      0x3361bfe3c         __PlistEncoder.box_<T>
6   Foundation                      0x3361bfc24         __PlistEncoder.box__
7   Foundation                      0x3361bfb30         __PlistEncoder.box_<T>
8   Foundation                      0x33623b098         __PlistEncoder.encode<T>
9   Foundation                      0x33623b364         __PlistEncoder
10  libswiftCore.dylib              0x32ac6fc64         SingleValueEncodingContainer.encode<T>
11  Objects                         0x1081be648         JSON.encode
12  Objects                         0x1081be714         JSON
13  libswiftCore.dylib              0x32ac6df78         Encodable.encode
14  Foundation                      0x3361bfedc         __PlistEncoder.box_<T>
15  Foundation                      0x3361bfe3c         __PlistEncoder.box_<T>
16  Foundation                      0x3361bfc24         __PlistEncoder.box__
17  Foundation                      0x3361bfb30         __PlistEncoder.box_<T>
18  Foundation                      0x3361bf6e8         _PlistKeyedEncodingContainer.encode<T>
19  Foundation                      0x3361bf55c         _PlistKeyedEncodingContainer<T>
20  libswiftCore.dylib              0x32a967e24         _KeyedEncodingContainerBox.encode<T>
21  libswiftCore.dylib              0x32a980d70         Dictionary<T>.encode
22  libswiftCore.dylib              0x32a983430         [A : B]
23  libswiftCore.dylib              0x32ac6df78         Encodable.encode
24  Foundation                      0x3361bfedc         __PlistEncoder.box_<T>
25  Foundation                      0x3361bfe3c         __PlistEncoder.box_<T>
26  Foundation                      0x3361bfc24         __PlistEncoder.box__
27  Foundation                      0x3361bfb30         __PlistEncoder.box_<T>
28  Foundation                      0x33623b098         __PlistEncoder.encode<T>
29  Foundation                      0x33623b364         __PlistEncoder
30  libswiftCore.dylib              0x32ac6fc64         SingleValueEncodingContainer.encode<T>
31  Objects                         0x1081be648         JSON.encode
32  Objects                         0x1081be714         JSON
33  libswiftCore.dylib              0x32ac6df78         Encodable.encode
34  Foundation                      0x3361bfedc         __PlistEncoder.box_<T>
35  Foundation                      0x3361bfe3c         __PlistEncoder.box_<T>
36  Foundation                      0x3361bfc24         __PlistEncoder.box__
37  Foundation                      0x3361bfb30         __PlistEncoder.box_<T>
38  Foundation                      0x3361bf6e8         _PlistKeyedEncodingContainer.encode<T>
39  Foundation                      0x3361bf55c         _PlistKeyedEncodingContainer<T>
40  libswiftCore.dylib              0x32a967e24         _KeyedEncodingContainerBox.encode<T>
41  libswiftCore.dylib              0x32a980d70         Dictionary<T>.encode
42  libswiftCore.dylib              0x32a983430         [A : B]
43  libswiftCore.dylib              0x32ac6df78         Encodable.encode
44  Foundation                      0x3361bfedc         __PlistEncoder.box_<T>
45  Foundation                      0x3361bfe3c         __PlistEncoder.box_<T>
46  Foundation                      0x3361bfc24         __PlistEncoder.box__
47  Foundation                      0x3361bfb30         __PlistEncoder.box_<T>
48  Foundation                      0x33623b098         __PlistEncoder.encode<T>
49  Foundation                      0x33623b364         __PlistEncoder
50  libswiftCore.dylib              0x32ac6fc64         SingleValueEncodingContainer.encode<T>
51  Objects                         0x1081be648         JSON.encode
52  Objects                         0x1081be714         JSON
53  libswiftCore.dylib              0x32ac6df78         Encodable.encode
54  Foundation                      0x3361bfedc         __PlistEncoder.box_<T>
55  Foundation                      0x3361bfe3c         __PlistEncoder.box_<T>
56  Foundation                      0x3361bfc24         __PlistEncoder.box__
57  Foundation                      0x3361bfb30         __PlistEncoder.box_<T>
58  Foundation                      0x3361bf6e8         _PlistKeyedEncodingContainer.encode<T>
59  Foundation                      0x3361bf55c         _PlistKeyedEncodingContainer<T>
60  libswiftCore.dylib              0x32a967e24         _KeyedEncodingContainerBox.encode<T>
61  libswiftCore.dylib              0x32a980d70         Dictionary<T>.encode
62  libswiftCore.dylib              0x32a983430         [A : B]
63  libswiftCore.dylib              0x32ac6df78         Encodable.encode
64  Foundation                      0x3361bfedc         __PlistEncoder.box_<T>
65  Foundation                      0x3361bfe3c         __PlistEncoder.box_<T>
66  Foundation                      0x3361bfc24         __PlistEncoder.box__
67  Foundation                      0x3361bfb30         __PlistEncoder.box_<T>
68  Foundation                      0x33623b098         __PlistEncoder.encode<T>
69  Foundation                      0x33623b364         __PlistEncoder
70  libswiftCore.dylib              0x32ac6fc64         SingleValueEncodingContainer.encode<T>
71  Objects                         0x1081be648         JSON.encode
72  Objects                         0x1081be714         JSON
73  libswiftCore.dylib              0x32ac6df78         Encodable.encode
74  Foundation                      0x3361bfedc         __PlistEncoder.box_<T>
75  Foundation                      0x3361bfe3c         __PlistEncoder.box_<T>
76  Foundation                      0x3361bfc24         __PlistEncoder.box__
77  Foundation                      0x3361bfb30         __PlistEncoder.box_<T>
78  Foundation                      0x3361bf6e8         _PlistKeyedEncodingContainer.encode<T>
79  Foundation                      0x3361bf55c         _PlistKeyedEncodingContainer<T>
80  libswiftCore.dylib              0x32a95b4ac         KeyedEncodingContainerProtocol.encodeIfPresent<T>
81  Foundation                      0x336239a6c         _PlistKeyedEncodingContainer<T>
82  libswiftCore.dylib              0x32a969dec         _KeyedEncodingContainerBox.encodeIfPresent<T>
83  libswiftCore.dylib              0x32a95c014         KeyedEncodingContainer.encodeIfPresent<T>
84  Objects                         0x108199998         Settings.encode
85  Objects                         0x108199bd4         Settings
86  libswiftCore.dylib              0x32ac6df78         Encodable.encode
87  Foundation                      0x3361bfedc         __PlistEncoder.box_<T>
88  Foundation                      0x3361bfe3c         __PlistEncoder.box_<T>
89  Foundation                      0x3361bfc24         __PlistEncoder.box__
90  Foundation                      0x3361bfb30         __PlistEncoder.box_<T>
91  Foundation                      0x33623b098         __PlistEncoder.encode<T>
92  Foundation                      0x33623b364         __PlistEncoder
93  libswiftCore.dylib              0x32a97c368         Optional<T>.encode
94  libswiftCore.dylib              0x32a97c3c4         A?
95  libswiftCore.dylib              0x32ac6df78         Encodable.encode
96  Foundation                      0x3361bfedc         __PlistEncoder.box_<T>
97  Foundation                      0x3361bfe3c         __PlistEncoder.box_<T>
98  Foundation                      0x3361bfc24         __PlistEncoder.box__
99  Foundation                      0x3361bfb30         __PlistEncoder.box_<T>
100 Foundation                      0x3361df7a0         PropertyListEncoder.encodeToTopLevelContainer<T>
101 Foundation                      0x3361defc8         PropertyListEncoder.encode<T>
102 Foundation                      0x3361def00         PropertyListEncoder.encode<T>
103 Objects                         0x1081cbc0c         Storage.write<T> (Storage.swift:61)
104 Objects                         0x1081d035c         [inlined] Storage.write<T>
105 Objects                         0x1081d035c         Storage.write<T>
106 Objects                         0x10819420c         thunk for closure
107 Objects                         0x10819422c         thunk for closure
108 libdispatch.dylib               0x3481902fc         _dispatch_client_callout
109 libdispatch.dylib               0x34819f6b0         _dispatch_lane_barrier_sync_invoke_and_complete
110 Objects                         0x1081caaac         Storage.write<T> (Storage.swift:37)
111 Objects                         0x1081ca684         [inlined] Storage.systemUpdate (Storage.swift:190)
112 Objects                         0x1081ca684         Storage.init (Storage.swift:32)
113 Objects                         0x1081d1518         [inlined] thunk for closure
114 Objects                         0x1081d1518         thunk for closure
115 Objects                         0x1081d55a4         [inlined] thunk for closure
116 Objects                         0x1081d55a4         thunk for closure
117 Objects                         0x1081d564c         [inlined] Store.notify<T> (Store.swift:258)
118 Objects                         0x1081d564c         Store.notify<T>
119 Objects                         0x1081d3a14         thunk for closure
120 libdispatch.dylib               0x34818e6a4         _dispatch_call_block_and_release
121 libdispatch.dylib               0x3481902fc         _dispatch_client_callout
122 libdispatch.dylib               0x34819e994         _dispatch_main_queue_drain
123 libdispatch.dylib               0x34819e5ac         _dispatch_main_queue_callback_4CF
124 CoreFoundation                  0x3381caf98         __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
125 CoreFoundation                  0x3381c7ca4         __CFRunLoopRun
126 CoreFoundation                  0x3381c73f4         CFRunLoopRunSpecific
127 GraphicsServices                0x3bed634f4         GSEventRunModal
128 UIKitCore                       0x33c81a89c         -[UIApplication _run]
129 UIKitCore                       0x33c819ed8         UIApplicationMain
130 Sortly                          0x205199e84         main (AppDelegate.swift:17)
131 <unknown>                       0x1d318adcc         <redacted>

Please let me know in case you need any other information.

Thanks.

Hi @tarunatsortly sorry to hear you're still having issues. Would you mind emailing me at acharles@twilio.com so we can set up a call? I think just walking through your implementation from a high-level might be the best path forward since this is proving pretty difficult to replicate. If nothing else, it will help us to eliminate some things. Thanks, look forward to hearing from you!

Hi @alanjcharles I can see this commit removes the code path that was causing this crash. Can we expect a release for this fix soon?

Hi @tarunatsortly, yeah, it's on my to-do list for today. We had some other changes that needed to go in as well.

Hi @tarunatsortly this is now available in 1.5.6 can you let me know if you're still running into any issues?

Feel free to reopen this if something else comes up.

@alanjcharles @bsneed We got delayed in releasing this fix to the App Store. We can confirm that the original issue for this thread has been fixed and we are not seeing it anymore. Thanks for the prompt response on this.