At the moment the Unity Editor 2018.4.3 is crashing on our project if we open the editor the first time. Restarting the editor after the crash is working fine. For us it is a huge problem as our builds are done in a clean workspace and the editor is crashing when opening the project.
We have a hard time to locate the issue.
The call stack from the Editor.log look:
Please check if the crash also occurs with the latest 2018.4 LTS release, it’s 2018.4.4 at the time of writing. If the crash persists and is reproducible, please submit a bug-report as described in this document:
It’s important that you report these issues together with a reproduction project if you want them to get fixed. If you don’t do it, it might be a long time until someone else reports them or until Unity Technologies find them.
After you submitted the bug-report, you receive a confirmation email with a bug-report Case number. Please post the Case number (number only, not the link) in this forum thread for Unity staff to pick up.
Yes it happens with 2018.4.4 as well.
I done now a clean import of all assets without using the unity cash server on an OSX machine. Doing that still results in a crash. There is no indication what could be the cause of the crash.
A bug report requires the upload of the whole project. As we have no clue what is connected to the crash I can’t strip down the project. I’ll try to uploaded the whole project but it is ~60GB
It looks like the crash is caused by something in the Last Opened Scene(RestoreLastOpenedScenes). If you could identify what scene this is, you should then be able to strip the project down so it is smaller for a bug report.
In my case the last open scene was an empty scene. But it happens on all workstations and on the builders. The builders are opening the project in a complete new workspace.
I was now able to get a callstack from one of the builders:
Obtained 31 stack frames.
#0 0x00000100c8d58b in CanDestroyObject(Object*, bool)
#1 0x00000100c8e235 in DestroyObjectHighLevel(Object*, bool)
#2 0x00000100d3718a in DestroyWorldObjects(dynamic_array<int, 0ul> const&)
#3 0x00000100d36daf in DestroyWorld(bool)
#4 0x0000010137f76b in EditorSceneManager::NewScene(NewSceneParameters const&)
#5 0x000001019ce345 in Application::FinishLoadingProject()
#6 0x000001007008a2 in -[EditorApplication applicationDidFinishLaunching:]
#7 0x007fff2f996af6 in __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__
#8 0x007fff2f996a70 in ___CFXRegistrationPost_block_invoke
#9 0x007fff2f9969da in _CFXRegistrationPost
#10 0x007fff2f99ee88 in ___CFXNotificationPost_block_invoke
#11 0x007fff2f9078d4 in -[_CFXNotificationRegistrar find:object:observer:enumerator:]
#12 0x007fff2f906c87 in _CFXNotificationPost
#13 0x007fff31b7f217 in -[NSNotificationCenter postNotificationName:object:userInfo:]
#14 0x007fff2cfc081c in -[NSApplication _postDidFinishNotification]
#15 0x007fff2cfc016f in -[NSApplication _sendFinishLaunchingNotification]
#16 0x007fff2cfbe2c3 in -[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:]
#17 0x007fff2cfbdf13 in -[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:]
#18 0x007fff31bc8d6e in -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:]
#19 0x007fff31bc8beb in _NSAppleEventManagerGenericHandler
#20 0x007fff30b54397 in aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned int, unsigned char*)
#21 0x007fff30b53c29 in dispatchEventAndSendReply(AEDesc const*, AEDesc*)
#22 0x007fff30b53b01 in aeProcessAppleEvent
#23 0x007fff2ec28ec7 in AEProcessAppleEvent
#24 0x007fff2cfba2f2 in _DPSNextEvent
#25 0x007fff2cfb8d93 in -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]
#26 0x007fff2cfb2eb0 in -[NSApplication run]
#27 0x007fff2cfa23f0 in NSApplicationMain
#28 0x000001007295dc in EditorMain(int, char const**)
#29 0x00000100729a59 in main
#30 0x007fff5bdac3d5 in start
What is loaded in Unity when FinishLoadingProject() is called? How can I identify the scene that populated the world before NewScene() is called?
Is there any way to track down the “broken” game object? Like the prefab name or the list of attached components?
For me it looks like there is an GameObject pointer in the “World” array that is not valid any more or is in the process of destroying initiated by another thread.
It would be nice to get any some more information about the loaded content. We are totally in the dark at the moment.
As we are investigating we are getting more information, dumps and logs. I would like to share those with the bug report but I can’t find a way to login or to edit the report.
How do I append new information’s and resources to a report?
I understand that. But we have no clue what assets are involved in the issue.
If you could point out a little more details about the initial asset import process and what assets are loaded into the “World” before the first editor scene is loaded, you would help us a lot.
Can we set a higher loglevel to get more details from unity? Just a list of loaded assets would help us very much to identify the issue and your guys with a stripped version of our project.
With some effort we have been able to locate the issue. It was an yaml syntax error in a prefab file.
After we knew what we are looking for we where able to find it in the logfile. With the amount of prefabs in the project it was not easy to locate and impossible to see in the huge log file with out to know what we should look for. Neither the key word’s “exception”, “error”, “warning” or “failed” are used that are common to parse.
We are adding now “Unable” to our log file parser. Do you have a list of unity “breaking” log messages or keywords to parse for in Unity?
Unable to parse YAML file: [did not find expected ',' or '}'] at line 11
(Filename: C:\buildslave\unity\build\Runtime/Serialize/TransferFunctions/YAMLRead.cpp Line: 210)
Updating Assets/Drive/GameLogic/Season/GameModes/Season/Prefabs/P_Drive_GameLogic_GameModes_SeasonGameMode.prefab - GUID: 8f4d9340c20aea742b4edf7d16392f97...
Unable to parse file Assets/Drive/GameLogic/Season/GameModes/Season/Prefabs/P_Drive_GameLogic_GameModes_SeasonGameMode.prefab: [did not find expected ',' or '}'] at line 735
(Filename: C:\buildslave\unity\build\Runtime/Serialize/TransferFunctions/YAMLRead.cpp Line: 206)
Missing GameObject : Unity has detected a Transform component that is not assigned to a GameObject, and has created a new GameObject 'Recovery GameObject (8858458598365043761)' to contain the component.
(Filename: C:\buildslave\unity\build\Editor/Src/Utility/DanglingComponentManager.cpp Line: 55)
done. [Time: 32.442200 ms]