mixpanel / mixpanel-swift

Official iOS (Swift) Tracking Library for Mixpanel Analytics
https://mixpanel.com
Apache License 2.0
434 stars 234 forks source link

[2.10.2] Crash on _copySequenceToContiguousArray #483

Closed WenzhaoTan-Chowbus closed 2 years ago

WenzhaoTan-Chowbus commented 3 years ago

OS Version: 14.7.1 Device Model: iPad Pro 12.9"

0 | libswiftCore.dylib | 0x361b24 | swift_slowAlloc.cold.1 | + 16
-- | -- | -- | -- | --
1 | libswiftCore.dylib | 0x2f4a20 | swift_slowAlloc | + 208
2 | libswiftCore.dylib | 0x2f4b50 | swift_allocObject | + 52
3 | Mixpanel | 0x1bf0c | specialized _copySequenceToContiguousArray<A>(_:) | + 168
4 | Mixpanel | 0x1aac8 | specialized Sequence.reversed() | + 36
5 | Mixpanel | 0x1c208 | specialized Flush.orderAutomaticEvents(queue:automaticEventsEnabled:) | + 88
6 | Mixpanel | 0x1a9e0 | Flush.flushEventsQueue(_:automaticEventsEnabled:) | + 96
7 | Mixpanel | 0x4a650 | closure #1 in closure #1 in MixpanelInstance.flush(completion:) | + 588
8 | Mixpanel | 0x3c84c | thunk for @escaping @callee_guaranteed () -> () | + 20
9 | libdispatch.dylib | 0x602b0 | _dispatch_call_block_and_release | + 24
10 | libdispatch.dylib | 0x61298 | _dispatch_client_callout | + 16
11 | libdispatch.dylib | 0x9a40 | _dispatch_lane_serial_drain$VARIANT$mp | + 612
12 | libdispatch.dylib | 0xa518 | _dispatch_lane_invoke$VARIANT$mp | + 420
13 | libdispatch.dylib | 0x13fac | _dispatch_workloop_worker_thread | + 712
14 | libsystem_pthread.dylib | 0xb5bc | _pthread_wqthread | + 272
zihejia commented 2 years ago

HI @WenzhaoTan-Chowbus , the issue will no longer exist on the version "3.0.0.beta.5" since we did some refactoring for flush and persistence. Other than that, it's in parity with 2.10.3 just without messaging and a/b testing features. If you don't use Mixpanel for messaging and a/b testing, you will get a very similar build from 3.0.0.beta.5 as the final 3.0.0. On Jan 1, 2022, 3.0.0 will be released. I'm closing this issue now, please feel free to open any issue related to 3.0.x, but we are not going to fix any issue from the legacy persistence.