HybridRenderer 0.11 V2 crashes player but works in play mode

Resolved:

When using HybridRenderer 0.11.0-preview.42 V2, use a build configuration asset instead of using File → Build Settings → Build.

6774233--783584--not-this.png

Original post:

On Windows,

Steps to reproduce:

  1. Create a new 2020.2.2f1 HDRP project.

  2. Add the following lines to manifest.json:

"com.unity.platforms.windows": "0.10.0-preview.10",```

3. Add ```ENABLE_HYBRID_RENDERER_V2``` to scripting define symbols.

4. Build, run, and observe crash.

![6774233--783335--upload_2021-1-28_2-29-26.png|390x241](upload://cq3ujnzGvUnScmso8TSHg50JwFT.png)

**Why 2020.2:**

Using lightmaps with the HybridRenderer requires HybridRenderer 0.11.0 V2 ( [reference](https://docs.unity3d.com/Packages/com.unity.rendering.hybrid@0.11/changelog/CHANGELOG.html)), which requires at least HDRP 10.1.0 ([reference](https://docs.unity3d.com/Packages/com.unity.rendering.hybrid@0.11/changelog/CHANGELOG.html)), which requires Unity 2020.2 ([reference](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@10.1/manual/System-Requirements.html)). (The DOTS 0.17 target is 2020.1.9f1 ([reference](https://discussions.unity.com/t/825739) ))

**Why "Help Wanted":**

Maybe this is a user error. Maybe my setup is wrong. Please let me know if I should create a bug report or change the tag to "Bug".

**Why "com.unity.platforms.windows":**

I included this so that it wouldn't be a question later. However, I've been successfully building with DOTS (without the hybrid renderer) without com.unity.platforms.windows on 2020.2.0f1. I haven't tried building with DOTS without the hybrid renderer on 2020.2.2f1.

I just went through from scratch and setup a default project with hybrid renderering and made a build and it loaded fine.

I didn’t setup anything to render with HRv2 because your post seemed to suggest just having HRv2 caused issues.

I’ve attached my project.

6774344–783371–Hybrid.7z (17.8 KB)

1 Like

The things I did

Unity
2020.2.2f1

Packages i added were
“com.unity.platforms.windows”: “0.10.0-preview.10”,
“com.unity.render-pipelines.high-definition”: “10.2.2”,
“com.unity.rendering.hybrid”: “0.11.0-preview.42”,

I set ENABLE_HYBRID_RENDERER_V2
I switched to window x64_86
I setup HDRP using default wizard

My build config looks like this

1 Like

Hi,

Do you have a callstack for the crash?

Hello, yes, it’s below. Also, I’ve attached crash.dmp to this reply.

Stack Trace of Crashed Thread 23780:
0x79128DC0 (GameAssembly) [C:\Google Drive\Unity\Projects\minimal-dots\Library\Il2cppBuildCache\Windows\x86\il2cppOutput\Unity.Scenes.cpp:32680] ResourceCatalogData_GetGUIDFromPath_m1DFC599FF027918D5B17B7ACE8367724DD250B7D
0x7912D5A4 (GameAssembly) [C:\Google Drive\Unity\Projects\minimal-dots\Library\Il2cppBuildCache\Windows\x86\il2cppOutput\Unity.Scenes.cpp:37615] SceneSystem_GetSceneGUID_m3E6EA7E734CC2412113CE37B99AAEB8231716FEC
0x7911DB33 (GameAssembly) [C:\Google Drive\Unity\Projects\minimal-dots\Library\Il2cppBuildCache\Windows\x86\il2cppOutput\Unity.Scenes.cpp:23329] GameObjectSceneUtility_AddGameObjectSceneReferences_mCA24ACDDBE1FB3CE50403880BFA3FC7D85564C27
0x791EE693 (GameAssembly) [C:\Google Drive\Unity\Projects\minimal-dots\Library\Il2cppBuildCache\Windows\x86\il2cppOutput\Unity.Entities.Hybrid.cpp:19513] AutomaticWorldBootstrap_Initialize_m4F061B0E0169BE83532543C686DD702FA0930EF3
0x78CA689F (GameAssembly) [C:\Program Files\Unity\Hub\Editor\2020.2.2f1\Editor\Data\il2cpp\libil2cpp\vm\Runtime.cpp:568] il2cpp::vm::Runtime::Invoke
0x78C6EA56 (GameAssembly) [C:\Program Files\Unity\Hub\Editor\2020.2.2f1\Editor\Data\il2cpp\libil2cpp\il2cpp-api.cpp:1117] il2cpp_runtime_invoke
0x51B27807 (UnityPlayer) UnityMain
0x51B36AB6 (UnityPlayer) UnityMain
0x51A2D28D (UnityPlayer) UnityMain
0x51A2E6FA (UnityPlayer) UnityMain
0x51A431C5 (UnityPlayer) UnityMain
0x51A4279E (UnityPlayer) UnityMain
0x51A42D85 (UnityPlayer) UnityMain
0x51A44D30 (UnityPlayer) UnityMain
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 5185AF29)
0x5185AF29 (UnityPlayer) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 51859CB5)
0x51859CB5 (UnityPlayer) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 5185D957)
0x5185D957 (UnityPlayer) (function-name not available)
0x5185E555 (UnityPlayer) UnityMain
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00EF1015)
0x00EF1015 (minimal-dots) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00EF11D9)
0x00EF11D9 (minimal-dots) (function-name not available)
0x766AFA29 (KERNEL32) BaseThreadInitThunk
0x776975F4 (ntdll) RtlGetAppContainerNamedObjectPath
0x776975C4 (ntdll) RtlGetAppContainerNamedObjectPath

EDIT: Removed crash.dmp.zip now that there’s a solution.

Thanks.

We have a bug logged on this already. A possible workaround is to disable IL2CPP.

2 Likes

Is that Case 1308787?

It’s not but it might as well be a duplicate (although for a different platform). https://issuetracker.unity3d.com/issues/hybridrender-plus-il2cpp-crashes-when-running-x86-build-on-a-x64-system is the bug in question.

EDIT: I see now it might not be the same after all. Since GameDeveloper1111 seems to be running 64bit. A bug report on this might be useful if you can provide it. It makes it easier for us to track things

1 Like

I was able to build and run without a crash using tertle’s 64bit project. I’ll poke at this some more with the 64bit-vs-32bit distinction in mind and will submit a bug report if the bug persists. I’ll post here either way.

tertle’s post:

Resolved:

I was able to build and run the “minimal-dots” project mentioned in the original post with the following changes (provided by tertle):

  1. Switch to Windows x86_64
  2. Use a build configuration asset (don’t use File → Build settings → Build) (tertle provided an example in the quote below)

This also worked for my original, larger project. I’ll include the solution in the original post.

Using a build config was the change I needed in my project. During my attempt to create a minimal project I decided to keep as many defaults as possible, including the default Build Settings architecture, which added to the original problem.

Thank you @tertle
Thank you @joelv
Thank you @optimise

1 Like