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
- GPU utilization increases by 20% on Meta Quest headsets when Render Graph is enabled on 6000.0.16f1 and higher
- Value on Slider (Int) control in UI Builder displays as default when saving UI Document
- Color mismatch in UI Builders Library panel when the Editors theme is set to Light Mode
- [Android ] "AndroidJNI.ToBooleanArray" returns a random non-zero value instead of "IntPtr.Zero" when the method argument is null
- Non-HDR color picker opens when selecting material color with HDR enabled
Add comment