Workerd incompatibility (Cloudflare Workers)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1.2k
- Forks
- 96
- Avg merge
- 8h 12m
- Merged PRs (30d)
- 2
Description
Hello!
I've been after these errors for months now.
The script will never generate a response
✘ [ERROR] Uncaught (in response) Error: Promise will never complete.
✘ [ERROR] Uncaught (in promise) Error: Cannot perform I/O on behalf of a different request. I/O objects (such as streams, request/response bodies, and others) created in the context of one request handler cannot be accessed from a different request's handler. This is a limitation of Cloudflare Workers which allows us to improve overall performance.
These pop up in our production log many times daily, we had more than 1800 errors in the last 7 days like this:
Finally I was able to reproduce it consistently locally by instantly spamming the freshly started worker with the same SSR page request. (20 request for the same page), but unfortunately the error log contains nothing more than those messages.
After I wrapped all the <Icon> in a custom MyIcon.client.vue component the issue was gone.
I think the problem will be upstream in Iconify but I haven't started to investigate more deeply yet.
More info:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue with 20 concurrent SSR requests against a freshly started Cloudflare Workers deployment, comparing direct usage with the MyIcon.client.vue wrapper. Review the linked workerd issue and the suspected Iconify involvement; no project file or test is named, so completion would require identifying a reproducible project-level cause and a verified resolution.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nuxt, typescript
- Domain
- backend, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100