Hi,
We are working on a Unity mobile game. We target Android and iOS.
The game is working fine on Android but we have a crash on iOS.
We are using a raycast graph.
The crash happens here:
In the meantime i’ve just tested with PRO STABLE 4.2.15 and there is no issue.
So maybe a problem with Burst?
I keep u posted with Burst safety checks enabled.
Hey @aron_granberg
Sorry for the late reply, I’ve managed to obtain more logs. Have a look at the screenshot.
So basically, the setup is the same except Xcode which is now in v13.
I build the Unity project and run it straight on my device in Xcode in debug mode.
When the game is starting, the scanning graph step fails at 10% and Xcode shows me the error you can see on the screenshot.
That looks very odd. As you can see, the list was resized only a few lines above the line where it crashed. And then it only indexes into safe indices, so it shouldn’t be possible for it to crash (unless I have a very odd race condition I suppose).
Since you have the debugger open, can you check what the variable i is set to when it crashes, and also if you can show the length and allocation of the linkedCellMinMax list?
Hey @aron_granberg, here’s the situation:
In XCode, i can’t debug properly .cs files so i have to use VSCode remote debugging.
But for some technical reasons, VSCode can’t see my iPhone when using remote debugging… I’m still investigating.
Also, I don’t know if this info can help but it appears that ResetLinkedVoxelSpans() is only called on iOS: it is not called on Android or in the Editor (my breakpoints in the method are never reached on these 2 platforms). Just want to highlight the fact that maybe this method shouldn’t be called at startup?
It’s very hard for us to debug because the package is in a scoped registry (we can’t modify your scripts) and the debugger doesn’t give us any values of the different involved variables (i, etc.).
However we ran an interesting test: we have tested your sample scene RaycastExample2 (which is set on “Scan on awake”) without making any modification and it crashes at the same stage when running on an iOS device.
Burst safety checks is ON.
We’re still using the PRO BETA (Burst).
Does it help?
We are still trying to debug and provide you additional info.
That’s an interesting data point.
Do you think you could run the same thing with burst disabled on ios? If it runs fine, then it’s probably a bug in the burst compiler for ios and should be reported to unity.
Do you mean to run the beta with burst disabled? Ok, I will try tomorrow morning.
Last time, I’ve tested the non beta version (so without burst) and it was working on iOS.
Keep u posted.
I confirm that our project is now working fine with Burst 1.6.0-pre.2…
=> So the problem occurs only when using Burst 1.6.0 on iOS.
What do you suggest:
Should we stay on 1.6.0-pre.2?
Are you planning to support Burst 1.6.0 or should we open a ticket to Unity Support? (in other words: do you think the problem is on Burst/Unity side or A*Path side? )
That sounds very much like a regression in burst 1.6.0. I think Unity would appreciate it a lot if you could send them a bug report with your scene. I can probably not do much on my end, I’m afraid.
I’d recommend staying on 1.6.0-pre.2 until Unity has patched it.
I can’t really share my project because it’s using our A*Path licence, right?
Do you have an idea how i can share the project with Unity guys without having our licence in nature?
Thanks.
@gdo be careful, I have graph raycast malfunctioning on iOS but not the same device or IOS version you’re testing on. I updated Burst to 1.6.1 and that didn’t solve the problem. Just test on more devices with different iOS versions to be safe.