Skip to content

[bp/1.25] buffer: separate the BufferFragement release and drain tracker (#28770)#30791

Closed
soulxu wants to merge 166 commits intoenvoyproxy:mainfrom
soulxu:fix_buffer_1.25
Closed

[bp/1.25] buffer: separate the BufferFragement release and drain tracker (#28770)#30791
soulxu wants to merge 166 commits intoenvoyproxy:mainfrom
soulxu:fix_buffer_1.25

Conversation

@soulxu
Copy link
Copy Markdown
Member

@soulxu soulxu commented Nov 9, 2023

Commit Message: [bp/1.25] buffer: separate the BufferFragement release and drain tracker (#28770)
This the backport of #28770

There is a requirement for the user space io handle and iouring io handle to move the write buffer to its own buffer and invoke the drain trackers. But becomes an issue for the BufferFragment, the BufferFragement's releasor is invoked by the drain tracker also. After moving with invoke drain trackers, the memory in the BufferFragment will be released too, which leads to the Buffer reference some memory already released.
Risk Level: high
Testing: unittest
Docs Changes: n/a
Release Notes: n/a
Platform Specific Features: n/a
Fixes #28760
Related to issue: #28395

phlax and others added 30 commits January 27, 2023 22:00
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
* build: Bump image -> `7304f974de2`

and revert:

- envoyproxy#24979

Signed-off-by: Ryan Northey <ryan@synca.io>

Signed-off-by: phlax <phlax@users.noreply.github.com>
Addresses envoyproxy#25205

Signed-off-by: JP Simard <jp@jpsim.com>

Signed-off-by: Ryan Northey <ryan@synca.io>
…f61596` in /ci (envoyproxy#25291)

build(deps): bump distroless/base-nossl-debian11 in /ci

Bumps distroless/base-nossl-debian11 from `cd7fe70` to `bf61596`.

---
updated-dependencies:
- dependency-name: distroless/base-nossl-debian11
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Signed-off-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>

Signed-off-by: phlax <phlax@users.noreply.github.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
* boringssl: Patch CVE-2023-0286

Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Greg Greenway <ggreenway@apple.com>

* repo: Release `1.25.1`

Signed-off-by: Ryan Northey <ryan@synca.io>

---------

Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Greg Greenway <ggreenway@apple.com>
Co-authored-by: Greg Greenway <ggreenway@apple.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Adam Kotwasinski <adam.kotwasinski@gmail.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
if the env var `DOCKER_RMI_CLEANUP` is set, this will remove any
images listed for the `RMI` variable in an example's verify.sh.

also:

- fixes some permissions in the build entrypoint
- adds some cleanups for the `wasm-cc` example

Signed-off-by: Ryan Northey <ryan@synca.io>
---
updated-dependencies:
- dependency-name: distroless/base-nossl-debian11
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Ryan Northey <ryan@synca.io>

Signed-off-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
Include `tools` and `google-vrp` images as variants.

Signed-off-by: Ryan Northey <ryan@synca.io>

Signed-off-by: phlax <phlax@users.noreply.github.com>
not from the tag

Signed-off-by: Ryan Northey <ryan@synca.io>

Signed-off-by: phlax <phlax@users.noreply.github.com>
…25715)

Signed-off-by: Ryan Northey <ryan@synca.io>

Signed-off-by: phlax <phlax@users.noreply.github.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
This refactors and adds regression tests to `./ci/docker_ci.sh`.

Images are no longer built repeatedly so it should be much faster.

Fixes missing `-latest` images from release builds.

Signed-off-by: Ryan Northey <ryan@synca.io>
phlax and others added 11 commits October 11, 2023 20:22
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
…#30158)

---------

Signed-off-by: Yan Avlasov <yavlasov@google.com>
Summary of changes:

* Fixed a bug where processing of deferred streams with the value of
  ``http.max_requests_per_io_cycle`` more than 1, can cause a crash.

**Docker images**:
    https://hub.docker.com/r/envoyproxy/envoy/tags?page=1&name=v1.25.11
**Docs**:
    https://www.envoyproxy.io/docs/envoy/v1.25.11/
**Release notes**:
    https://www.envoyproxy.io/docs/envoy/v1.25.11/version_history/v1.25/v1.25.0
**Full changelog**:
    envoyproxy/envoy@v1.25.10...v1.25.11

Signed-off-by: Ryan Northey <ryan@synca.io>
Signed-off-by: Ryan Northey <ryan@synca.io>
Prevent doConnectionClose to be called recursively when connection with active requests is disconnected due to premature reset check.

Signed-off-by: Yan Avlasov <yavlasov@google.com>
Signed-off-by: Yan Avlasov <yavlasov@google.com>
Fix envoyproxy#28345
Fix envoyproxy#28417

Signed-off-by: Ryan Northey <ryan@synca.io>

Signed-off-by: phlax <phlax@users.noreply.github.com>
Signed-off-by: River Phillips <riverphillips1@gmail.com>
Signed-off-by: Ryan Northey <ryan@synca.io>
@repokitteh-read-only
Copy link
Copy Markdown

CC @envoyproxy/coverage-shephards: FYI only for changes made to (test/per_file_coverage.sh).
envoyproxy/coverage-shephards assignee is @RyanTheOptimist
CC @envoyproxy/runtime-guard-changes: FYI only for changes made to (source/common/runtime/runtime_features.cc).
CC @envoyproxy/api-shepherds: Your approval is needed for changes made to (api/envoy/|docs/root/api-docs/).
envoyproxy/api-shepherds assignee is @markdroth
CC @envoyproxy/api-watchers: FYI only for changes made to (api/envoy/|docs/root/api-docs/).
CC @envoyproxy/dependency-shepherds: Your approval is needed for changes made to (bazel/.*repos.*\.bzl)|(bazel/dependency_imports\.bzl)|(api/bazel/.*\.bzl)|(.*/requirements\.txt)|(.*\.patch).
envoyproxy/dependency-shepherds assignee is @phlax

🐱

Caused by: #30791 was opened by soulxu.

see: more, trace.

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

Labels

api deps Approval required for changes to Envoy's external dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Envoy 1.27.0: Regression in UserSpace::IoHandleImpl