Skip to content

quic: Remove flaky ASSERT in ShouldCreateOutgoingBidirectionalStream#44500

Merged
phlax merged 2 commits intoenvoyproxy:mainfrom
phlax:flake-buffer-account-no
Apr 17, 2026
Merged

quic: Remove flaky ASSERT in ShouldCreateOutgoingBidirectionalStream#44500
phlax merged 2 commits intoenvoyproxy:mainfrom
phlax:flake-buffer-account-no

Conversation

@phlax
Copy link
Copy Markdown
Member

@phlax phlax commented Apr 16, 2026

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can legitimately return false, but we return true unconditionally to avoid a nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect and triggered flakes (e.g. in buffer_accounting_integration_test on MSAN). Drop the ASSERT and update the comment.

Fixes #41526

@phlax
Copy link
Copy Markdown
Member Author

phlax commented Apr 17, 2026

/retest

@phlax phlax added this to the 1.38.0 milestone Apr 17, 2026
@phlax
Copy link
Copy Markdown
Member Author

phlax commented Apr 17, 2026

@jwendell @ravenblackx this is probably next in terms of defo fixing a problem that has been around ages

phlax added 2 commits April 17, 2026 20:09
Fix: envoyproxy#41526

Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
@phlax phlax force-pushed the flake-buffer-account-no branch from 16ef255 to 4cba998 Compare April 17, 2026 19:13
Copy link
Copy Markdown
Member

@jwendell jwendell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The one-line fix is correct and well-motivated. The ASSERT was wrong from the day it was written — it contradicts the explicit design of the override. I'd suggest updating the PR title to reflect that this is a production code fix, and optionally adding a focused unit test. Otherwise, looks good to merge.

@phlax phlax changed the title tests: Fix flake in buffer accounting test quic: Remove flaky ASSERT in ShouldCreateOutgoingBidirectionalStream Apr 17, 2026
@phlax phlax enabled auto-merge (squash) April 17, 2026 19:18
@phlax
Copy link
Copy Markdown
Member Author

phlax commented Apr 17, 2026

/retest flakey flakes

@phlax
Copy link
Copy Markdown
Member Author

phlax commented Apr 17, 2026

/retest

@phlax phlax merged commit 8e4637d into envoyproxy:main Apr 17, 2026
28 checks passed
krinkinmu pushed a commit to grnmeira/envoy that referenced this pull request Apr 20, 2026
envoyproxy#44500)

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can
legitimately return false, but we return true unconditionally to avoid a
nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect
and triggered flakes (e.g. in buffer_accounting_integration_test on
MSAN). Drop the ASSERT and update the comment.

Fixes envoyproxy#41526

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
reubent-goog pushed a commit to reubent-goog/envoy that referenced this pull request Apr 21, 2026
envoyproxy#44500)

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can
legitimately return false, but we return true unconditionally to avoid a
nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect
and triggered flakes (e.g. in buffer_accounting_integration_test on
MSAN). Drop the ASSERT and update the comment.

Fixes envoyproxy#41526

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Reuben Tanner <reubent@google.com>
phlax added a commit to phlax/envoy that referenced this pull request Apr 24, 2026
envoyproxy#44500)

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can
legitimately return false, but we return true unconditionally to avoid a
nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect
and triggered flakes (e.g. in buffer_accounting_integration_test on
MSAN). Drop the ASSERT and update the comment.

Fixes envoyproxy#41526

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
phlax added a commit to phlax/envoy that referenced this pull request Apr 24, 2026
envoyproxy#44500)

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can
legitimately return false, but we return true unconditionally to avoid a
nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect
and triggered flakes (e.g. in buffer_accounting_integration_test on
MSAN). Drop the ASSERT and update the comment.

Fixes envoyproxy#41526

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
phlax added a commit to phlax/envoy that referenced this pull request Apr 24, 2026
envoyproxy#44500)

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can
legitimately return false, but we return true unconditionally to avoid a
nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect
and triggered flakes (e.g. in buffer_accounting_integration_test on
MSAN). Drop the ASSERT and update the comment.

Fixes envoyproxy#41526

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
phlax added a commit to phlax/envoy that referenced this pull request Apr 27, 2026
envoyproxy#44500)

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can
legitimately return false, but we return true unconditionally to avoid a
nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect
and triggered flakes (e.g. in buffer_accounting_integration_test on
MSAN). Drop the ASSERT and update the comment.

Fixes envoyproxy#41526

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
phlax added a commit to phlax/envoy that referenced this pull request Apr 27, 2026
envoyproxy#44500)

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can
legitimately return false, but we return true unconditionally to avoid a
nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect
and triggered flakes (e.g. in buffer_accounting_integration_test on
MSAN). Drop the ASSERT and update the comment.

Fixes envoyproxy#41526

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
phlax added a commit that referenced this pull request Apr 27, 2026
#44500)

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can
legitimately return false, but we return true unconditionally to avoid a
nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect
and triggered flakes (e.g. in buffer_accounting_integration_test on
MSAN). Drop the ASSERT and update the comment.

Fixes #41526

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
This was referenced Apr 27, 2026
Copilot AI pushed a commit that referenced this pull request Apr 27, 2026
#44500)

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can
legitimately return false, but we return true unconditionally to avoid a
nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect
and triggered flakes (e.g. in buffer_accounting_integration_test on
MSAN). Drop the ASSERT and update the comment.

Fixes #41526

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
Co-authored-by: phlax <454682+phlax@users.noreply.github.com>
Copilot AI pushed a commit that referenced this pull request Apr 27, 2026
#44500)

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can
legitimately return false, but we return true unconditionally to avoid a
nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect
and triggered flakes (e.g. in buffer_accounting_integration_test on
MSAN). Drop the ASSERT and update the comment.

Fixes #41526

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
Co-authored-by: phlax <454682+phlax@users.noreply.github.com>
phlax added a commit to phlax/envoy that referenced this pull request Apr 27, 2026
envoyproxy#44500)

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can
legitimately return false, but we return true unconditionally to avoid a
nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect
and triggered flakes (e.g. in buffer_accounting_integration_test on
MSAN). Drop the ASSERT and update the comment.

Fixes envoyproxy#41526

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
Co-authored-by: phlax <454682+phlax@users.noreply.github.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
phlax added a commit to phlax/envoy that referenced this pull request Apr 29, 2026
envoyproxy#44500)

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can
legitimately return false, but we return true unconditionally to avoid a
nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect
and triggered flakes (e.g. in buffer_accounting_integration_test on
MSAN). Drop the ASSERT and update the comment.

Fixes envoyproxy#41526

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
Co-authored-by: phlax <454682+phlax@users.noreply.github.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
phlax added a commit to phlax/envoy that referenced this pull request Apr 29, 2026
envoyproxy#44500)

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can
legitimately return false, but we return true unconditionally to avoid a
nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect
and triggered flakes (e.g. in buffer_accounting_integration_test on
MSAN). Drop the ASSERT and update the comment.

Fixes envoyproxy#41526

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
Co-authored-by: phlax <454682+phlax@users.noreply.github.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
phlax added a commit to phlax/envoy that referenced this pull request Apr 29, 2026
envoyproxy#44500)

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can
legitimately return false, but we return true unconditionally to avoid a
nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect
and triggered flakes (e.g. in buffer_accounting_integration_test on
MSAN). Drop the ASSERT and update the comment.

Fixes envoyproxy#41526

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
phlax added a commit that referenced this pull request Apr 30, 2026
#44500)

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can
legitimately return false, but we return true unconditionally to avoid a
nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect
and triggered flakes (e.g. in buffer_accounting_integration_test on
MSAN). Drop the ASSERT and update the comment.

Fixes #41526

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
phlax added a commit that referenced this pull request Apr 30, 2026
#44500)

QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() can
legitimately return false, but we return true unconditionally to avoid a
nullptr deref in QuicHttpClientConnectionImpl::newStream.

The existing ASSERT on the parent's return value was therefore incorrect
and triggered flakes (e.g. in buffer_accounting_integration_test on
MSAN). Drop the ASSERT and update the comment.

Fixes #41526

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
Co-authored-by: phlax <454682+phlax@users.noreply.github.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

buffer_accounting_integration_test is flakey on MSAN (possibly QUIC-related)

4 participants