René's URL Explorer Experiment


Title: stream/iter: Writer.end() ignores AbortSignal · Issue #64726 · nodejs/node · GitHub

Open Graph Title: stream/iter: Writer.end() ignores AbortSignal · Issue #64726 · nodejs/node

X Title: stream/iter: Writer.end() ignores AbortSignal · Issue #64726 · nodejs/node

Description: Version main Platform macOS 26.5.2 Subsystem stream What steps will reproduce the bug? import { push } from 'node:stream/iter'; async function repro(label, abortBeforeEnd) { const { writer, readable } = push(); await writer.write('x'); c...

Open Graph Description: Version main Platform macOS 26.5.2 Subsystem stream What steps will reproduce the bug? import { push } from 'node:stream/iter'; async function repro(label, abortBeforeEnd) { const { writer, readabl...

X Description: Version main Platform macOS 26.5.2 Subsystem stream What steps will reproduce the bug? import { push } from 'node:stream/iter'; async function repro(label, abortBeforeEnd) { const { writer,...

Opengraph URL: https://github.com/nodejs/node/issues/64726

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"stream/iter: Writer.end() ignores AbortSignal","articleBody":"### Version\n\nmain\n\n### Platform\n\n```text\nmacOS 26.5.2\n```\n\n### Subsystem\n\nstream\n\n### What steps will reproduce the bug?\n\n```js\nimport { push } from 'node:stream/iter';\n\nasync function repro(label, abortBeforeEnd) {\n  const { writer, readable } = push();\n  await writer.write('x');\n\n  const controller = new AbortController();\n  if (abortBeforeEnd) controller.abort(new Error('stop'));\n\n  const ending = writer.end({ signal: controller.signal }).then(\n    (bytes) => `resolved: ${bytes}`,\n    (error) => `rejected: ${error.message}`,\n  );\n\n  if (!abortBeforeEnd) controller.abort(new Error('stop'));\n\n  const draining = (async () => {\n    for await (const chunk of readable) {\n      void chunk;\n    }\n  })();\n\n  console.log(`${label}: ${await ending}`);\n  await draining;\n}\n\nawait repro('pre-aborted', true);\nawait repro('aborted while draining', false);\n```\n\n### How often does it reproduce? Is there a required condition?\n\nAlways\n\n### What is the expected behavior? Why is that the expected behavior?\n\nit should reject with the signal’s abort reason in both cases.\n\n### What do you see instead?\n\n```console\npre-aborted: resolved: 1\naborted while draining: resolved: 1\n```\n\n`end()` resolves successfully whether the signal is already aborted or becomes aborted while the buffered data is draining.\n\n### Additional information\n\n_No response_","author":{"url":"https://github.com/trivikr","@type":"Person","name":"trivikr"},"datePublished":"2026-07-25T02:38:26Z","url":"https://github.com/nodejs/node/issues/64726"}

react-profiling0
react-import-mapreact,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf
route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:7b37fb2e-e7d4-b277-d06f-1583d89a0873
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-id8876:35D054:8687A5:AEEE12:6AED3734
html-safe-noncefe12f8733677918bb155e91bf6f5a79acf4e85013698e0b0b08d47a66675992d
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4ODc2OjM1RDA1NDo4Njg3QTU6QUVFRTEyOjZBRUQzNzM0IiwidmlzaXRvcl9pZCI6IjU5MDYzNDY1MTM2NTc1NzUyMjAiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac0ac8d998deb9f8d9eb7ddcf4203a8ea40c2cefc50cd804e9076a275fc9362c40
hovercard-subject-tagissue:4973735951
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/nodejs/node/64726/issue_layout
twitter:imagehttps://opengraph.githubassets.com/0e4f13ffa5ad8ff27b4400101c545ce3a2dfc8b8299ed6c00568568ef64a0525/nodejs/node/issues/64726
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/0e4f13ffa5ad8ff27b4400101c545ce3a2dfc8b8299ed6c00568568ef64a0525/nodejs/node/issues/64726
og:image:altVersion main Platform macOS 26.5.2 Subsystem stream What steps will reproduce the bug? import { push } from 'node:stream/iter'; async function repro(label, abortBeforeEnd) { const { writer, readabl...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernametrivikr
hostnamegithub.com
expected-hostnamegithub.com
None26c92a9388ddfad3fa88d132b5d5f0b4747030233dcc4e5efb05f1cbae152184
turbo-cache-controlno-preview
go-importgithub.com/nodejs/node git https://github.com/nodejs/node.git
octolytics-dimension-user_id9950313
octolytics-dimension-user_loginnodejs
octolytics-dimension-repository_id27193779
octolytics-dimension-repository_nwonodejs/node
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id27193779
octolytics-dimension-repository_network_root_nwonodejs/node
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasec629ad99c254d306375fc8354d04321c2c362236
ui-targetfull
theme-color#1e2327
color-schemelight dark
react-app-nameissues

Links:

Skip to contenthttps://github.com/nodejs/node/issues/64726#start-of-content
Reloadhttps://github.com/nodejs/node/issues/64726
Reloadhttps://github.com/nodejs/node/issues/64726
Reloadhttps://github.com/nodejs/node/issues/64726
https://github.com/nodejs/node
New issuehttps://github.com/login?return_to=https://github.com/nodejs/node/issues/64726
New issuehttps://github.com/login?return_to=https://github.com/nodejs/node/issues/64726
#64727https://github.com/nodejs/node/pull/64727
stream/iter: Writer.end() ignores AbortSignalhttps://github.com/nodejs/node/issues/64726#top
#64727https://github.com/nodejs/node/pull/64727
https://github.com/trivikr
streamIssues and PRs related to Node.js streams.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22stream%22
https://github.com/trivikr
trivikrhttps://github.com/trivikr
on Jul 25, 2026https://github.com/nodejs/node/issues/64726#issue-4973735951
trivikrhttps://github.com/trivikr
on Jul 25, 2026https://github.com/nodejs/node/issues/64726#event-28464875837
trivikrhttps://github.com/trivikr
streamIssues and PRs related to Node.js streams.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22stream%22
on Jul 25, 2026https://github.com/nodejs/node/issues/64726#event-28464876137
nodejs-github-bothttps://github.com/nodejs-github-bot
completedhttps://github.com/nodejs/node/issues?q=is%3Aissue%20state%3Aclosed%20archived%3Afalse%20reason%3Acompleted
#64727https://github.com/nodejs/node/pull/64727
on Aug 2, 2026https://github.com/nodejs/node/issues/64726#event-28830454449
nodejs-github-bothttps://github.com/nodejs-github-bot
on Aug 2, 2026https://github.com/nodejs/node/issues/64726#event-28830454462
stream: honor AbortSignal in Writer.end()https://github.com/nodejs/node/commit/bb76938e24b1925dc803008fb6ded97a2dfa93ce
bb76938https://github.com/nodejs/node/commit/bb76938e24b1925dc803008fb6ded97a2dfa93ce
aduh95https://github.com/aduh95
on Aug 3, 2026https://github.com/nodejs/node/issues/64726#event-28901694356
stream: honor AbortSignal in Writer.end()https://github.com/nodejs/node/commit/d0703abfc3b3ab37e1d85f47d2d8b5f73f970cc8
d0703abhttps://github.com/nodejs/node/commit/d0703abfc3b3ab37e1d85f47d2d8b5f73f970cc8
stream: honor AbortSignal in Writer.end()https://github.com/nodejs/node/commit/0b711317792c64bf65a1933dbe42fb6eaa936528
0b71131https://github.com/nodejs/node/commit/0b711317792c64bf65a1933dbe42fb6eaa936528
stream: honor AbortSignal in Writer.end()https://github.com/nodejs/node/commit/420c3efcab3ea9d8a7b11cdbe73d6a49fb47c8f0
420c3efhttps://github.com/nodejs/node/commit/420c3efcab3ea9d8a7b11cdbe73d6a49fb47c8f0
stream: honor AbortSignal in Writer.end()https://github.com/nodejs/node/commit/796c896fb4c4188f906cd500c7ac386666c9a78a
796c896https://github.com/nodejs/node/commit/796c896fb4c4188f906cd500c7ac386666c9a78a
stream: honor AbortSignal in Writer.end()https://github.com/nodejs/node/commit/486cff4c081907d7d89897d2d8140282e097afcf
486cff4https://github.com/nodejs/node/commit/486cff4c081907d7d89897d2d8140282e097afcf
Sign up for freehttps://github.com/signup?return_to=https://github.com/nodejs/node/issues/64726
Sign in to commenthttps://github.com/login?return_to=https://github.com/nodejs/node/issues/64726
trivikrhttps://github.com/trivikr
streamIssues and PRs related to Node.js streams.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22stream%22
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.