[2022.3.9f1] SIGSEGV PrepareSceneNodesJobData::~PrepareSceneNodesJobData()

We recently upgraded our project from Unity v2020.3.47f1 to Unity v2022.3.9f1 and encountered many new crashes. Here is one of them.

We’ve also seen a very significant increase in crashes after upgrading our project to the 2022 LTS version, with some of the biggest offenders being related to a SIGSEGV error with PrepareSceneNodesJobData.

Crashed: Thread: SIGSEGV 0x00000073486e9048
#00 pc 0xa26a14 libunity.so (PrepareSceneNodesJobData::~PrepareSceneNodesJobData()) (BuildId: 5f8e950caa92b316)
#01 pc 0x548d24 libunity.so (ujob_wait_for(ujob_control_t*, ujob_handle_t, int)) (BuildId: 5f8e950caa92b316)

Look like Unity v2022.3.9f1 and v2022.3.10f1 is completely bugged comparing to 2020.3.4f1. We have a crash fest in Crashlytics!

Different devices. Different Android versions. Vulkan API only! (We will try to remove it from API list in next update)

Different devices. 90% on Android 11. Mostly Vulkan API, a few OpenGL ES 3.2.

or

Samsung and Xiaomi devices. Different Android versions. Vulkan and OpenGL ES.

Samsung devices only. Different Android versions. Vulkan and OpenGL ES.

Different devices. 87% on Android 11. Mostly Vulkan API, a few OpenGL ES 3.2.

More info for topic issue from Google Play Console:

Any updates?

nothing?

Have the same crashes.
Stacktrace:
Crashed: Thread: SIGSEGV 0x0000007722ef4fb8
#00 pc 0x7ed6a4 libunity.so (PrepareSceneNodesJobData::~PrepareSceneNodesJobData()) (BuildId: 58bc10cdefb0f73d)
#01 pc 0x3eed84 libunity.so (ujob_wait_for(ujob_control_t*, ujob_handle_t, int)) (BuildId: 58bc10cdefb0f73d)

Unity 2022.3.12

I believe it’s all related to this bug - Unity Issue Tracker - [Mobile] Player freezes on "UnityClassic::Baselib_SystemFutex_Wait" or silently crashes

I’m getting the same crash reports on google play after the same Unity version upgrade

Our user gets the silent crash as well.

Unity 2022.3.11f1
Device Lenovo/TB328FU/TB328FU
Android OS 12 / API-31

Thread 0 (crashed)
0 libunity.so 0x00000073853ececc PrepareSceneNodesJobData::~PrepareSceneNodesJobData()
1 libunity.so 0x0000007384f28350 ujob_wait_for(ujob_control_t*, ujob_handle_t, int)
2 libunity.so 0x0000007384f28094 ujob_wait_for(ujob_control_t*, ujob_handle_t, int)
3 libunity.so 0x0000007384f23bfc CompleteFenceInternal(JobFence&, WorkStealMode)
4 libunity.so 0x00000073853edb04 CullScene(CullResults&)
5 libunity.so 0x00000073853c6ab8 Camera::CustomCull(CameraCullingParameters const&, CullResults&, bool)
6 libunity.so 0x00000073853ddf58 RenderManager::RenderCameras(int, void (*)(), void (*)())
7 libunity.so 0x0000007384f40778 PlayerRender(bool)
8 libunity.so 0x0000007384f35f58 ExecutePlayerLoop(NativePlayerLoopSystem*)
9 libunity.so 0x0000007384f35f98 ExecutePlayerLoop(NativePlayerLoopSystem*)
10 libunity.so 0x0000007384f3622c PlayerLoop()
11 libunity.so 0x00000073850a36c0 UnityPlayerLoop()
12 libunity.so 0x00000073850bc040 nativeRender(_JNIEnv*, _jobject*)
13 base.odex 0x000000738980e314 <symbols missing for uuid: 0000000000000000000000000000000000000000>

Hope this gets addressed asap.

Can you please confirm if this issue is fixed in 2022.3.14f1?

Wasn’t fixed in 2022.3.14. I can see the crashes after updating the Unity.

We see significant improvements in version 2022.3.14f1. Crashes 1-5 with “ujob_wait_for” in the callstack no longer appear. However, the problem with render hangs from the topic above is still present.

In this [post]( Android build project freezes after 5 minutes with playerloop in profiler at 60,000 ms page-2#post-9367157) @MartinTilo mentions that this trace might not be related with UUM-41806.
However it might be with the Optimized Frame Pacing option.
We have it disabled and still see this crash

backtrace:
  #00  */libunity.so (ScheduleSceneNodesJobs(ScheduleSceneNodesJobData*, unsigned int)) (BuildId: 7cbf327cb9bac3f3)
  #01  */libunity.so (ujob_execute_job(ujob_control_t*, ujob_lane_t*, ujob_job_t*, ujob_handle_t, int)) (BuildId: 7cbf327cb9bac3f3)
  #02  */libunity.so (ujob_wait_for(ujob_control_t*, ujob_handle_t, int)) (BuildId: 7cbf327cb9bac3f3)
  #03  */libunity.so (CompleteFenceInternal(JobFence&, WorkStealMode)) (BuildId: 7cbf327cb9bac3f3)
  #04  */libunity.so (CullScene(CullResults&)) (BuildId: 7cbf327cb9bac3f3)
  #05  */libunity.so (Camera::CustomCull(CameraCullingParameters const&, CullResults&, bool)) (BuildId: 7cbf327cb9bac3f3)
  #06  */libunity.so (RenderManager::RenderCameras(int, void (*)(), void (*)())) (BuildId: 7cbf327cb9bac3f3)
  #07  */libunity.so (PlayerRender(bool)) (BuildId: 7cbf327cb9bac3f3)
  #08  */libunity.so (ExecutePlayerLoop(NativePlayerLoopSystem*)) (BuildId: 7cbf327cb9bac3f3)
  #09  */libunity.so (ExecutePlayerLoop(NativePlayerLoopSystem*)) (BuildId: 7cbf327cb9bac3f3)
  #10  */libunity.so (PlayerLoop()) (BuildId: 7cbf327cb9bac3f3)
  #11  */libunity.so (UnityPlayerLoop()) (BuildId: 7cbf327cb9bac3f3)
  #12  */libunity.so (nativeRender(_JNIEnv*, _jobject*)) (BuildId: 7cbf327cb9bac3f3)
  #13  */base.odex (art_jni_trampoline+116)

soo… is this trace completely unrelated to both other crashes?
We cannot reproduce it, sadly, but we see traces of it on our console.
Martin, could shed some light here?

Thanks!

That crash stacktrace with CullScene is pretty much the same as the “Crash” part of the “Hang-and-Crash-bug-complex” that is UUM-41806. So I guess the crash part was likely also not fixed, just the probability reduced for the particular repro project we had. The quest for a fix for UUM-41806 is still ongoing, for that discussion and updates, please see [this thread]( Android build project freezes after 5 minutes with playerloop in profiler at 60,000 ms page-6#post-9571615).

@MartinTilo
Is this issue resolved?
Apart from the trace we have nothing more.
I wonder if the fix of UUM-41803 did Fix this trace.
Has anyone check? Do updating Unity 2022 resolve this issue?

I think you meant UUM-41806 as UUM-41803 seems unrelated? UUM-41806 was not fixed in 2022.3.14f1 as previously stated in this thread (and the other one, because we did think we had fixed it) but we just lowered the rate of occurrences. It was properly fixed on 2022.3.19f1.

I don’t see anyone in this thread posting about having filed separate bug tickets for their crashes so I can’t speak to those, but the culling call stack with JobFences one is likely fixed, yes.