Search Issue Tracker

Fixed

Fixed in 1.8.14

Votes

0

Found in [Package]

1.8.13

Issue ID

BUR-2641

Regression

No

Assert conditional on ENABLE_UNITY_COLLECTIONS_CHECKS and UNITY_DOTS_DEBUG stripped out of player builds with UNITY_DOTS_DEBUG defined

Package: Burst

-

Steps to reproduce:
1. Download the attached user's project "DoubleConditionalReport.zip"
2. Make a Windows Standalone Player build
3. Open the player and observe how there is no crash when a job is accessing a bounds index
4. Modify "Assets/Test.cs" by commenting the code for jobA and uncomment jobB
5. Make another Player build and observe the crash

Expected Results: player doesn't crash
Actual Results: player crashes

Reproducible with: Entities 1.0.16 (2022.3.22f1, 2023.2.16f1, 6000.0.0b13)
Could not effectively test with Entities higher than 1.0.16 due to the package being locally modified
Could not test on 2021.3.36f1 due to package errors when downgrading

Testing Environment: Windows 11
Not reproducible on: No other environment tested

Notes:
-Player crash log attached "Player.log"
-JobA is not crashing since AssertIndexInRange is not being called because it has 2 conditionals: [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS"), Conditional("UNITY_DOTS_DEBUG")]
-For player builds, the customer defines the UNITY_DOTS_DEBUG define to ensure that collection checks are enabled throughout all the dots packages
-Customer noticed that the bounds check on BlobArray is not working on player builds (if you index out of bounds, no exception is thrown). This works as expected in the editor but not in player builds. After some investigation, it appears that this bug affects methods with multiple 'Conditional' attributes in code from the packages
-Having these bounds checks run is absolutely critical for the customer, as if they are being discarded they often get invalid memory accesses, memory overwriting, or other unexplained crashes much after the fact which are nearly impossible to diagnose

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.