deno: Regression: make worker setup synchronous (#22815) may lead to freeze

Version: from d69aab6 on (#22815)

The freeze happens while calling op_message_port_post_message in ext/web/13_message_port.js https://github.com/denoland/deno/blob/d69aab62b0789dd54b8c09b54af022a38f060b5b/ext/web/13_message_port.js#L146 and then in message_port.rs while getting the MessagePort resource handler https://github.com/denoland/deno/blob/d69aab62b0789dd54b8c09b54af022a38f060b5b/ext/web/message_port.rs#L210

It can be reproduced by a setup described in https://github.com/denoland/deno/pull/22841#issuecomment-1989716601 and merging the upstream changes till d69aab6 or later.

About this issue

  • Original URL
  • State: closed
  • Created 4 months ago
  • Comments: 25 (23 by maintainers)

Most upvoted comments

Thanks for all your work! I’m eagerly looking forward to testing it and study your code changes.

But right now I’m laying with a cold in bed and everything runs more slowly. That’s also the reason, why this other promised PR rewrite will take slightly longer.

O.k. I’ll open one…

Er, I did some more debugging and it appears that parentPort.on("message", ()...); is not called in the worker thread. I’ll keep debugging this tonight.