Hi all, I have an application which is getting a segmentation fault when releasing an autorelease pool, but weirdly, it seems to be happening only on earlier OS versions. I and another person have tested it on Monterey and it works, but a tester has High Sierra and it's crashing.
I have tested it on my system for zombies, with address sanitizer turned on, everything I can think of, and no issues.
This is part of the the stack trace:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000070ff5dfdbec0
Exception Note: EXC_CORPSE_NOTIFY
Application Specific Information:
objc_msgSend() selector name: release
0 Crashed:: Dispatch queue: com.apple.main-thread libobjc.A.dylib 0x00007fff5ef99e9d objc_msgSend + 29
1 com.apple.Foundation 0x00007fff3a2f0c01 NSKVODeallocate +192
2 libobjc.A.dylib 0x00007fff5ef9d042 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 812
3 com.apple.AppKit 0x00007fff35f25f24 -[NSApplication(NSEvent)
_nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 4028
4 com.apple.AppKit 0x00007fff35784d6d -[NSApplication run] + 764
5 com.apple.AppKit 0x00007fff35753f1a NSApplicationMain + 804
6 libdyld.dylib 0x00007fff5fb94115 start + 1
I am at a bit of a loss as to how to debug this, since nothing is turning up on my system, and it seems to be occurring only on an older version of the OS where I can't debug it.
Any clues or ideas for how to track it down would be most welcome.