close
Skip to content

Crash when enabling network and adding a YouTube video to a post #1730

@fluiddot

Description

@fluiddot

Saving a post with a YouTube block results in a crash if the Network access is enabled.

Steps to reproduce it:

  1. Enable Network access.
  2. Navigate to WP-Admin -> Posts.
  3. Add a new post.
  4. Add a YouTube block.
  5. Insert a YouTube URL.
  6. Click on Embed.
  7. Save the post.

Logs:

[04-Sept-2024 13:27:13 UTC] WASM Crash Fatal: 
"unreachable" WASM instruction executed.

The typical reason is a PHP function missing from the ASYNCIFY_ONLY
list when building PHP.wasm.

You will need to file a new issue in the WordPress Playground repository
and paste this error message there:

https://github.com/WordPress/wordpress-playground/issues/new

If you're a core developer, the typical fix is to:

* Isolate a minimal reproduction of the error
* Add a reproduction of the error to php-asyncify.spec.ts in the WordPress Playground repository
* Run 'npm run fix-asyncify'
* Commit the changes, push to the repo, release updated NPM packages

Below is a list of all the PHP functions found in the stack trace to
help with the minimal reproduction. If they're all already listed in
the Dockerfile, you'll need to trigger this error again with long stack
traces enabled. In node.js, you can do it using the --stack-trace-limit=100
CLI option: 

    * <unknown>
 Error: 
"unreachable" WASM instruction executed.

The typical reason is a PHP function missing from the ASYNCIFY_ONLY
list when building PHP.wasm.

You will need to file a new issue in the WordPress Playground repository
and paste this error message there:

https://github.com/WordPress/wordpress-playground/issues/new

If you're a core developer, the typical fix is to:

* Isolate a minimal reproduction of the error
* Add a reproduction of the error to php-asyncify.spec.ts in the WordPress Playground repository
* Run 'npm run fix-asyncify'
* Commit the changes, push to the repo, release updated NPM packages

Below is a list of all the PHP functions found in the stack trace to
help with the minimal reproduction. If they're all already listed in
the Dockerfile, you'll need to trigger this error again with long stack
traces enabled. In node.js, you can do it using the --stack-trace-limit=100
CLI option: 

    * <unknown>

    at #handleRequest (https://playground.wordpress.net/worker-thread-962e7bc6.js:53:5901)
    at async PHP.run (https://playground.wordpress.net/worker-thread-962e7bc6.js:53:1789)
    at async #d (https://playground.wordpress.net/worker-thread-962e7bc6.js:61:6175)
    at async #c (https://playground.wordpress.net/worker-thread-962e7bc6.js:61:5842)
    at async PlaygroundWorkerEndpoint.request (https://playground.wordpress.net/worker-thread-962e7bc6.js:4:8812)

URL:

https://playground.wordpress.net/?php=8.0&wp=latest&storage=none&networking=yes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions