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
- Prefab Override popup displays on wrong monitor when Inspector width is resized to minimum
- Scroll View is not moving by inertia after scrolling by click and dragging when Editor window is minimized and Canvas "Render Mode" is set to "World Space"
- "type mismatch error" occurs when the currentDirectionWS output of a Sample Water Surface node is connected to a float3 input
- URP Material Upgrade utility does not enable Alpha Clipping when material had Rendering Mode set to Cutout
- Particle System emission ignores the Sprite Atlas when using a Material that has the "Include in Build" setting unchecked
Add comment