segmentio/analytics-ios

ANR when call - (void)identify:(NSString *_Nullable)userId traits:(SERIALIZABLE_DICT _Nullable)traits;

SunnySun852963 opened this issue · 0 comments

Call stack when ANR

libsystem_kernel.dylib 0x7fff203515ce __ulock_wait + 10
libdispatch.dylib 0x7fff201d9e28 _dispatch_thread_event_wait_slow + 40
libdispatch.dylib 0x7fff201e685d DISPATCH_WAIT_FOR_QUEUE + 290
libdispatch.dylib 0x7fff201e64ac _dispatch_sync_f_slow + 171
Segment 0x1187fef90 -[SEGState valueWithBlock:] + 166
Segment 0x1187fea21 -[SEGPayloadContext referrer] + 91
Segment 0x1187fe90a -[SEGPayloadContext payload] + 115
Segment 0x1187f90ae -[SEGPayload initWithContext:integrations:] + 164
Segment 0x1187ec70a -[SEGIdentifyPayload initWithUserId:anonymousId:traits:context:integrations:] + 103
Segment 0x1187eabb7 -[SEGAnalytics identify:traits:options:] + 892
APP 0x10d91ff50 -[SEGAnalyticsPlugIn identifyWithTraits:traits:] + 99

Reproduce steps

  1. Call - (void)identify:(NSString *_Nullable)userId traits:(SERIALIZABLE_DICT _Nullable)traits; in main thread every 6s
  2. Except 1, main thread and other thread may call identify too.

version

4.1.6

Operation system

Macmini8,1

Could you help to investigate why it cases ANR?
And is there any advices to avoid the ANR?
Thank you.