Some of our players are reporting that the game crashed. They sent the logs and what I found is this “lib_burst_generated.dll caused an Illegal Instruction”. We can’t replicate it ourselves so it’s hard to fix.
Do you have any suggestions on how to investigate this? Attached are the log files that was given to us.
Most players would not know. You would have to look up the spec of the CPU. This might not be the reason for your problem but it is a know issue that Unity is working on. In the future the burst compiler will make multiple sets of code using different instruction sets to better fit the capability of the CPU.
I would guess this is fixed when it goes out of preview.
If I disable the one under Jobs > Enable Burst Compilation, would that also disable Burst compilation during build? I’m asking because Unity’s built in systems like TransformSystem is using BurstCompile attribute. Just removing this attribute from my own systems might not fix the issue.
Old AMD’s don’t support SSE4, including old Phenoms (I and II), Athlons, Semprons… In https://discussions.unity.com/t/704978/10@xoofx mentioned that there is TryGetTargetPlatform on BurstAotCompiler.cs. I dunno if it’s enough to swap the TargetCpu.X64_SSE4 etc to TargetCpu.X64_SSE2 or if Burst will still only build SSE4 target. If you manage to swap this, it would affect all CPUs tho, so you could see more limited gains from Burst.
Om also having such problem:
CPU Type QuadCore AMD Athlon II X4 650, 3215 MHz (16 x 201)
CPU Alias Propus
CPU Stepping BL-C3
Instruction Set x86, x86-64, MMX, 3DNow!, SSE, SSE2, SSE3, SSE4A