Search Issue Tracker


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



Found in



Issue ID




"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 7000.0.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.