Search Issue Tracker

Active

Under Consideration for 2022.2.X

Votes

1

Found in

2022.2.21f1

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.

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.