Start a new topic
Answered

Editor Crash When Upgrading to Version 0.23

Hello

We are currently using version 0.23 in our project

However, if you upgrade the version to 0.23 or higher and enter the hand-tracking scene, there will be an editor crash

No problem with build, editor crash only when entering hand tracking scene from editor


XROrigin not found, cannot add the ARRaycastManager automatically. Cannot ray cast against AR environment trackables.

UnityEngine.StackTraceUtility:ExtractStackTrace ()

UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])

UnityEngine.Logger:Log (UnityEngine.LogType,object,UnityEngine.Object)

UnityEngine.Debug:LogWarning (object,UnityEngine.Object)

UnityEngine.XR.Interaction.Toolkit.XRRayInteractor:FindCreateARRaycastManager () (at Library/PackageCache/com.unity.xr.interaction.toolkit@2.5.1/Runtime/Interaction/Interactors/XRRayInteractor.cs:2580)

UnityEngine.XR.Interaction.Toolkit.XRRayInteractor:Awake () (at Library/PackageCache/com.unity.xr.interaction.toolkit@2.5.1/Runtime/Interaction/Interactors/XRRayInteractor.cs:930)

 


(Filename: Library/PackageCache/com.unity.xr.interaction.toolkit@2.5.1/Runtime/Interaction/Interactors/XRRayInteractor.cs Line: 2580)

Loaded scene 'Temp/__Backupscenes/0.backup'

 Deserialize: 23.732 ms

 Integration: 193.163 ms

 Integration of assets: 0.011 ms

 Thread Wait Time: -0.001 ms

 Total Operation Time: 216.904 ms

[Subsystems] OpenXR XR Plugin successfully registered Provider for OpenXR Display

[Subsystems] OpenXR XR Plugin successfully registered Provider for OpenXR Input

[Subsystems] OpenXR XR Plugin successfully registered Provider for OpenXR Display

=================================================================

 Native Crash Reporting

=================================================================

Got a UNKNOWN while executing native code. This usually indicates

a fatal error in the mono runtime or one of the native libraries

used by your application.

=================================================================

=================================================================

 Managed Stacktrace:

=================================================================

   at <unknown> <0xffffffff>

   at UnityEngine.XR.OpenXR.Features.OpenXRFeature:Internal_GetEnvironmentBlendMode <0x000cd>

   at UnityEngine.XR.OpenXR.Features.OpenXRFeature:GetEnvironmentBlendMode <0x0006a>

   at Qualcomm.Snapdragon.Spaces.BaseRuntimeFeature:GetPassthroughEnabled <0x00082>

   at QCHT.Interactions.Core.XRPassthroughUtility:GetPassthroughEnabled <0x0017a>

   at QCHT.Samples.Menu.PassthroughActivator:Start <0x000aa>

   at System.Object:runtime_invoke_void__this__ <0x00187>

=================================================================

Received signal SIGSEGV

Obtained 28 stack frames

0x000001a75659fe7e (Mono JIT Code) (wrapper managed-to-native) UnityEngine.XR.OpenXR.Features.OpenXRFeature:Internal_GetEnvironmentBlendMode ()

0x000001a75659defb (Mono JIT Code) [OpenXRFeature.cs:322] UnityEngine.XR.OpenXR.Features.OpenXRFeature:GetEnvironmentBlendMode ()

0x000001a75659dca3 (Mono JIT Code) [BaseRuntimeFeature.InterceptEnvironmentBlendMode.cs:45] Qualcomm.Snapdragon.Spaces.BaseRuntimeFeature:GetPassthroughEnabled ()

0x000001a75659cdfb (Mono JIT Code) [XRPassthroughUtility.cs:71] QCHT.Interactions.Core.XRPassthroughUtility:GetPassthroughEnabled ()

0x000001a75659cb7b (Mono JIT Code) [PassthroughActivator.cs:37] QCHT.Samples.Menu.PassthroughActivator:Start ()

0x000001a756b63118 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)

0x00007ffeeb4365ee (mono-2.0-bdwgc) [mini-runtime.c:3445] mono_jit_runtime_invoke

0x00007ffeeb36cd74 (mono-2.0-bdwgc) [object.c:3066] do_runtime_invoke

0x00007ffeeb36ceec (mono-2.0-bdwgc) [object.c:3113] mono_runtime_invoke

0x00007ff69769fe14 (Unity) scripting_method_invoke

0x00007ff69767f754 (Unity) ScriptingInvocation::Invoke

0x00007ff69766f1ee (Unity) MonoBehaviour::InvokeMethodOrCoroutineChecked

0x00007ff69766f2f6 (Unity) MonoBehaviour::InvokeMethodOrCoroutineChecked

0x00007ff697669822 (Unity) MonoBehaviour::DelayedStartCall

0x00007ff697156a24 (Unity) DelayedCallManager::Update

0x00007ff69736bb99 (Unity) `InitPlayerLoopCallbacks'::`2'::EarlyUpdateScriptRunDelayedStartupFrameRegistrator::Forward

0x00007ff6973521fa (Unity) ExecutePlayerLoop

0x00007ff697352386 (Unity) ExecutePlayerLoop

0x00007ff697358a39 (Unity) PlayerLoop

0x00007ff6982d2a19 (Unity) PlayerLoopController::UpdateScene

0x00007ff6982bde00 (Unity) PlayerLoopController::EnterPlayMode

0x00007ff6982cdc27 (Unity) PlayerLoopController::SetIsPlaying

0x00007ff6982d0efb (Unity) Application::TickTimer

0x00007ff69870e4ca (Unity) MainMessageLoop

0x00007ff698712d5b (Unity) WinMain

0x00007ff699af2c9e (Unity) __scrt_common_main_seh

0x00007fff8c837344 (KERNEL32) BaseThreadInitThunk

0x00007fff8d4826b1 (ntdll) RtlUserThreadStart



    "com.qualcomm.qcht.unity.interactions": "file:com.qualcomm.qcht.unity.interactions-4.1.7.tgz",

    "com.qualcomm.snapdragon.spaces": "file:com.qualcomm.snapdragon.spaces-0.23.0.tgz",


 

 

 


Best Answer

Thanks for the log and report. I managed to reproduce the issue reliably now. We are working to fix this in a future version of Snapdragon Spaces. 

You can change the sample controller and before calling  XRPassthroughUtility.GetPassthroughEnabled() check if the feature is available. You can refer to the sample code in the Main Menu Sample Controller on how to check. 


            if (!OpenXRSettings.Instance.GetFeature<BaseRuntimeFeature>().IsPassthroughSupported())
            {
                return;
            }



Hi, 


Could you please provide some more information:

  • What device are you using?
  • What perception features are enabled in the project settings (Particularly - are you using the new Dual Render Fusion)
  • What version of the Snapdragon Spaces Services is installed on the device?
  • Can you provide a full log? It must include the Unity OpenXR diagnostic logs on application startup and if possible shutdown as well.

Since you are trying to enable passthrough, I'm assuming it may be ThinkReality VRX. The 0.23.0 SDK is not yet supported on that device because of forward compatibility issues between Snapdragon Spaces Services and SDK plugin. VRX at this time supports the 0.19.1.1 SDK. Please check the documentation on this topic if relevant for you:  Forward and Backward Compatibility | Snapdragon Spaces™ Unity and Unreal SDKs



It's not an error on the device, but a crash on the Unity editor

Sorry! I read over that part and jumped right to the log. Could you please try deleting your Library folder then re-opening the project? 

I just checked out the Samples on my own PC and they are running well. I'm assuming this may be a cache remnant from upgrading your project. 

Since it's the QCHT samples please make sure to enable Hand Tracking simulation in the Project Settings 

In the case of editor crash

The same issue arises even if it is created by an empty project

I don't know if it's just us, or if it's the other people

I want to know the solution

I could not reproduce this with an empty project on my PC. It may be a Unity or PC environment issue that's unique to your device. 

Have you tried with other PC's or Mac's?

I've never used a Mac, but I've tried it on multiple PCs, but it's the same editor crash

Editor crashes only when entering the hand-tracking scene in version 0.23

Could you please send me the crash log files for the Unity Editor? Here's where you can find them:  Unity - Manual: Log files (unity3d.com)  

Please include the Editor.log and crash logs. 



Do you need more logs other than the one written in the first writing?

Yes Unity's complete logs may allow me a more complete look into the crash.

As of now I can not reproduce this crash on my machine. I even built an editor script that triggers the method in your callstack that crashed the editor directly. 


using UnityEngine;
using QCHT.Interactions.Core;


#if UNITY_EDITOR
using UnityEditor;
    #endif

public class PassthroughCrashTest : MonoBehaviour
{
    private void Start()
    {
        Debug.Log("Running GetPassthroughEnabled test Start");
        Debug.Log(XRPassthroughUtility.GetPassthroughEnabled());
    }
}

#if UNITY_EDITOR

[CustomEditor(typeof(PassthroughCrashTest))]
public class PassthrougCrashTestEditor : Editor
{
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        if(GUILayout.Button("Run GetPassthroughEnabled test"))
        {
            Debug.Log("Running GetPassthroughEnabled test inspector");
            Debug.Log(XRPassthroughUtility.GetPassthroughEnabled());
        }
    }
}

#endif



Feel free to give that a try and see if your editor crashes when using this script.

I see

It's a log related to a crash in version 0.23

log
(47.1 KB)
Answer

Thanks for the log and report. I managed to reproduce the issue reliably now. We are working to fix this in a future version of Snapdragon Spaces. 

You can change the sample controller and before calling  XRPassthroughUtility.GetPassthroughEnabled() check if the feature is available. You can refer to the sample code in the Main Menu Sample Controller on how to check. 


            if (!OpenXRSettings.Instance.GetFeature<BaseRuntimeFeature>().IsPassthroughSupported())
            {
                return;
            }


Then, can I know when the next revised version will come out?

I can't give you a fixed date as the release is subject to potential changes, but the next public version of the Snapdragon Spaces SDK is scheduled for the end of June. 

Login to post a comment