Я бы хотел увидеть полный журнал сбоев, чтобы получить больше информации. Что касается параллелизма, мне бы хотелось взглянуть на то, что делают все потоки. Иногда в потоке есть подсказка, которая не вылетает.
Я не знаю, что происходит. Но я могу сделать обоснованное предположение, что вы видите какую-то кучную коррупцию. Функция «os_unfair_lock_corruption_abort» строго указывает на то, что примитивный механизм блокировки ОС обнаружил поврежденную структуру данных и прерывает обработку.
Повреждение кучи является распространенным явлением, и его может быть чрезвычайно трудно отладить. Одной из причин того, что вы видите здесь, является симптом коррупции, а не источник. Источник может быть совершенно не связан с внутренними элементами блокировки / OperationQueue.
Я бы предложил попробовать инструменты отладки памяти, которые есть в вашем распоряжении, и попытаться исправить все проблемы, которые вы можете найти. Возможно, вы никогда не сможете узнать, что, если таковые имеются, вызвать это. Но это почти все, что вы можете сделать.
Проверьте писанину Маллока, охранника и даже зомби. Все они могут потенциально привести к появлению ошибок в куче, которые есть в вашем коде.