Search Issue Tracker
Won't Fix
Votes
0
Found in [Package]
1.0.X - Entities
Issue ID
ECSB-366
Regression
No
An uninformative "Burst internal compiler error: System.Exception: Error while generating hash for method references" error is logged when a project is opened
Reproduction steps:
1. Open the attached “SampleProject3.zip“ project
2. Observe the Console
Expected result: Error is thrown with a pointer to a faulty code line
Actual result: “Burst internal compiler error: System.Exception: Error while generating hash for method references” error is thrown
Reproducible with: 0.51.1-preview.21 (2021.3.25f1), 1.0.8 (2022.2.20f1, 2023.1.0b18, 2023.2.0a16)
Could not test with: 0.17.0-preview.42 (2020.3.48f1) (Errors in the Console due to downgrading)
Reproduced on: macOS Ventura 13.3.1 (Intel), Windows 10 (by the reporter)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- ArgumentOutOfRangeException when manipulating the Project Settings search bar
- [Linux] Touch freezes in Player when any mouse button is clicked
- UnityEngine.Rendering.Volume.OnEnable() is called twice before OnDisable() creating multiple copies of the same volume when a volume is enabled right after Domain Reload when entering Play Mode
- Hinge Joint transforms are reset when toggling the "useMotor" property
- Motion Vector texture reports incorrect Mesh data when Mesh is coming from off-screen
Resolution Note:
If you upgrade Burst to the latest 1.8.7 release you can see the error message clearly:
Assets\Scripts\TestRefStruct.cs(23,51): Burst error BC1064: Unsupported return type `DefaultNamespace.TestRefStruct`1<DefaultNamespace.TestStruct>` for function `DefaultNamespace.TestRefStruct`1.get_Terminating()`: structs cannot be passed to or returned from external functions in burst. To fix this issue, use a reference or pointer.
The user is returning a struct from their getter. They need to return a pointer type as that is a restriction burst applies to Burst entrypoints (they cannot pass or return structs)