Havok cannot be loaded in any Safari browser

Hi all,

I’m experimenting a big issue with havok on any Safari browser (Desktop or iOS iPad and iPhone): it fails to be loaded, and shows this error:

Aborted(CompileError: WebAssembly.Module doesn't parse at byte 325: can't get 0th Type's return value)

Is it supposed to work? I admit I’m a bit in panic mode here!

I look forward to your feedback on this issue.

Cheers,

2 Likes

cc @Cedric and @carolhmj but the play room from the release is ok for me.

It works for me: Safari 16.5(18615.2.9.11.4)
I remember having more or less the same issue with iOS 16.3 IIRC. and it disappeared after I’ve updated it.

I confirm I test this with 16.3. I’ll come back with news soon.

1 Like

I just complete my investigation there, and I confirm @Cedric is perfectly right.

Safari 16.3 is buggy, and upgrading to 16.5 works like charm. I tested this successfully on MacBook PRO 2018, and and iPad 2.

This also means that my old iPhone SE has been brickified :sob: (because I can’t do this upgrade).
The very weird thing is that this bug occurs also in Chrome and Firefox on my iPhone, and I cannot explain that. Probably more related with the OS than with the apps!
Anyway, I stop here. Thank you very much.

1 Like

Any browser on iOS is using Safari engine under the hood. Apple restriction …

2 Likes

This makes sense, thank you.

Have you explored ways to fix this?
This can become a problem when trying to use the engine on some gaming platforms.

1 Like

I suspect that it’s about how Havok is compiled, probably the build options. But unfortunately, it’s difficult to go further.

No, it’s a bit for complex than that. Some code/instructions work with the slow wasm (just after wasm has been loaded) but do not with the fast compilation of the wasm.
So, it’s a matter of finding what breaks, what happens, find a replacement and release a new version. This is very time consuming and wihtout a guarantee that next version of Safari will fix it or will not add new bugs. The only valid solution to me is to put pressure on Apple to force them to respect standards and be more reliable.

1 Like

I am experiencing the same issue does upgrading to 16.5 solve the issue? I feel like 16,3 is pretty popular

Yep, looks like that.

1 Like

Hi all, any updates here?
Without the support of most of the devices, it doesn’t make sense to use havok

Issue has been fixed on Apple side. It loads fine with more recent safari version. I’ve just tested on iphone11 + ios17

Thank you, Cedric.
Unfortunately, this is not enough to build production applications on Havok. Usually, 20% of the devices never update on the latest IOS.
There are lots of wasm packages that are supported everywhere.
Maybe there is a way to build it with different arguments/tools to resolve the issue?

I don’t know if it’s possible to have a simd-free package and release it along current package new versions @eoin @RaananW . More over, how to decide which version to use?

Sorry, Cedric, I didn’t see this earlier. Whatever about the ability of the browser to load the correct WASM, we don’t even have the ability to make a non-SIMD build right now; the Havok math library does not have an FPU version; it really does depend on SIMD being available.

2 Likes

We’ve opened a GitHub issue here: Havok physics compatibility for older devices · Issue #15609 · BabylonJS/Babylon.js · GitHub

This is what makes me so angry when dealing with Apples.

Same OS version, same browser version, different device = different results…

1 Like

Is there any hope for this in the future?
6% of users do not support SIMD according to caniuse.com