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
- NullReferenceException is thrown when assigning an Object to a custom DebugUI.ObjectField in Rendering Debugger
- Crash on D3D12CommonShader::ApplyGpuProgram when attaching material which samples "_UnityFBInput0" to "Full Screen Pass Renderer Feature" Component
- SpeedTree meshes and objects count differs when comparing the numbers in the Player with the Editor
- Model and Prefab Preview icons are not updated after upgrading associated Materials to URP
- Game view is rendered white when viewing the Editor with HDR display and Post Proccesing is enabled on the Main Camera with 2D URP
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)