ValveSoftware / unity-xr-plugin

OpenVR plugin for Unity's XR API
BSD 3-Clause "New" or "Revised" License
303 stars 64 forks source link

Editor crash when using terrain with XR plugin and multi pass rendering #38

Open montoulieu opened 3 years ago

montoulieu commented 3 years ago

Hello, I've been running into an issue with terrain in Unity 2020.1.1, 2020.1.2 and 2020.1.3 that appears to be stemming from unity-xr-plugin.

The editor consistently crashes when the xr provider is enabled and when a terrain object is active in the scene with a Steam VR Camera rig.

This can be reproduced by creating a new scene, adding a blank terrain with a steam vr camera rig and having the XR plugin enabled with multi pass rendering mode.

I've added a part of the editor crash log that I believe may be relevant.

``` [XR] [OpenVR] Loaded settings: Editor App Name : [Testing] Steam XR Lighting Test [XR] Editor App Key : application.generated.unity.steamxrlightingtest.exe [XR] Action Manifest Path : StreamingAssets\SteamVR\actions.json [XR] Stereo Rendering Mode : Multi Pass [XR] Initialization Type : Scene [XR] Mirror View Mode : Right Eye [Subsystems] Loading plugin XRSDKOpenVR for subsystem OpenVR Display... [XR] [OpenVR] static Initialize: application.generated.unity.steamxrlightingtest.exe [XR] [OpenVR] Starting Initialize [XR] [OpenVR] startupInfo: { "app_key": "application.generated.unity.steamxrlightingtest.exe", "app_name": "[Testing] Steam XR Lighting Test", "action_manifest_path": "C:/Users/Pieter/Documents/Unity 3D/Steam XR Lighting Test/Assets/StreamingAssets/SteamVR/actions.json" } [XR] [OpenVR] is initialized [Subsystems] Loading plugin XRSDKOpenVR for subsystem OpenVR Input... [XR] XR OpenVR Display Start [XR] [OpenVR] Set active mirror mode (-2) [SteamVR] Initialized. Connected to lighthouse:LHR-90AED6B5 UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object) UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[]) UnityEngine.Logger:Log(LogType, Object) UnityEngine.Debug:Log(Object) Valve.VR.SteamVR:.ctor() (at Assets\SteamVR\Scripts\SteamVR.cs:667) Valve.VR.SteamVR:CreateInstance() (at Assets\SteamVR\Scripts\SteamVR.cs:220) Valve.VR.SteamVR:Initialize(Boolean) (at Assets\SteamVR\Scripts\SteamVR.cs:103) Valve.VR.SteamVR_Behaviour_Pose:OnEnable() (at Assets\SteamVR\Input\SteamVR_Behaviour_Pose.cs:88) (Filename: Assets/SteamVR/Scripts/SteamVR.cs Line: 667) Loaded scene 'Temp/__Backupscenes/0.backup' Deserialize: 1.340 ms Integration: 2930.365 ms Integration of assets: 0.020 ms Thread Wait Time: 17.760 ms Total Operation Time: 2949.485 ms [XR] [OpenVR] Device connecting (status change). OpenVRIndex: 0. UnityID: 0 [XR] [OpenVR] Device connecting (status change). OpenVRIndex: 1. UnityID: 1 [XR] [OpenVR] Device connecting (status change). OpenVRIndex: 2. UnityID: 2 XRTextureManager::RequestCreateTexture XRTextureManager::RequestCreateTexture XRTextureManager::RequestCreateTexture XRTextureManager::RequestCreateTexture XRTextureManager::SetupRenderTextureFromXRRequest (id: 1 col: 0000000000000000 d: 0000000000000000) XRTextureManager::SetupRenderTextureFromXRRequest (id: 2 col: 0000000000000000 d: 0000000000000000) XRTextureManager::SetupRenderTextureFromXRRequest (id: 3 col: 0000000000000000 d: 0000000000000000) XRTextureManager::SetupRenderTextureFromXRRequest (id: 4 col: 0000000000000000 d: 0000000000000000) RenderTexture->Create RenderTexture->Create RenderTexture->Create RenderTexture->Create Stacktrace: at <0xffffffff> at (wrapper managed-to-native) UnityEditor.EditorGUIUtility.RenderPlayModeViewCamerasInternal_Injected (UnityEngine.RenderTexture,int,UnityEngine.Vector2&,bool,bool) [0x0000c] in <701f6580abad44cfb237a543dcd0d94b>:0 at UnityEditor.EditorGUIUtility.RenderPlayModeViewCamerasInternal (UnityEngine.RenderTexture,int,UnityEngine.Vector2,bool,bool) [0x00007] in <701f6580abad44cfb237a543dcd0d94b>:0 at UnityEditor.PlayModeView.RenderView (UnityEngine.Vector2,bool) [0x000ea] in <701f6580abad44cfb237a543dcd0d94b>:0 at UnityEditor.GameView.OnGUI () [0x002ee] in <701f6580abad44cfb237a543dcd0d94b>:0 at UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect,UnityEngine.Rect) [0x00066] in <701f6580abad44cfb237a543dcd0d94b>:0 at UnityEditor.DockArea.DrawView (UnityEngine.Rect,UnityEngine.Rect) [0x00004] in <701f6580abad44cfb237a543dcd0d94b>:0 at UnityEditor.DockArea.OldOnGUI () [0x001a5] in <701f6580abad44cfb237a543dcd0d94b>:0 at UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event,UnityEngine.Matrix4x4,UnityEngine.Rect,bool,UnityEngine.Rect,System.Action,bool) [0x001d6] in <9c9fa79efe9e479a8cbe7a6f99f673d3>:0 at UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event,UnityEngine.Matrix4x4,UnityEngine.Rect,System.Action,bool) [0x000c8] in <9c9fa79efe9e479a8cbe7a6f99f673d3>:0 at UnityEngine.UIElements.IMGUIContainer.DoIMGUIRepaint () [0x0005a] in <9c9fa79efe9e479a8cbe7a6f99f673d3>:0 at UnityEngine.UIElements.UIR.RenderChainCommand.ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams,single,System.Exception&) [0x000bd] in <9c9fa79efe9e479a8cbe7a6f99f673d3>:0 at UnityEngine.UIElements.UIR.UIRenderDevice.EvaluateChain (UnityEngine.UIElements.UIR.RenderChainCommand,UnityEngine.Material,UnityEngine.Material,UnityEngine.Texture,UnityEngine.Texture,UnityEngine.Texture,single,Unity.Collections.NativeSlice`1,Unity.Collections.NativeSlice`1,UnityEngine.MaterialPropertyBlock,bool,System.Exception&) [0x00536] in <9c9fa79efe9e479a8cbe7a6f99f673d3>:0 at UnityEngine.UIElements.UIR.RenderChain.Render () [0x0011f] in <9c9fa79efe9e479a8cbe7a6f99f673d3>:0 at UnityEngine.UIElements.UIRRepaintUpdater.Update () [0x0006c] in <9c9fa79efe9e479a8cbe7a6f99f673d3>:0 at UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase) [0x0001f] in <9c9fa79efe9e479a8cbe7a6f99f673d3>:0 at UnityEngine.UIElements.Panel.UpdateForRepaint () [0x0003c] in <9c9fa79efe9e479a8cbe7a6f99f673d3>:0 at UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event) [0x00099] in <9c9fa79efe9e479a8cbe7a6f99f673d3>:0 at UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel) [0x00029] in <9c9fa79efe9e479a8cbe7a6f99f673d3>:0 at UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (int,intptr,bool&) [0x0003f] in <9c9fa79efe9e479a8cbe7a6f99f673d3>:0 at UnityEngine.UIElements.UIEventRegistration.ProcessEvent (int,intptr) [0x0001f] in <9c9fa79efe9e479a8cbe7a6f99f673d3>:0 at UnityEngine.UIElements.UIEventRegistration/<>c.<.cctor>b__1_2 (int,intptr) [0x00003] in <9c9fa79efe9e479a8cbe7a6f99f673d3>:0 at UnityEngine.GUIUtility.ProcessEvent (int,intptr,bool&) [0x00018] in <2500dd078a544a69b6c923861af6cd15>:0 at (wrapper runtime-invoke) .runtime_invoke_void_int_intptr_intptr& (object,intptr,intptr,intptr) [0x0002d] in <2500dd078a544a69b6c923861af6cd15>:0 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= Crash!!! ```

Any help on this would be much appreciated, thanks!

zite commented 3 years ago

Looks like this is crashing in unity native code. Might have better luck filing a bug with unity

montoulieu commented 3 years ago

Right on, thanks for the clarification on that.