Skip to content

Conversation

@ambv
Copy link
Contributor

@ambv ambv commented Feb 21, 2025

As of iOS 18.3.1, enabling wasm-gc is making the interpreter fail to load. Upstream pull request: python/cpython#130418.

macOS Safari 18.3 does not surface the issue.

Confirmed on device that disabling this restores interpreter function.

Resolves #5428.

@hoodmane hoodmane modified the milestones: 0.27.2, 0.27.3 Feb 21, 2025
As of iOS 18.3.1, enabling wasm-gc is making the interpreter fail to load.
Upstream pull request: python/cpython#130418.

macOS Safari 18.3 does not surface the issue.

Confirmed on device that disabling this restores interpreter function.

Resolves pyodide#5428.
Copy link
Member

@agriyakhetarpal agriyakhetarpal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving this as @hoodmane approved the upstream PR, thanks, @ambv!

@hoodmane
Copy link
Member

We will need to update the patch here once @freakboy3742's upstream review is addressed.

@hoodmane hoodmane mentioned this pull request Feb 23, 2025
@hoodmane
Copy link
Member

Okay merging since upstream pr was merged. Thanks @freakboy3742 and @ambv!

@hoodmane hoodmane merged commit fb4d18d into pyodide:main Feb 24, 2025
38 of 41 checks passed
hoodmane pushed a commit to hoodmane/pyodide that referenced this pull request Feb 24, 2025
As of iOS 18.3.1, enabling wasm-gc is making the interpreter fail to load. Upstream pull request: python/cpython#130418.

macOS Safari 18.3 does not surface the issue.

Confirmed on device that disabling this restores interpreter function.

Resolves pyodide#5428.
hoodmane pushed a commit to hoodmane/pyodide that referenced this pull request Feb 25, 2025
As of iOS 18.3.1, enabling wasm-gc is making the interpreter fail to load. Upstream pull request: python/cpython#130418.

macOS Safari 18.3 does not surface the issue.

Confirmed on device that disabling this restores interpreter function.

Resolves pyodide#5428.
hoodmane pushed a commit to hoodmane/pyodide that referenced this pull request Feb 25, 2025
As of iOS 18.3.1, enabling wasm-gc is making the interpreter fail to load. Upstream pull request: python/cpython#130418.

macOS Safari 18.3 does not surface the issue.

Confirmed on device that disabling this restores interpreter function.

Resolves pyodide#5428.
hoodmane pushed a commit to hoodmane/pyodide that referenced this pull request Feb 25, 2025
As of iOS 18.3.1, enabling wasm-gc is making the interpreter fail to load. Upstream pull request: python/cpython#130418.

macOS Safari 18.3 does not surface the issue.

Confirmed on device that disabling this restores interpreter function.

Resolves pyodide#5428.
hoodmane pushed a commit to hoodmane/pyodide that referenced this pull request Feb 25, 2025
As of iOS 18.3.1, enabling wasm-gc is making the interpreter fail to load. Upstream pull request: python/cpython#130418.

macOS Safari 18.3 does not surface the issue.

Confirmed on device that disabling this restores interpreter function.

Resolves pyodide#5428.
hoodmane pushed a commit to hoodmane/pyodide that referenced this pull request Feb 25, 2025
As of iOS 18.3.1, enabling wasm-gc is making the interpreter fail to load. Upstream pull request: python/cpython#130418.

macOS Safari 18.3 does not surface the issue.

Confirmed on device that disabling this restores interpreter function.

Resolves pyodide#5428.
hoodmane pushed a commit to hoodmane/pyodide that referenced this pull request Feb 25, 2025
As of iOS 18.3.1, enabling wasm-gc is making the interpreter fail to load. Upstream pull request: python/cpython#130418.

macOS Safari 18.3 does not surface the issue.

Confirmed on device that disabling this restores interpreter function.

Resolves pyodide#5428.
hoodmane pushed a commit to hoodmane/pyodide that referenced this pull request Feb 25, 2025
As of iOS 18.3.1, enabling wasm-gc is making the interpreter fail to load. Upstream pull request: python/cpython#130418.

macOS Safari 18.3 does not surface the issue.

Confirmed on device that disabling this restores interpreter function.

Resolves pyodide#5428.
hoodmane pushed a commit to hoodmane/pyodide that referenced this pull request Feb 25, 2025
As of iOS 18.3.1, enabling wasm-gc is making the interpreter fail to load. Upstream pull request: python/cpython#130418.

macOS Safari 18.3 does not surface the issue.

Confirmed on device that disabling this restores interpreter function.

Resolves pyodide#5428.
hoodmane pushed a commit to hoodmane/pyodide that referenced this pull request Feb 25, 2025
As of iOS 18.3.1, enabling wasm-gc is making the interpreter fail to load. Upstream pull request: python/cpython#130418.

macOS Safari 18.3 does not surface the issue.

Confirmed on device that disabling this restores interpreter function.

Resolves pyodide#5428.
hoodmane pushed a commit to hoodmane/pyodide that referenced this pull request Feb 25, 2025
As of iOS 18.3.1, enabling wasm-gc is making the interpreter fail to load. Upstream pull request: python/cpython#130418.

macOS Safari 18.3 does not surface the issue.

Confirmed on device that disabling this restores interpreter function.

Resolves pyodide#5428.
hoodmane pushed a commit to hoodmane/pyodide that referenced this pull request Feb 25, 2025
As of iOS 18.3.1, enabling wasm-gc is making the interpreter fail to load. Upstream pull request: python/cpython#130418.

macOS Safari 18.3 does not surface the issue.

Confirmed on device that disabling this restores interpreter function.

Resolves pyodide#5428.
hoodmane pushed a commit to hoodmane/pyodide that referenced this pull request Feb 26, 2025
As of iOS 18.3.1, enabling wasm-gc is making the interpreter fail to load. Upstream pull request: python/cpython#130418.

macOS Safari 18.3 does not surface the issue.

Confirmed on device that disabling this restores interpreter function.

Resolves pyodide#5428.
-addOnPreRun(() => {
+
+function getPyEMCountArgsPtr() {
+ let isIOS = globalThis.navigator && /iPad|iPhone|iPod/.test(navigator.platform);
Copy link
Contributor

@WebReflection WebReflection Feb 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ouch ... was this really an iOS only thing? I understand the ugly workaround but I wonder how comes iOS would branch that much from iPad and I had a honest little laugh at reading iPod in there 😁 (nostalgic personal hysterical laugh I believe)

This also won't play well at all once they fix their issue ... UA sniffing demands maintenance, which is why is usually, and rightly so, discouraged (sometimes inevitable though).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So - it's been reported on iOS 18.3.1; iPads running it (or... in theory, iPods, but I don't know if there's any actually still supported that could run iPod) should also be affected, but I can't say I've tried personally.

And I completely agree that UA sniffing isn't an ideal solution - but the perfect is the enemy of the good until we're able to determine a better underlying fix based on sniffing specific behavior. At this point, all we know is "iOS 18.3.1(+?) bad", and we have a fallback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pyodide 0.27.1+ not working on iOS (Safari)

5 participants