Scirra cog

About Us

We're a London based startup that develops Construct 2, software that lets you make your own computer games!


Browse all our blog posts

Latest Blog Entries

We love brains!

Join us! Joiiinnn ussss! Mooooree brains!

Apple broke WebAssembly and are leaving it broken

by Ashley | 29th, January 2018

The Spectre security vulnerability has left many companies scrambing to mitigate it. Along with other browser vendors, Apple worked quickly to add some mitigations to Safari and issued iOS 11.2.2 to patch it.

Unfortunately they also completely broke WebAssembly on iOS. As in, WebAssembly no longer works, period. According to this, the issue is memory reads from non-zero locations return zero. This amounts to "memory reads don't work". Obviously if a program can't read memory, the program is unlikely to work. So it's pretty broken. Strangely this only affects iOS and not Safari on macOS.

Apple rushed out a follow-up patch with iOS 11.2.5. I expected them to have fixed this rather glaring error in this patch. Unfortunately no, it's still broken. When will it be fixed? I don't know; Apple don't discuss their plans publicly. The best guess I've had is in this WebKit bug of "spring". That could mean WebAssembly is enabled but non-functioning in a major browser for a month or more.

I am guessing something has gone seriously wrong at Apple and nobody was expecting this to happen, but really, it would have been better to disable WebAssembly completely than leave it broken. As it is, on iOS feature-detection will see WebAssembly supported and try to use it, but fail. If it were disabled, anything with an asm.js fallback would have switched back to that. So now everyone else has to scramble to fix their WebAssembly feature detection to check for broken iOS support and also fall back to asm.js in that case. (Luckily Brion Vibber has figured out a minimal check which I linked to earlier.) For anyone with middleware or frameworks like us, we have to fix it, then tell everyone who uses our software to go and update everything they've published as well. The effects of Spectre ripple outwards... (For Construct 3 users, this is why your games may fail to load on iOS. We'll add the workaround soon.)

Given a string of high-profile software snafus by Apple recently, this is hardly instilling further confidence. If only they had some kind of system for distributing app updates separately to the OS... but no, for some reason the browser is an OS component. There must be someone at Apple wishing they'd distributed Safari as an app right now, like Chrome is on Android.

Now follow us and share this



LolindirLink 4,915 rep

So it doesn't affect the C2 apps?
(I don't have idevices to test anything on so i have no idea if my webapps are still working etc.)

Monday, January 29, 2018 at 7:46:37 PM
pxzin 1,983 rep

And that is why i hate iOS

Monday, January 29, 2018 at 8:08:53 PM
atmavan2 331 rep

C2 projects affected or not?

Monday, January 29, 2018 at 8:46:05 PM
RetroInsight 2,141 rep

apple sucks XD

Monday, January 29, 2018 at 9:15:10 PM
newt 124.5k rep

It's a good thing they stopped supporting my device over a year ago....

Monday, January 29, 2018 at 10:24:06 PM
Pooya72 1,362 rep
So it doesn't affect the C2 apps?
(I don't have idevices to test anything on so i have no idea if my webapps are still working etc.)
quoted from LolindirLink

I have an ipad running with updated ios version send me your game link to test if you want.

Monday, January 29, 2018 at 11:38:43 PM
valmirmaciel 384 rep

Confirmed resolved in iOS 11.3 beta 1.

Monday, January 29, 2018 at 11:57:53 PM
KENYONB 2,604 rep

Confirmed broken in 11.2.5. It won't get past loading screen.

Tuesday, January 30, 2018 at 12:34:10 AM
KENYONB 2,604 rep

and confirmed working in iOS 11.3 beta like @valmirmaciel wrote.

Tuesday, January 30, 2018 at 2:16:12 AM
Tiny Martian 222 rep

The apps I published with C2 continue to work on iOS 11.2.5. I just tested them on my iPad. I haven’t published anything with C3 yet, so I’ll make sure to watch out for this when I do.

Tuesday, January 30, 2018 at 3:44:10 AM
Lordshiva1948 42.7k rep

I never liked Apple, never used it, and I will not touch Apple product

Tuesday, January 30, 2018 at 9:59:07 AM

Leave a comment

Everyone is welcome to leave their thoughts! Register a new account or login.