So Much crashing

What I was trying to suggest is to see if you can find the culprit :slight_smile:

If it’s related to serialization/deserialization, I would write an editor script that marks an asset dirty, prints its path and calls save assets / import. Run this code against every asset in the project. If it crashes, you see in the editor.log the path of that asset that caused the crash.

Ah yeah I can try that.

I do delete the Library folder from time to time, which is a whole other issue…
For whatever reason, unity just decides to corrupt object references on some objects. Even though the asset yaml says otherwise.

Only way to fix is full reimport.

Doing so hasn’t caused any crashes yet. But would assume it would if the crash was related to some specific asset.

Anyway, I’ll try this out later and report back

1 Like

In my case, it crashes a lot while building.

1 Like

Have you looked at the editor.log, after a crash, if it shows what’s causing the issue? Perhaps attach the editor.log here?

Just in from 2020.2.0b10

Happened during asset import on our build machine (BatchMode)

And the most useless stack trace award goes to:

Stack Trace of Crashed Thread 16628:
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF626136B3A)
0x00007FF626136B3A (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF625F757F7)
0x00007FF625F757F7 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF62948658A)
0x00007FF62948658A (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF629840E59)
0x00007FF629840E59 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF629454258)
0x00007FF629454258 (Unity) (function-name not available)
0x00007FFA87BC121F (ntdll) _chkstk
0x00007FFA87B8A259 (ntdll) RtlRaiseException
0x00007FFA87BBFE8E (ntdll) KiUserExceptionDispatcher
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF624616BC0)
0x00007FF624616BC0 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF62505CBD9)
0x00007FF62505CBD9 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF625058121)
0x00007FF625058121 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF625611C40)
0x00007FF625611C40 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF62560E3BD)
0x00007FF62560E3BD (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF6260C2723)
0x00007FF6260C2723 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF6260C30E2)
0x00007FF6260C30E2 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF6260C325A)
0x00007FF6260C325A (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF62605268E)
0x00007FF62605268E (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF626052E77)
0x00007FF626052E77 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF626056403)
0x00007FF626056403 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF6246BE4A6)
0x00007FF6246BE4A6 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF627841EFD)
0x00007FF627841EFD (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF6277C37EB)
0x00007FF6277C37EB (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF6277CCB60)
0x00007FF6277CCB60 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF6277CB8C3)
0x00007FF6277CB8C3 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF6277AE7CD)
0x00007FF6277AE7CD (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF6277AD97A)
0x00007FF6277AD97A (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF627769C09)
0x00007FF627769C09 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF627773E6E)
0x00007FF627773E6E (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF62777A836)
0x00007FF62777A836 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF627774DD9)
0x00007FF627774DD9 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF6276E0E4E)
0x00007FF6276E0E4E (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF626CA0ACA)
0x00007FF626CA0ACA (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF62760BEB2)
0x00007FF62760BEB2 (Unity) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF6294311B6)
0x00007FF6294311B6 (Unity) (function-name not available)
0x00007FFA85BE7C24 (KERNEL32) BaseThreadInitThunk
0x00007FFA87B8CEA1 (ntdll) RtlUserThreadStart

I’ve had that happen a lot but I use Maya so…

New week, new crash

========== OUTPUTTING STACK TRACE ==================

0x00007FF60971EE38 (Unity) Transfer_UnityEngineObject<StreamedBinaryWrite,0>
0x00007FF608157FCB (Unity) ExecuteSerializationCommands<ConfigSettingsRead>
0x00007FF609224CDC (Unity) TransferScriptingObject<StreamedBinaryWrite,0>
0x00007FF609222429 (Unity) SerializableManagedRefTransfer::Transfer<SerializableManagedRefBackupGenerator>
0x00007FF6097CE648 (Unity) WriteObjectToVector
0x00007FF60A7808BD (Unity) CachedPrefabPPtrRemapper::GetCachedPrefabSourceObjectData
0x00007FF60A7BBC13 (Unity) ApplyPrefabStateAndPropertyModificationsToObjects
0x00007FF60A7C9EBB (Unity) MergePrefabChanges
0x00007FF60A7888F1 (Unity) MergePrefabInternal
0x00007FF60A78687D (Unity) MergeAllPrefabInstancesDuringLoad
0x00007FF60908B732 (Unity) LoadSceneOperation::CompleteAwakeSequence
0x00007FF60908BB03 (Unity) LoadSceneOperation::CompletePreloadManagerLoadSceneEditor
0x00007FF60908CA09 (Unity) LoadSceneOperation::IntegrateMainThread
0x00007FF6090903EC (Unity) PreloadManager::UpdatePreloadingSingleStep
0x00007FF609090CDF (Unity) PreloadManager::WaitForAllAsyncOperationsToComplete
0x00007FF60A817E75 (Unity) EditorSceneManager::RestoreSceneBackups
0x00007FF60A2BCA0C (Unity) PlayerLoopController::ExitPlayMode
0x00007FF60A2CF303 (Unity) PlayerLoopController::SetIsPlaying
0x00007FF60A2D283E (Unity) Application::TickTimer
0x00007FF60AAD4B34 (Unity) MainMessageLoop
0x00007FF60AADDECE (Unity) WinMain
0x00007FF60C7A98F6 (Unity) __scrt_common_main_seh
0x00007FF95A2F7034 (KERNEL32) BaseThreadInitThunk
0x00007FF95AE9CEC1 (ntdll) RtlUserThreadStart

========== END OF STACKTRACE ===========

Seriously. 3 mins later

========== OUTPUTTING STACK TRACE ==================

0x000002419CE94C88 (Mono JIT Code) [C:\Program Files\Unity\Hub\Editor\2020.1.10f1\Editor\Data\Resources\PackageManager\BuiltInPackages\com.unity.ugui\Runtime\UI\Core\Graphic.cs:852] UnityEngine.UI.Graphic:OnValidate ()
0x000002419CE94C03 (Mono JIT Code) [C:\Program Files\Unity\Hub\Editor\2020.1.10f1\Editor\Data\Resources\PackageManager\BuiltInPackages\com.unity.ugui\Runtime\UI\Core\MaskableGraphic.cs:187] UnityEngine.UI.MaskableGraphic:OnValidate ()
0x000002419CE94AF3 (Mono JIT Code) [C:\Program Files\Unity\Hub\Editor\2020.1.10f1\Editor\Data\Resources\PackageManager\BuiltInPackages\com.unity.ugui\Runtime\UI\Core\Image.cs:1881] UnityEngine.UI.Image:OnValidate ()
0x00000242514293A0 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
0x00007FF8EC86D8C0 (mono-2.0-bdwgc) [c:\build\output\unity-technologies\mono\mono\mini\mini-runtime.c:2809] mono_jit_runtime_invoke
0x00007FF8EC7F2912 (mono-2.0-bdwgc) [c:\build\output\unity-technologies\mono\mono\metadata\object.c:2921] do_runtime_invoke
0x00007FF8EC7FB96F (mono-2.0-bdwgc) [c:\build\output\unity-technologies\mono\mono\metadata\object.c:2968] mono_runtime_invoke
0x00007FF6096D3ED4 (Unity) scripting_method_invoke
0x00007FF6096CD9FB (Unity) ScriptingInvocation::Invoke
0x00007FF6096CDCBE (Unity) ScriptingInvocation::InvokeChecked
0x00007FF60973D223 (Unity) SerializableManagedRef::CallMethod
0x00007FF609696EF0 (Unity) MonoBehaviour::CheckConsistency
0x00007FF609695914 (Unity) MonoBehaviour::AwakeAfterRestoreFromBackup
0x00007FF60973CC72 (Unity) SerializableManagedRefsUtilities::AwakeInstancesAfterBackupRestoration
0x00007FF6096985BD (Unity) MonoManager::EndReloadAssembly
0x00007FF60969EC29 (Unity) MonoManager::ReloadAssembly
0x00007FF60A839343 (Unity) ReloadAllUsedAssemblies
0x00007FF60A2D18DC (Unity) Application::TickTimer
0x00007FF60AAD4B34 (Unity) MainMessageLoop
0x00007FF60AADDECE (Unity) WinMain
0x00007FF60C7A98F6 (Unity) __scrt_common_main_seh
0x00007FF95A2F7034 (KERNEL32) BaseThreadInitThunk
0x00007FF95AE9CEC1 (ntdll) RtlUserThreadStart

========== END OF STACKTRACE ===========
========== OUTPUTTING STACK TRACE ==================

0x00007FF6096F8D70 (Unity) TransferField_NonArray<RemapPPtrTransfer,Converter_UnityEngineObject>
0x00007FF60971E962 (Unity) Transfer_UnityEngineObject<RemapPPtrTransfer,0>
0x00007FF608157FCB (Unity) ExecuteSerializationCommands<ConfigSettingsRead>
0x00007FF609223EA6 (Unity) TransferScriptingObject<RemapPPtrTransfer,0>
0x00007FF609221FCA (Unity) SerializableManagedRefTransfer::Transfer<SerializableManagedRefBackupGenerator>
0x00007FF60A4204F1 (Unity) CollectSaveSceneDependencies::CollectWithRoots
0x00007FF60A41F5EC (Unity) CollectUsedSceneObjects
0x00007FF60A41EE19 (Unity) CollectAllSceneManagerAndObjectIDs
0x00007FF60A41D17F (Unity) CalculateAllLevelManagersAndUsedSceneObjects
0x00007FF60A43C896 (Unity) SaveScene
0x00007FF60A81C31F (Unity) EditorSceneManager::SerializeSceneIntoFile
0x00007FF60A80E9A1 (Unity) EditorSceneManager::BackupScenesFromSceneManager
0x00007FF60A2BC5B1 (Unity) PlayerLoopController::EnterPlayMode
0x00007FF60A2CF2F9 (Unity) PlayerLoopController::SetIsPlaying
0x00007FF60A2D283E (Unity) Application::TickTimer
0x00007FF60AAD4B34 (Unity) MainMessageLoop
0x00007FF60AADDECE (Unity) WinMain
0x00007FF60C7A98F6 (Unity) __scrt_common_main_seh
0x00007FF95A2F7034 (KERNEL32) BaseThreadInitThunk
0x00007FF95AE9CEC1 (ntdll) RtlUserThreadStart

========== END OF STACKTRACE ===========

Looks like there’s SerializedReference handling in all of those.

I’d suggest creating a bug report and getting a conversation going with QA. We had daily crashing like this back in 2016, and it took sending the project to QA and some aggressive project stripping to figure out what the hell was going on.

It ends up being worthwhile to spend a lot of time on fixing it. When the editor crashes that much, you don’t get anything done just out of pure frustration and lack of motivation.

This is why I stay the hell away from any new Unity features which involve assets or serialization for at least three years worth of releases.

The number of potential unforeseen situations in the wild is far beyond Unity’s internal synthetic test processes capabilities, and when those features break they can break entire projects.

This is yet another case for why Unity should have internal teams making high complexity games. Someone inside Unity’s office with full access to the Unity source can plug a debugger into the crash and call an engineer to look at it right away, instead of struggling to appease the QA gatekeepers.

Hi,

What @Baste said is on point. If you’re affected by crashes like these and it’s at all possible, please reach out via a bug report so we can work with you on reproducing/identifying the issue.

We currently have one lead which we’re investigating that could be related to the crashes you’re experiencing, but it’s very hard to reproduce and there’s no guaranteed way of telling whether it’s the same problem you’re encountering.

Looks like SerializedReference indeed.

This stack trace is different but SerializableManagedRef is in it like some of the others.

The interesting thing is that Unity wasn’t even in focus, I was just typing in Rider…
And I wasn’t working on code that use SerializedReference (but we use it in our codebase)

0x00007ff79cc298fb (Unity) LinearCollectionField::LinearCollectionField
0x00007ff79cc018ef (Unity) TransferField_LinearCollection<ReportScriptingObjectsTransfer>
0x00007ff79b46c3d6 (Unity) ExecuteSerializationCommands<ConfigSettingsRead>
0x00007ff79cc27882 (Unity) Transfer_ManagedObject<StreamedBinaryWrite,0>
0x00007ff79b46c3d6 (Unity) ExecuteSerializationCommands<ConfigSettingsRead>
0x00007ff79cc27882 (Unity) Transfer_ManagedObject<StreamedBinaryWrite,0>
0x00007ff79b46c3d6 (Unity) ExecuteSerializationCommands<ConfigSettingsRead>
0x00007ff79c6d0511 (Unity) TransferScriptingObject<StreamedBinaryWrite,1>
0x00007ff79c6e2251 (Unity) SerializableManagedRefBackupGenerator::ExtractBackupFromInstance
0x00007ff79cb8feee (Unity) MonoBehaviour::BackupAndDeflateManagedReferences
0x00007ff79cc4a47f (Unity) SerializableManagedRefsUtilities::BackupAndDeflateAll
0x00007ff79cb90398 (Unity) MonoManager::BeginReloadAssembly
0x00007ff79cb99535 (Unity) MonoManager::ReloadAssembly
0x00007ff79df32361 (Unity) ReloadAllUsedAssemblies
0x00007ff79d8cec68 (Unity) Application::TickTimer
0x00007ff79e22821f (Unity) MainMessageLoop
0x00007ff79e22c181 (Unity) WinMain
0x00007ff7a00511b6 (Unity) __scrt_common_main_seh
0x00007ffb76ba7c24 (KERNEL32) BaseThreadInitThunk
0x00007ffb773acea1 (ntdll) RtlUserThreadStart

Even if Unity is not in focus, if you are editing scripts on the side it will re-compile them and reload the assemblies, which also triggers re-loading objects currently referenced in the editor.

[quote=“Baste, post:30, topic: 814830, username:Baste”]
Looks like there’s SerializedReference handling in all of those.
[/quote] Commented out SerializeField and also crashed:

========== OUTPUTTING STACK TRACE ==================

0x00007FF6298C1988 (Unity) TransferField_LinearCollection<ReportScriptingObjectsTransfer>
0x00007FF62812C3D6 (Unity) ExecuteSerializationCommands<ConfigSettingsRead>
0x00007FF6298E7882 (Unity) Transfer_ManagedObject<StreamedBinaryWrite,0>
0x00007FF62812C3D6 (Unity) ExecuteSerializationCommands<ConfigSettingsRead>
0x00007FF6298E7882 (Unity) Transfer_ManagedObject<StreamedBinaryWrite,0>
0x00007FF62812C3D6 (Unity) ExecuteSerializationCommands<ConfigSettingsRead>
0x00007FF629390511 (Unity) TransferScriptingObject<StreamedBinaryWrite,1>
0x00007FF6293A2251 (Unity) SerializableManagedRefBackupGenerator::ExtractBackupFromInstance
0x00007FF62984FEEE (Unity) MonoBehaviour::BackupAndDeflateManagedReferences
0x00007FF62990A47F (Unity) SerializableManagedRefsUtilities::BackupAndDeflateAll
0x00007FF629850398 (Unity) MonoManager::BeginReloadAssembly
0x00007FF629859535 (Unity) MonoManager::ReloadAssembly
0x00007FF62ABF2361 (Unity) ReloadAllUsedAssemblies
0x00007FF62B04998D (Unity) ImportAndPostprocessOutOfDateAssets
0x00007FF62B053E6E (Unity) RefreshInternalV2
0x00007FF62B05A836 (Unity) StopAssetImportingV2
0x00007FF62B054DD9 (Unity) RefreshV2
0x00007FF62AFC0E4E (Unity) AssetDatabase::Refresh
0x00007FF62A573BAF (Unity) Application::AutoRefresh
0x00007FF62AF156FA (Unity) ContainerWindow::ContainerWndProc
0x00007FFA67775C1D (USER32) CallWindowProcW
0x00007FFA677757EC (USER32) DispatchMessageW
0x00007FFA67781F83 (USER32) IsWindowVisible
0x00007FFA685DFE34 (ntdll) KiUserCallbackDispatcher
0x00007FFA659310C4 (win32u) NtUserPeekMessage
0x00007FFA677794F2 (USER32) PeekMessageW
0x00007FFA67779AE9 (USER32) PeekMessageA
0x00007FF62AEE7E30 (Unity) MainMessageLoop
0x00007FF62AEEC181 (Unity) WinMain
0x00007FF62CD111B6 (Unity) __scrt_common_main_seh
0x00007FFA683C7C24 (KERNEL32) BaseThreadInitThunk
0x00007FFA685ACEA1 (ntdll) RtlUserThreadStart

========== END OF STACKTRACE ===========

Tried that again but didn’t manage to reproduce it.

Yes, everything is indicating it’s a SerializeReference issue.
It is very hard to reproduce, I have tried and failed. Might happen once every 8 hours, might happen 3 times in 10 minutes.

But always from some re-compile, asset refresh, enter play mode or exit play mode scenario.

1 Like

Another one today

========== OUTPUTTING STACK TRACE ==================

0x00007FF6F92AB0B0 (Unity) memcpy
0x00007FF6F61DA2CC (Unity) TransferField_NonArray<StreamedBinaryWrite,Converter_SimpleNativeClass<AnimationCurveTpl<float> > >
0x00007FF6F61FE2BB (Unity) Transfer_SimpleNativeClass<StreamedBinaryWrite,AnimationCurveTpl<float>,0>
0x00007FF6F4C37FCB (Unity) ExecuteSerializationCommands<ConfigSettingsRead>
0x00007FF6F5D0495C (Unity) TransferScriptingObject<StreamedBinaryWrite,1>
0x00007FF6F5D1688D (Unity) SerializableManagedRefBackupGenerator::ExtractBackupFromInstance
0x00007FF6F6175CE8 (Unity) MonoBehaviour::BackupAndDeflateManagedReferences
0x00007FF6F621CED3 (Unity) SerializableManagedRefsUtilities::BackupAndDeflateAll
0x00007FF6F61762B2 (Unity) MonoManager::BeginReloadAssembly
0x00007FF6F617EB35 (Unity) MonoManager::ReloadAssembly
0x00007FF6F7319343 (Unity) ReloadAllUsedAssemblies
0x00007FF6F76E5057 (Unity) ImportAndPostprocessOutOfDateAssets
0x00007FF6F76EC6BC (Unity) RefreshInternalV2
0x00007FF6F76F007B (Unity) StopAssetImportingV2
0x00007FF6F76ED584 (Unity) RefreshV2
0x00007FF6F7655274 (Unity) AssetDatabase::Refresh
0x00007FF6F6D98E8F (Unity) Application::AutoRefresh
0x00007FF6F75AABC2 (Unity) ContainerWindow::ContainerWndProc
0x00007FFD0F68E6D8 (USER32) CallWindowProcW
0x00007FFD0F68E25C (USER32) DispatchMessageW
0x00007FFD0F6A0A43 (USER32) SendMessageTimeoutW
0x00007FFD1116FBC4 (ntdll) KiUserCallbackDispatcher
0x00007FFD0EF71064 (win32u) NtUserPeekMessage
0x00007FFD0F68A443 (USER32) PeekMessageW
0x00007FFD0F689950 (USER32) PeekMessageA
0x00007FF6F75B4A8A (Unity) MainMessageLoop
0x00007FF6F75BDECE (Unity) WinMain
0x00007FF6F92898F6 (Unity) __scrt_common_main_seh
0x00007FFD0F8D7034 (KERNEL32) BaseThreadInitThunk
0x00007FFD1111CEC1 (ntdll) RtlUserThreadStart

========== END OF STACKTRACE ===========

For what it’s worth. Here’s a screengrab of the crash.dmp opened in Visual Studio:

“The thread tried to read from or write to a virtual address for which it does not have the appropriate access.”


Did you submit all those crash.dmp’s you collected so far? That’s most likely more helpful for Unity devs than the callstack/screenshot here.

No, not sure I can do that with the project being under strict NDA.
Unless I can just submit the crash.dmp’s in bulk without a project attached?

You can attach them to an email that you send in response to whatever bug report you have created.

1 Like