Search Issue Tracker

Duplicate

Fixed in 1.5.1

Votes

1

Found in [Package]

1.5.0

Issue ID

ISXB-405

Regression

Yes

[OpenXR] [HL2] HoloLens feature group introduces crash when hands detected

Package: Input System

-

Summary:  Multiple new editor releases seem to have a new crash related to the OpenXR Microsoft HoloLens feature group.

Note:  I first observed this crash in BasicSample (from OpenXR-Unity-MixedReality-Samples). The following reproduction steps use the blank 3D core project instead:
* Create a new Unity project via the Hub with 3D Core, 2022.2.6f1.
* Install the OpenXR Plugin via packman (1.6.0). "Yes" to the prompt to restart the editor.
* Project Settings > XR Plug-in Management > Select UWP, enable OpenXR.
* Open the Mixed Reality Feature Tool. Select Mixed Reality OpenXR Plugin, install.
* Return to Unity. In XR Plugin Management, *enable Microsoft HoloLens feature group.* (This appears to be the step that introduces the crash.)
* [Note:  You can add Microsoft Hand and Motion interaction profiles, but this does not appear to change the crash]
* File > Build Settings. Add open scene to build. Select UWP. Build, open .sln in VS 2022.
* Connect HL2 via USB. Deploy Debug, ARM64, to Device via USB. 
* Observe that the scene appears to load normally (Unity splash screen is present).
* Move either hand within view of the device: the program will crash (see attached for VS log).

Reproducible on {*}2022.2.6f1{*}, {*}2020.3.45f1{*}, and {*}2023.1.0b3{*}.  All three of these builds were released on Jan 31.  The second-most-recent of these builds (2022.2.5f1, 2020.3.44f1, and 2023.1.0b2 respectively) do not appear to have this crash.  You can also reproduce this crash in BasicSample by pulling the project, building for UWP with all scenes selected, and deploying to HL2 via VS.

 

Callstack from MS:

 

{{GameAssembly.dll!GC_clear_stack_inner(void * arg, char * limit) Line 309 C
GameAssembly.dll!GC_clear_stack_inner(void * arg, char * limit) Line 319 C
GameAssembly.dll!GC_clear_stack_inner(void * arg, char * limit) Line 319 C
GameAssembly.dll!GC_clear_stack_inner(void * arg, char * limit) Line 319 C
GameAssembly.dll!GC_clear_stack_inner(void * arg, char * limit) Line 319 C
GameAssembly.dll!GC_clear_stack_inner(void * arg, char * limit) Line 319 C
GameAssembly.dll!GC_clear_stack_inner(void * arg, char * limit) Line 319 C
GameAssembly.dll!GC_clear_stack_inner(void * arg, char * limit) Line 319 C
GameAssembly.dll!GC_clear_stack_inner(void * arg, char * limit) Line 319 C
GameAssembly.dll!GC_clear_stack_inner(void * arg, char * limit) Line 319 C
[Inline Frame] GameAssembly.dll!GC_clear_stack_inner(void *) Line 315 C
GameAssembly.dll!GC_clear_stack(void * arg) Line 368 C
[Inline Frame] GameAssembly.dll!GC_malloc_kind_global(unsigned __int64) Line 327 C
GameAssembly.dll!GC_malloc_kind(unsigned __int64 lb, int k) Line 333 C
[Inline Frame] GameAssembly.dll!il2cpp::vm::Object::AllocatePtrFree(unsigned __int64) Line 71 C++
GameAssembly.dll!il2cpp::vm::Array::NewSpecific(Il2CppClass * klass, unsigned __int64 n) Line 128 C++
GameAssembly.dll!Array_Resize_TisWordWrapState_tD71131CF008362DB9562FB9794AE9D9225D8F123_mC2C5CCD04965125A2DD09E3165052FA4E1A4F0AD_gshared(WordWrapStateU5BU5D_t4AA4AAC14B38359416C63A57A1ADDD9C2004EAC8 * * ___0_array, int ___1_newSize, const MethodInfo * method) Line 38583 C++
[Inline Frame] GameAssembly.dll!Array_Resize_TisControlBitRangeNode_t21274A438B0E0877F1495EC579EB1DAF81B1A6B0_m6D0521F0039770147C812C11E641EE9378CCACEB(ControlBitRangeNodeU5BU5D_t912A404149DE6D350D1735A026182C409C510F27 * *) Line 5063 C++
GameAssembly.dll!InputDeviceBuilder_AddChildren_m68BCACD6044476C1B97159E393AB5CE4353CD16A(InputDeviceBuilder_t7F4266EBB8FB0AC0DAE225F7FA1532B9AA9174BE * __this, ControlBitRangeNode_t21274A438B0E0877F1495EC579EB1DAF81B1A6B0 * ___0_parent, ControlBitRangeNode_t21274A438B0E0877F1495EC579EB1DAF81B1A6B0 ___1_left, ControlBitRangeNode_t21274A438B0E0877F1495EC579EB1DAF81B1A6B0 ___2_right, const MethodInfo * method) Line 11453 C++
GameAssembly.dll!InputDeviceBuilder_InsertControlBitRangeNode_mE370C7509CB5388630397B3AC30ED4440B621F66(InputDeviceBuilder_t7F4266EBB8FB0AC0DAE225F7FA1532B9AA9174BE * __this, ControlBitRangeNode_t21274A438B0E0877F1495EC579EB1DAF81B1A6B0 * ___0_parent, InputControl_t74F06B623518F992BF8E38656A5E0857169E3E2E * ___1_control, int * ___2_controlIndiciesNextFreeIndex, unsigned short ___3_startOffset, const MethodInfo * method) Line 10712 C++}}

  1. Resolution Note:

    This has been resolved in Input Package 1.5.1
    Duplicate of https://issuetracker.unity3d.com/product/unity/issues/guid/ISXB-405

  2. Resolution Note (fix version 1.5.1):

    Verified with Input System 1.5.1, crash no longer occurs. Input System 1.5.1 can be publicly be downloaded via manifest or Package Manager.

Comments (2)

  1. St3althPatchin

    Apr 19, 2023 20:19

    I'm experiencing this issue with my build as well. However, it seems that even when I download the new 1.5.1 it still doesn't fix the issue for my build!! I've produced an environment just the same as what the notes say, and when looking to download 1.5.1, I can still run my HoloLens program, however the hand issues still persist. It runs completely fine with my hands in my pockets. But when I have my hands in the play-space, it crashes. Not sure how to resolve : (

  2. DevinW

    Mar 22, 2023 16:37

    Looking forward to this being resolved, thank you

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.