Сбой Unity в OS X: сбой потока UnityGfxDeviceWorker

Когда я масштабирую или поворачиваю камеру, мое приложение Unity имеет тенденцию к сбою. Я включаю краткую версию отчета о сбое и ссылку на полную версию. Более подробная информация о моем исследовании приведена ниже.

Спасибо за Вашу поддержку.

Process:               Unity [1174]
Path:                  /Applications/Unity/Unity.app/Contents/MacOS/Unity
Identifier:            com.unity3d.UnityEditor5.x
Version:               Unity version 5.3.4f1 (5.3.4f1)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Unity [1174]
User ID:               502

Date/Time:             2016-04-11 15:54:02.621 +0200
OS Version:            Mac OS X 10.11.2 (15C50)
Report Version:        11
Anonymous UUID:        07764B5C-AB89-7381-3C4F-EA3FF9B00068

Sleep/Wake UUID:       5EE47DBD-49A9-439C-9848-9B88CA856A8C

Time Awake Since Boot: 16000 seconds
Time Since Wake:       3400 seconds

System Integrity Protection: enabled

Crashed Thread:        38  UnityGfxDeviceWorker

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
abort() called

Другой раздел, который кажется актуальным:

Thread 38 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000000000000006  rcx: 0x000070000a32cc78  rdx: 0x0000000000000000
  rdi: 0x000000000001d71f  rsi: 0x0000000000000006  rbp: 0x000070000a32cca0  rsp: 0x000070000a32cc78
   r8: 0x0000000000000040   r9: 0x00007fff7c7551e0  r10: 0x0000000008000000  r11: 0x0000000000000206
  r12: 0x0000000109dde751  r13: 0x00007fff7c755bd0  r14: 0x000070000a32f000  r15: 0x00000000000004ae
  rip: 0x00007fff96062002  rfl: 0x0000000000000206  cr2: 0x00007fff7bf18118

Logical CPU:     0
Error Code:      0x02000148
Trap Number:     133

Полный отчет можно найти здесь: http://pastebin.com/D0L7CX9W.

Мое исследование до сих пор по этой теме - это поиск в stackoverflow с тегами, связанными с сообщением. Прочитав некоторые, я отбросил результаты для iOS или других приложений как бесполезные.

Самым близким совпадением, которое я нашел, был вопрос без ответа здесь: Сбой Unity 5 под Mac OSX Yosemite, хотя и с некоторыми, возможно, существенными отличиями. Я использую El-Capitan, более новую версию Unity (5.3.4f1 по сравнению с 5.0.0f4), и мой отчет о сбое исходит из Unity, а не из приложения, созданного Unity. Однако это тот же поток, который привел к сбою UnityGfxDeviceWorker, поэтому, возможно, у них есть одно и то же решение.

Другие мои поиски не увенчались успехом в обнаружении аналогичной проблемы, как в этом случае сбоя Unity, кроме как при сборке, запуске и т.п.

Еще раз спасибо, что нашли время, чтобы прочитать это, и я благодарен за вашу помощь.


person Matthias Michael Engh    schedule 11.04.2016    source источник
comment
Я бы порекомендовал убедиться, что все полностью обновлено, включая Unity и OSX. Проверьте это на более старой версии Unity, чтобы убедиться.   -  person Ethan    schedule 12.04.2016
comment
Вы когда-нибудь решали это? Такая же проблема сейчас...   -  person Dave    schedule 14.02.2017
comment
нет, извините, без понятия   -  person Matthias Michael Engh    schedule 07.04.2017
comment
Хотите поделиться записями /Users/[your user name]/Library/Logs/Unity/Player.log, если они доступны?   -  person Moreaki    schedule 17.10.2017
comment
Здесь та же проблема...   -  person pookie    schedule 28.11.2017


Ответы (3)


У меня был этот сбой на iOS. Я исправил это, используя только OpenGL ES2.0 в Unity. Вы можете попробовать использовать только OpenGL и отключить Metal. https://answers.unity.com/questions/1283609/gfx-device-intialization-failed-and-crash-on-ios-s.html

person Daniel Ryan    schedule 16.04.2018
comment
это было некоторое время, так как я видел это. Не думаю, что я могу воспроизвести сейчас. Я хотел бы отметить ваш ответ как правильный, но мне нужны дополнительные доказательства его правильности. - person Matthias Michael Engh; 16.04.2018
comment
@MatthiasMichaelEngh Я добавил ссылку. - person Daniel Ryan; 18.04.2018

Вот ответ, который сработал для меня. В настройках сборки я зашел в Другие настройки>Параметры Mac App Store и изменил Идентификатор пакета на что-то другое, чем com.Company.ProductName по умолчанию. эм>. Я предполагаю, что у меня была какая-то коллизия имен или что-то в этом роде.

Во всяком случае, я сделал это com.Company.ProductName2, и это сработало. Это обходной путь, поэтому не знаю, в чем проблема - мой OSX-fu слаб.

person scprotz    schedule 17.04.2018

Решил это, сняв флажок Metal API Validation в Edit Scheme -> Run -> Diagnostics в Xcode. Использование Unity 2020.1.9f1.

person Ahmet Ardal    schedule 24.10.2020