Post

Replies

Boosts

Views

Activity

Reply to Concurrency Crash - PushToTalk Framework
So the actor is being used to allow for lazy initialization of the pushToTalk framework while ensuring that it is only created once for the entire app. For example - if there were two places in the app that needed to use the pushToTalkFramework - we would want to ensure that the ptchannelManager was only created once but that it was lazily created (so not made until either area requested it). Normally we would use some sort of lock to ensure that the lazy variable was only created once - however since the ptChannelManager init is async we would not be able to ensure the lock is locked and unlocked from the same thread. This is why we introduced the actor to handle this. The crash isn't happening on macOS - we are seeing it in our telemetry for users on various iOS versions (16 + 17) and across many iPhone and iPad devices. I can work on trying to get a redacted full crash log and sharing here - if there is a way to share a private version though I think my team would prefer that. This is the type of crash we are seeing: Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Termination Reason: SIGNAL 6 Abort trap: 6 From what I can tell (by putting fatal errors in my own PushToTalkManager init and comparing those crash logs to my crash logs) the crash is happening somewhere in apple's PTChannelManager.channelManager async function.
Topic: App & System Services SubTopic: General Tags:
Jun ’24