From 2c3f36bcac6812a32600fef1146b3a55f1beda85 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Nov 2026 00:45:38 +0000 Subject: [PATCH 1/3] build(deps): bump aws-lc-rs from 1.18.2 to 1.19.0 Bumps [aws-lc-rs](https://github.com/aws/aws-lc-rs) from 1.18.2 to 1.19.0. - [Release notes](https://github.com/aws/aws-lc-rs/releases) - [Commits](https://github.com/aws/aws-lc-rs/compare/v1.18.2...v1.19.0) --- updated-dependencies: - dependency-name: aws-lc-rs dependency-version: 1.19.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 59944a0..231252e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -58,9 +58,9 @@ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "aws-lc-rs" -version = "1.18.2" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faac5829c2b74c28f830747e7818ccfb684261b5f48a1118b1e2a13d36dfab13" +checksum = "048006790404103c488e6c5616b3e7e702a71292aadda08e8f7698a9e0d2eb53" dependencies = [ "aws-lc-sys", "zeroize", @@ -68,9 +68,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.46.0" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1622d8446a2d4b2ce0c7eefc73dd43a99779028d5ee5c2dd8073a658ba8a2bc" +checksum = "8bfbe32ac36b3c428696ce315464181bc4029d689fd58e3f2a4e58c252242f52" dependencies = [ "cc", "cmake", diff --git a/Cargo.toml b/Cargo.toml index 302ed6e..c00061b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,7 +26,7 @@ tokio = { version = "1", default-features = false, features = ["net", "io-util", socket2 = { version = "0.6", features = ["all"] } libc = { version = "0" } rustls = { version = "=0.23.46", default-features = false } -aws-lc-rs = { version = "=1.18.2", default-features = false } +aws-lc-rs = { version = "=1.19.0", default-features = false } libmimalloc-sys = { version = "=0.1.49" } [workspace.lints.rust] From 7e0347f5c2f6580d063ebc10e0158741dc5876dd Mon Sep 17 00:00:00 2001 From: Sam Gammon Date: Wed, 4 Nov 2026 16:59:29 -0800 Subject: [PATCH 2/3] fix(deps): synchronize AWS-LC consumer lockfiles --- fuzz/Cargo.lock | 8 ++++---- tests/embedder/Cargo.lock | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index 038887a..c7d00ab 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -31,9 +31,9 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "aws-lc-rs" -version = "1.18.2" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faac5829c2b74c28f830747e7818ccfb684261b5f48a1118b1e2a13d36dfab13" +checksum = "048006790404103c488e6c5616b3e7e702a71292aadda08e8f7698a9e0d2eb53" dependencies = [ "aws-lc-sys", "zeroize", @@ -41,9 +41,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.46.0" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1622d8446a2d4b2ce0c7eefc73dd43a99779028d5ee5c2dd8073a658ba8a2bc" +checksum = "8bfbe32ac36b3c428696ce315464181bc4029d689fd58e3f2a4e58c252242f52" dependencies = [ "cc", "cmake", diff --git a/tests/embedder/Cargo.lock b/tests/embedder/Cargo.lock index 3642d89..97be835 100644 --- a/tests/embedder/Cargo.lock +++ b/tests/embedder/Cargo.lock @@ -19,9 +19,9 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "aws-lc-rs" -version = "1.18.2" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faac5829c2b74c28f830747e7818ccfb684261b5f48a1118b1e2a13d36dfab13" +checksum = "048006790404103c488e6c5616b3e7e702a71292aadda08e8f7698a9e0d2eb53" dependencies = [ "aws-lc-sys", "zeroize", @@ -29,9 +29,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.46.0" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1622d8446a2d4b2ce0c7eefc73dd43a99779028d5ee5c2dd8073a658ba8a2bc" +checksum = "8bfbe32ac36b3c428696ce315464181bc4029d689fd58e3f2a4e58c252242f52" dependencies = [ "cc", "cmake", From 8517f6f3e3f5b5fe1806818367dd3a98c1f5a1f3 Mon Sep 17 00:00:00 2001 From: Sam Gammon Date: Wed, 4 Nov 2026 17:08:05 -0800 Subject: [PATCH 3/3] test(safety): synchronize the deliberate TSAN race canary --- tests/sanitizer/SanitizerCanary.java | 7 +++++++ tests/sanitizer/canary.c | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/sanitizer/SanitizerCanary.java b/tests/sanitizer/SanitizerCanary.java index fb8d2d8..fd525e2 100644 --- a/tests/sanitizer/SanitizerCanary.java +++ b/tests/sanitizer/SanitizerCanary.java @@ -5,6 +5,7 @@ import java.lang.foreign.ValueLayout; import java.lang.invoke.MethodHandle; import java.nio.file.Path; +import java.util.concurrent.CountDownLatch; /** Calls a deliberately defective native library through FFM; the sanitizer must abort it. */ public final class SanitizerCanary { @@ -26,18 +27,24 @@ public static void main(String[] args) throws Throwable { symbols.find("bemo_canary_race").orElseThrow(), FunctionDescriptor.ofVoid(ValueLayout.JAVA_INT)); Thread[] threads = new Thread[4]; + CountDownLatch ready = new CountDownLatch(threads.length); + CountDownLatch start = new CountDownLatch(1); for (int index = 0; index < threads.length; index++) { threads[index] = Thread.ofPlatform() .start( () -> { try { + ready.countDown(); + start.await(); race.invokeExact(100_000); } catch (Throwable failure) { throw new AssertionError(failure); } }); } + ready.await(); + start.countDown(); for (Thread thread : threads) { thread.join(); } diff --git a/tests/sanitizer/canary.c b/tests/sanitizer/canary.c index 2e704a0..78fe904 100644 --- a/tests/sanitizer/canary.c +++ b/tests/sanitizer/canary.c @@ -14,7 +14,9 @@ int32_t bemo_canary_overflow(void) { } /* Unsynchronized counter written from several Java threads: TSAN must report it. */ -static uint64_t counter; +/* Keep repeated loads/stores; an optimized counter += iterations can finish + * before the other callers enter. Volatile does not make these accesses atomic. */ +static volatile uint64_t counter; void bemo_canary_race(int32_t iterations) { for (int32_t index = 0; index < iterations; index++) {