RESOLVED FIXED 197472
Pyodide WASM bundle fetched but won't load ("Unhandled promise rejection"), works on FF / Chrome
https://bugs.webkit.org/show_bug.cgi?id=197472
Summary Pyodide WASM bundle fetched but won't load ("Unhandled promise rejection"), w...
Joseph D. Long
Reported 2019-05-01 13:11:43 PDT
Using Safari Version 12.1 (14607.1.40.1.4) and the latest Safari Technology Preview (Release 80 (Safari 12.2, WebKit 14608.1.16)) on macOS 10.14.4, I am unable to run pyodide examples (though other iodide examples work). Pyodide fetches a WASM archive with Python + scientific packages cross-compiled to WebAssembly, and uses them to execute Python in the browser. For context, see https://hacks.mozilla.org/2019/04/pyodide-bringing-the-scientific-python-stack-to-the-browser/ . The only error that appears in the (devtools) console when I try to run a %% py block is [Error] Unhandled Promise Rejection: undefined (anonymous function) rejectPromise promiseReactionJob I carved out a subset of one of the Pyodide examples that reproduces this behavior here: https://alpha.iodide.io/notebooks/2154/ (Click in text field after '%% py' and "Shift-Enter" to execute.) Corresponding Pyodide bug: https://github.com/iodide-project/pyodide/issues/402 It's entirely possible this is a Pyodide bug that is being obscured by the default behavior in Firefox and Chrome, but I cannot find anywhere in the Safari Dev Tools that will expose what exactly is happening. Another pair of eyes on this would be very helpful! Thanks in advance.
Attachments
Joseph D. Long
Comment 1 2019-05-01 15:03:30 PDT
Also present in today's Safari Technology Preview Release 81.
Joseph D. Long
Comment 2 2019-05-03 09:42:15 PDT
The underlying issue was a call to WebAssembly.compileStreaming, which is not (yet) available on Safari. I'm not sure why this was not visible from the traceback, but a debug / non-minified build showed the culprit. Closing.
Radar WebKit Bug Importer
Comment 3 2019-05-03 10:34:57 PDT
Note You need to log in before you can comment on or make changes to this bug.