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
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
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Mono Windows Builds don't produce full log callstacks when generating logs
- AssetBundles fail to load when running in Built Players for Mobile Devices
- UI elements with text gets bigger and grey when Player window is moved to another screen with different resolution
- System name accepts multiline text but crops it on confirmation, duplicates input, and shrinks the field when empty
- UI element scale and position are wrong in project build when DRS is changed with HDR and Software Dynamic Resolution enabled
Add comment