Skip to content

quic: Fix wake up blob#64044

Open
martenrichter wants to merge 5 commits into
nodejs:mainfrom
martenrichter:wakeupfix
Open

quic: Fix wake up blob#64044
martenrichter wants to merge 5 commits into
nodejs:mainfrom
martenrichter:wakeupfix

Conversation

@martenrichter

Copy link
Copy Markdown
Contributor

The quic implementation calls setWakeUp of Blob with the assumption that it is only executed once per event loop cycle.
This assumption is wrong.
Only setImmediate will guarantee that the
execution is delayed to later in the event loop
and happening once in the event loop.

Fixes: #64035

@nodejs-github-bot nodejs-github-bot added the needs-ci PRs that need a full CI run. label Jun 21, 2026
@martenrichter

Copy link
Copy Markdown
Contributor Author

@jasnell @pimterry : The issue came up in a call of createBlobReaderIterable.
For the second path, I am not sure if other changes may be more appropriate.

Comment thread lib/internal/blob.js Outdated
Comment thread lib/internal/blob.js Outdated
martenrichter and others added 4 commits July 18, 2026 10:44
The quic implementation calls setWakeUp with
the assumption, that it is only executed once
per event loop cycle.
This assumption is wrong.
Only setImmediate will guarantee, that the
execution is delayed to later in the event loop
and happening once in the event loop.

Fixes: nodejs#64035
Signed-off-by: Marten Richter <marten.richter@freenet.de>
Co-authored-by: James M Snell <jasnell@gmail.com>
Co-authored-by: James M Snell <jasnell@gmail.com>
@martenrichter

Copy link
Copy Markdown
Contributor Author

I have just rebased it.

@codecov

codecov Bot commented Jul 18, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 8.33333% with 11 lines in your changes missing coverage. Please review.
✅ Project coverage is 90.24%. Comparing base (b8f81e9) to head (2b28486).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
lib/internal/blob.js 8.33% 11 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #64044      +/-   ##
==========================================
- Coverage   90.25%   90.24%   -0.02%     
==========================================
  Files         739      739              
  Lines      241772   241781       +9     
  Branches    45571    45566       -5     
==========================================
- Hits       218204   218187      -17     
- Misses      15109    15119      +10     
- Partials     8459     8475      +16     
Files with missing lines Coverage Δ
lib/internal/blob.js 88.78% <8.33%> (-1.08%) ⬇️

... and 29 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-ci PRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

quic: Accumulation buffer is not filled, if small packets arrive

4 participants