Hi,I have a packet tunnel provider that crashs randomly with SIGABRT in AutoreleasePoolPage::pop(). The problem is that since it is launched by the system, there isn't any useful crash details in the lldb window nor can i enable the enviroment variables needed for memory debugging.I've looked into trying to narrow it down in my code but after 2 weeks, I still haven't identified the root cause. Are there any tools/techniques that I can use to pinpoint this autorelease issue?Additional details:1. Call stack:#0 0x0000000183a992ec in __pthread_kill ()#1 0x0000000183c3e6a8 in pthread_kill$VARIANT$armv81 ()#2 0x0000000183a07d0c in abort ()#3 0x0000000183ad1838 in free ()#4 0x00000001831ea13c in (anonymous namespace)::AutoreleasePoolPage::pop(void*) ()#5 0x0000000102da2a90 in <this is my code>2. "po $arg1" doesn't work on frames #3 and #4. To get to the 1st arg, it looks like the call to pop() passes in the (void*) as follows: 0x102da2a88 <+504>: ldur x0, [x29, #-0x58]
0x102da2a8c <+508>: bl 0x1034ab69c ; symbol stub for: objc_autoreleasePoolPopIIUC, i need to take $x29 and subtract 0x58, then that memory location is loaded into $x0: (lldb) x/1 ($x29-0x58) 0x16dd92a78: 0x0b204138However, 0xb204000 doesn't look like any of the other heap addresses, so this doesn't look like the thing getting freed.At this point, I'm pretty stuck. Any help would be greatly appreciated.