Skip to content

EXC_BAD_ACCESS Crash in CoreLogger.debug() #2507

@msrutek-paylocity

Description

@msrutek-paylocity

Stack trace

Thread 1 Queue : com.apple.main-thread (serial)
#0	0x0000000000000000 in 0x00000000 ()
#1	0x000000010cf02210 in InternalLogger.log(_:message:error:) at dd-sdk-ios/DatadogInternal/Sources/Telemetry/InternalLogger.swift:38
#2	0x000000010cf02ee8 in protocol witness for CoreLogger.log(_:message:error:) in conformance InternalLogger ()
#3	0x000000010cf014dc in CoreLogger.debug(_:error:) at dd-sdk-ios/DatadogInternal/Sources/Telemetry/CoreLogger.swift:75
#4	0x000000010cc01b34 in closure #2 in DatadogNTPDateProvider.synchronize(update:) at dd-sdk-ios/DatadogCore/Sources/Core/Context/ServerOffsetPublisher.swift:49
#5	0x000000010cc58f2c in closure #1 in KronosClock.sync(from:samples:first:completion:) at dd-sdk-ios/DatadogCore/Sources/Kronos/KronosClock.swift:142
#6	0x000000010cc59078 in partial apply for closure #1 in KronosClock.sync(from:samples:first:completion:) ()
#7	0x000000010cc61e30 in $defer #1 () in closure #1 in closure #1 in KronosNTPClient.query(pool:version:port:numberOfSamples:maximumServers:timeout:progress:) at dd-sdk-ios/DatadogCore/Sources/Kronos/KronosNTPClient.swift:53
#8	0x000000010cc61930 in closure #1 in closure #1 in KronosNTPClient.query(pool:version:port:numberOfSamples:maximumServers:timeout:progress:) ()
#9	0x000000010cc650b4 in partial apply for closure #1 in closure #1 in KronosNTPClient.query(pool:version:port:numberOfSamples:maximumServers:timeout:progress:) ()
#10	0x000000010cc62b8c in closure #1 in KronosNTPClient.query(ip:port:version:timeout:numberOfSamples:completion:) at dd-sdk-ios/DatadogCore/Sources/Kronos/KronosNTPClient.swift:111
#11	0x000000010cc62d50 in partial apply for closure #1 in KronosNTPClient.query(ip:port:version:timeout:numberOfSamples:completion:) ()
#12	0x000000010cc62fa0 in thunk for @escaping @callee_guaranteed (@guaranteed Data?, @unowned Double) -> () ()
#13	0x000000010cc63554 in closure #2 in KronosNTPClient.query(ip:port:version:timeout:numberOfSamples:completion:) at dd-sdk-ios/DatadogCore/Sources/Kronos/KronosNTPClient.swift:125
#14	0x000000010cc60b20 in static KronosBlockTimer.invokeFrom(timer:) at dd-sdk-ios/DatadogCore/Sources/Kronos/KronosNSTimer+ClosureKit.swift:51
#15	0x000000010cc60b98 in @objc static KronosBlockTimer.invokeFrom(timer:) ()
#16	0x000000018111a8c4 in __NSFireTimer ()

Reproduction steps

We're able to reproduce this in unit tests, when running ~1000 iterations

🖼️

Image

Volume

0.001

Affected SDK versions

2.30.0

Latest working SDK version

Does the crash manifest in the latest SDK version?

Yes

Deployment Target

iOS 15

Device Information

No response

Other relevant information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    crashSDK crashes

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions