Search Issue Tracker

Fixed

Fixed in 2022.2.0a3.421, 2022.3.11f1, 2023.3.0a9, 2024.1.0a1

Votes

1

Found in

2022.3.10f1

2024.1.0a1

Issue ID

UUM-37116

Regression

Yes

"Assertion failed on expression" exceptions are thrown when using IJobParallelForTransformExtensions.RunReadOnly

--

-

How to reproduce:
1. Download and open the attached "Repro__project" project
2. Open the "Scene" scene
3. Enter "Plat" mode
4. Observe the console window

Expected outcome: No errors appear
Actual outcome: "Assertion failed on expression: 'jobParameters.dependency == JobFence()'
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Unity.Jobs.LowLevel.Unsafe.JobsUtility:ScheduleParallelForTransformReadOnly (Unity.Jobs.LowLevel.Unsafe.JobsUtility/JobScheduleParameters&,intptr,int)
UnityEngine.Jobs.IJobParallelForTransformExtensions:RunReadOnly<Work/Rotate> (Work/Rotate,UnityEngine.Jobs.TransformAccessArray)
Work:LateUpdate () (at Assets/Work.cs:58)" errors appear

Reproducible with: 2022.2.0a17, 2022.2.21f1, 2023.1.0b19, 2023.2.0a17
Not reproducible with: 2021.3.26f1, 2022.2.0a16

Using IJobParallelForTransformExtensions.ScheduleReadOnly(..).Complete() on the same job does not trigger the assert (but that's not an acceptable workaround as it forces a wait on any _other running jobs_).

2. How can we reproduce it using the example you attached

Open scene, go to playmode, observe assert spew.
Checking "Rotate" or "Use Job" in the Work component of the Work gameobject makes the assert stop.

  1. Resolution Note (fix version 2024.1.0a1):

    commit f7cb3a4914fbf6a298aa7cafa4cdef864cb706cb

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.