From 12236043bc8682b3c70481c9c000e25e631b67e4 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sun, 23 Aug 2026 00:50:28 +0000 Subject: [PATCH 01/12] mimalloc: one heap delete/destroy teardown protocol (oven-sh/mimalloc#27) Bumps to oven-sh/mimalloc claude/heap-lifecycle, which combines mimalloc #22-#26 and replaces their per-reader fixes with a single teardown for mi_heap_delete/mi_heap_destroy that pins a page before claiming it, plus targeted upstream dev3 fixes. No-Verification-Needed: dependency pin bump; verified by the mimalloc test suite (release/debug/ASAN/TSAN) and bun debug tests locally --- scripts/build/deps/mimalloc.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build/deps/mimalloc.ts b/scripts/build/deps/mimalloc.ts index a8dbc3ae1ff9..12706b1a9160 100644 --- a/scripts/build/deps/mimalloc.ts +++ b/scripts/build/deps/mimalloc.ts @@ -12,7 +12,7 @@ import type { Dependency, DirectBuild } from "../source.ts"; -const MIMALLOC_COMMIT = "6a14aee24315e503fa295a1fa90fe8b24ad91774"; +const MIMALLOC_COMMIT = "e19d8710c827621ef833259fd96c62278d9228c4"; export const mimalloc: Dependency = { name: "mimalloc", From 1233bd830ecacbc0187f0f9054a8c7cf8642f60f Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sun, 23 Aug 2026 01:02:52 +0000 Subject: [PATCH 02/12] process.test: expect the new mimalloc commit --- test/js/node/process/process.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/js/node/process/process.test.js b/test/js/node/process/process.test.js index d07989e2b719..6b587a26c976 100644 --- a/test/js/node/process/process.test.js +++ b/test/js/node/process/process.test.js @@ -576,7 +576,7 @@ it("process.versions", () => { const expectedVersions = { boringssl: "2288897e2e716330490893d226b4f079f9da9e0c", libarchive: "ded82291ab41d5e355831b96b0e1ff49e24d8939", - mimalloc: "6a14aee24315e503fa295a1fa90fe8b24ad91774", + mimalloc: "e19d8710c827621ef833259fd96c62278d9228c4", picohttpparser: "066d2b1e9ab820703db0837a7255d92d30f0c9f5", zlib: "12731092979c6d07f42da27da673a9f6c7b13586", tinycc: "05f0fafaa3be31e31d7b4b5c17dc60f62c991171", From 00504ca736c75df82af60f6fd35a04b06b468d34 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sun, 23 Aug 2026 01:21:27 +0000 Subject: [PATCH 03/12] bump mimalloc pin (idle_start double-park fix) --- scripts/build/deps/mimalloc.ts | 2 +- test/js/node/process/process.test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build/deps/mimalloc.ts b/scripts/build/deps/mimalloc.ts index 12706b1a9160..f0596ee76c18 100644 --- a/scripts/build/deps/mimalloc.ts +++ b/scripts/build/deps/mimalloc.ts @@ -12,7 +12,7 @@ import type { Dependency, DirectBuild } from "../source.ts"; -const MIMALLOC_COMMIT = "e19d8710c827621ef833259fd96c62278d9228c4"; +const MIMALLOC_COMMIT = "d9a4ae0bcb86178f04dba166286b3ee3a678c8bb"; export const mimalloc: Dependency = { name: "mimalloc", diff --git a/test/js/node/process/process.test.js b/test/js/node/process/process.test.js index 6b587a26c976..7f5f03ea63ed 100644 --- a/test/js/node/process/process.test.js +++ b/test/js/node/process/process.test.js @@ -576,7 +576,7 @@ it("process.versions", () => { const expectedVersions = { boringssl: "2288897e2e716330490893d226b4f079f9da9e0c", libarchive: "ded82291ab41d5e355831b96b0e1ff49e24d8939", - mimalloc: "e19d8710c827621ef833259fd96c62278d9228c4", + mimalloc: "d9a4ae0bcb86178f04dba166286b3ee3a678c8bb", picohttpparser: "066d2b1e9ab820703db0837a7255d92d30f0c9f5", zlib: "12731092979c6d07f42da27da673a9f6c7b13586", tinycc: "05f0fafaa3be31e31d7b4b5c17dc60f62c991171", From f9674b89f79a037742a622acbe4063000351ed59 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sun, 23 Aug 2026 01:49:10 +0000 Subject: [PATCH 04/12] bump mimalloc pin (override-config test fixes, scavenger exit handshake) --- scripts/build/deps/mimalloc.ts | 2 +- test/js/node/process/process.test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build/deps/mimalloc.ts b/scripts/build/deps/mimalloc.ts index f0596ee76c18..a4314bbac774 100644 --- a/scripts/build/deps/mimalloc.ts +++ b/scripts/build/deps/mimalloc.ts @@ -12,7 +12,7 @@ import type { Dependency, DirectBuild } from "../source.ts"; -const MIMALLOC_COMMIT = "d9a4ae0bcb86178f04dba166286b3ee3a678c8bb"; +const MIMALLOC_COMMIT = "4777fa807ea4472042f614d8ac50520866986bd8"; export const mimalloc: Dependency = { name: "mimalloc", diff --git a/test/js/node/process/process.test.js b/test/js/node/process/process.test.js index 7f5f03ea63ed..1981db820002 100644 --- a/test/js/node/process/process.test.js +++ b/test/js/node/process/process.test.js @@ -576,7 +576,7 @@ it("process.versions", () => { const expectedVersions = { boringssl: "2288897e2e716330490893d226b4f079f9da9e0c", libarchive: "ded82291ab41d5e355831b96b0e1ff49e24d8939", - mimalloc: "d9a4ae0bcb86178f04dba166286b3ee3a678c8bb", + mimalloc: "4777fa807ea4472042f614d8ac50520866986bd8", picohttpparser: "066d2b1e9ab820703db0837a7255d92d30f0c9f5", zlib: "12731092979c6d07f42da27da673a9f6c7b13586", tinycc: "05f0fafaa3be31e31d7b4b5c17dc60f62c991171", From ea7df650fe954fa66ecf317175368501b91820ad Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sun, 23 Aug 2026 03:01:30 +0000 Subject: [PATCH 05/12] bump mimalloc pin (CI matrix fixes; scavenger starts on first use) --- scripts/build/deps/mimalloc.ts | 2 +- test/js/node/process/process.test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build/deps/mimalloc.ts b/scripts/build/deps/mimalloc.ts index a4314bbac774..ed0000031011 100644 --- a/scripts/build/deps/mimalloc.ts +++ b/scripts/build/deps/mimalloc.ts @@ -12,7 +12,7 @@ import type { Dependency, DirectBuild } from "../source.ts"; -const MIMALLOC_COMMIT = "4777fa807ea4472042f614d8ac50520866986bd8"; +const MIMALLOC_COMMIT = "36ddf78cbc8bb6d397e32b3ebfe676147453e0f0"; export const mimalloc: Dependency = { name: "mimalloc", diff --git a/test/js/node/process/process.test.js b/test/js/node/process/process.test.js index 1981db820002..5a3da8706882 100644 --- a/test/js/node/process/process.test.js +++ b/test/js/node/process/process.test.js @@ -576,7 +576,7 @@ it("process.versions", () => { const expectedVersions = { boringssl: "2288897e2e716330490893d226b4f079f9da9e0c", libarchive: "ded82291ab41d5e355831b96b0e1ff49e24d8939", - mimalloc: "4777fa807ea4472042f614d8ac50520866986bd8", + mimalloc: "36ddf78cbc8bb6d397e32b3ebfe676147453e0f0", picohttpparser: "066d2b1e9ab820703db0837a7255d92d30f0c9f5", zlib: "12731092979c6d07f42da27da673a9f6c7b13586", tinycc: "05f0fafaa3be31e31d7b4b5c17dc60f62c991171", From 3a28515d4774759f1958a4e64d322c9af24b6820 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sun, 23 Aug 2026 04:18:03 +0000 Subject: [PATCH 06/12] bump mimalloc pin (test-suite portability; scavenger starts with the second thread) --- scripts/build/deps/mimalloc.ts | 2 +- test/js/node/process/process.test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build/deps/mimalloc.ts b/scripts/build/deps/mimalloc.ts index ed0000031011..6ce7e6482ef4 100644 --- a/scripts/build/deps/mimalloc.ts +++ b/scripts/build/deps/mimalloc.ts @@ -12,7 +12,7 @@ import type { Dependency, DirectBuild } from "../source.ts"; -const MIMALLOC_COMMIT = "36ddf78cbc8bb6d397e32b3ebfe676147453e0f0"; +const MIMALLOC_COMMIT = "1c68ff911a8527efb5652de8a3032c9a89f4a311"; export const mimalloc: Dependency = { name: "mimalloc", diff --git a/test/js/node/process/process.test.js b/test/js/node/process/process.test.js index 5a3da8706882..2fdc19750de0 100644 --- a/test/js/node/process/process.test.js +++ b/test/js/node/process/process.test.js @@ -576,7 +576,7 @@ it("process.versions", () => { const expectedVersions = { boringssl: "2288897e2e716330490893d226b4f079f9da9e0c", libarchive: "ded82291ab41d5e355831b96b0e1ff49e24d8939", - mimalloc: "36ddf78cbc8bb6d397e32b3ebfe676147453e0f0", + mimalloc: "1c68ff911a8527efb5652de8a3032c9a89f4a311", picohttpparser: "066d2b1e9ab820703db0837a7255d92d30f0c9f5", zlib: "12731092979c6d07f42da27da673a9f6c7b13586", tinycc: "05f0fafaa3be31e31d7b4b5c17dc60f62c991171", From bec62793b6e37d8f87aa70faec09fc12bdee1890 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sun, 23 Aug 2026 05:25:37 +0000 Subject: [PATCH 07/12] bump mimalloc pin (relaxed page-map load kept; TSAN CI budget) --- scripts/build/deps/mimalloc.ts | 2 +- test/js/node/process/process.test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build/deps/mimalloc.ts b/scripts/build/deps/mimalloc.ts index 6ce7e6482ef4..2b85426a0a62 100644 --- a/scripts/build/deps/mimalloc.ts +++ b/scripts/build/deps/mimalloc.ts @@ -12,7 +12,7 @@ import type { Dependency, DirectBuild } from "../source.ts"; -const MIMALLOC_COMMIT = "1c68ff911a8527efb5652de8a3032c9a89f4a311"; +const MIMALLOC_COMMIT = "680b2379b8abb5bd62e0a37ab83dc458c1149a0b"; export const mimalloc: Dependency = { name: "mimalloc", diff --git a/test/js/node/process/process.test.js b/test/js/node/process/process.test.js index 2fdc19750de0..0a54e2e24d18 100644 --- a/test/js/node/process/process.test.js +++ b/test/js/node/process/process.test.js @@ -576,7 +576,7 @@ it("process.versions", () => { const expectedVersions = { boringssl: "2288897e2e716330490893d226b4f079f9da9e0c", libarchive: "ded82291ab41d5e355831b96b0e1ff49e24d8939", - mimalloc: "1c68ff911a8527efb5652de8a3032c9a89f4a311", + mimalloc: "680b2379b8abb5bd62e0a37ab83dc458c1149a0b", picohttpparser: "066d2b1e9ab820703db0837a7255d92d30f0c9f5", zlib: "12731092979c6d07f42da27da673a9f6c7b13586", tinycc: "05f0fafaa3be31e31d7b4b5c17dc60f62c991171", From 072bfe06ba5d4aa49e60cc101da9f15e28b1c217 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sun, 23 Aug 2026 06:12:06 +0000 Subject: [PATCH 08/12] bump mimalloc pin (debug assertion on the page allocation failure path) --- scripts/build/deps/mimalloc.ts | 2 +- test/js/node/process/process.test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build/deps/mimalloc.ts b/scripts/build/deps/mimalloc.ts index 2b85426a0a62..343006da0837 100644 --- a/scripts/build/deps/mimalloc.ts +++ b/scripts/build/deps/mimalloc.ts @@ -12,7 +12,7 @@ import type { Dependency, DirectBuild } from "../source.ts"; -const MIMALLOC_COMMIT = "680b2379b8abb5bd62e0a37ab83dc458c1149a0b"; +const MIMALLOC_COMMIT = "6c2c244fc4ae7a206b75127afa11180a57f678ab"; export const mimalloc: Dependency = { name: "mimalloc", diff --git a/test/js/node/process/process.test.js b/test/js/node/process/process.test.js index 0a54e2e24d18..220f70d6b868 100644 --- a/test/js/node/process/process.test.js +++ b/test/js/node/process/process.test.js @@ -576,7 +576,7 @@ it("process.versions", () => { const expectedVersions = { boringssl: "2288897e2e716330490893d226b4f079f9da9e0c", libarchive: "ded82291ab41d5e355831b96b0e1ff49e24d8939", - mimalloc: "680b2379b8abb5bd62e0a37ab83dc458c1149a0b", + mimalloc: "6c2c244fc4ae7a206b75127afa11180a57f678ab", picohttpparser: "066d2b1e9ab820703db0837a7255d92d30f0c9f5", zlib: "12731092979c6d07f42da27da673a9f6c7b13586", tinycc: "05f0fafaa3be31e31d7b4b5c17dc60f62c991171", From 45877309e5fd0e650d98937b1eadc1bc5056bb8d Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sun, 23 Aug 2026 07:57:28 +0000 Subject: [PATCH 09/12] bump mimalloc pin: sweep leaves an inconsistent free list alone instead of repairing it No-Verification-Needed: dependency pin bump; targeted worker/process/heap-snapshot suites run locally in release --- scripts/build/deps/mimalloc.ts | 2 +- test/js/node/process/process.test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build/deps/mimalloc.ts b/scripts/build/deps/mimalloc.ts index 343006da0837..6a52a707837e 100644 --- a/scripts/build/deps/mimalloc.ts +++ b/scripts/build/deps/mimalloc.ts @@ -12,7 +12,7 @@ import type { Dependency, DirectBuild } from "../source.ts"; -const MIMALLOC_COMMIT = "6c2c244fc4ae7a206b75127afa11180a57f678ab"; +const MIMALLOC_COMMIT = "94ce60895dea301782a37e999963e9e72c8ad9e7"; export const mimalloc: Dependency = { name: "mimalloc", diff --git a/test/js/node/process/process.test.js b/test/js/node/process/process.test.js index 220f70d6b868..1e8eccb3ca41 100644 --- a/test/js/node/process/process.test.js +++ b/test/js/node/process/process.test.js @@ -576,7 +576,7 @@ it("process.versions", () => { const expectedVersions = { boringssl: "2288897e2e716330490893d226b4f079f9da9e0c", libarchive: "ded82291ab41d5e355831b96b0e1ff49e24d8939", - mimalloc: "6c2c244fc4ae7a206b75127afa11180a57f678ab", + mimalloc: "94ce60895dea301782a37e999963e9e72c8ad9e7", picohttpparser: "066d2b1e9ab820703db0837a7255d92d30f0c9f5", zlib: "12731092979c6d07f42da27da673a9f6c7b13586", tinycc: "05f0fafaa3be31e31d7b4b5c17dc60f62c991171", From cadd9cc32f2f8eb4bd8572ba9682fce5fae6935e Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sun, 23 Aug 2026 09:05:06 +0000 Subject: [PATCH 10/12] bump mimalloc pin (tests only: sweep on a double-freed list, scavenger lazy start and signal mask) No-Verification-Needed: dependency pin bump; the mimalloc diff is test-only --- scripts/build/deps/mimalloc.ts | 2 +- test/js/node/process/process.test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build/deps/mimalloc.ts b/scripts/build/deps/mimalloc.ts index 6a52a707837e..2b7d20408e6c 100644 --- a/scripts/build/deps/mimalloc.ts +++ b/scripts/build/deps/mimalloc.ts @@ -12,7 +12,7 @@ import type { Dependency, DirectBuild } from "../source.ts"; -const MIMALLOC_COMMIT = "94ce60895dea301782a37e999963e9e72c8ad9e7"; +const MIMALLOC_COMMIT = "6b4a39ec728b29ac1316a4060348c9d0be34b5c3"; export const mimalloc: Dependency = { name: "mimalloc", diff --git a/test/js/node/process/process.test.js b/test/js/node/process/process.test.js index 1e8eccb3ca41..ad0b48622d0a 100644 --- a/test/js/node/process/process.test.js +++ b/test/js/node/process/process.test.js @@ -576,7 +576,7 @@ it("process.versions", () => { const expectedVersions = { boringssl: "2288897e2e716330490893d226b4f079f9da9e0c", libarchive: "ded82291ab41d5e355831b96b0e1ff49e24d8939", - mimalloc: "94ce60895dea301782a37e999963e9e72c8ad9e7", + mimalloc: "6b4a39ec728b29ac1316a4060348c9d0be34b5c3", picohttpparser: "066d2b1e9ab820703db0837a7255d92d30f0c9f5", zlib: "12731092979c6d07f42da27da673a9f6c7b13586", tinycc: "05f0fafaa3be31e31d7b4b5c17dc60f62c991171", From 7d17df4704fba444f35158880cd6dd54d1a7ef3a Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sun, 23 Aug 2026 09:12:20 +0000 Subject: [PATCH 11/12] bump mimalloc pin: no double-free handling in the idle sweep No-Verification-Needed: dependency pin bump --- scripts/build/deps/mimalloc.ts | 2 +- test/js/node/process/process.test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build/deps/mimalloc.ts b/scripts/build/deps/mimalloc.ts index 2b7d20408e6c..40370719c174 100644 --- a/scripts/build/deps/mimalloc.ts +++ b/scripts/build/deps/mimalloc.ts @@ -12,7 +12,7 @@ import type { Dependency, DirectBuild } from "../source.ts"; -const MIMALLOC_COMMIT = "6b4a39ec728b29ac1316a4060348c9d0be34b5c3"; +const MIMALLOC_COMMIT = "8e7d7d49f65a37310077021ef52bdffe317c2217"; export const mimalloc: Dependency = { name: "mimalloc", diff --git a/test/js/node/process/process.test.js b/test/js/node/process/process.test.js index ad0b48622d0a..782689cac22f 100644 --- a/test/js/node/process/process.test.js +++ b/test/js/node/process/process.test.js @@ -576,7 +576,7 @@ it("process.versions", () => { const expectedVersions = { boringssl: "2288897e2e716330490893d226b4f079f9da9e0c", libarchive: "ded82291ab41d5e355831b96b0e1ff49e24d8939", - mimalloc: "6b4a39ec728b29ac1316a4060348c9d0be34b5c3", + mimalloc: "8e7d7d49f65a37310077021ef52bdffe317c2217", picohttpparser: "066d2b1e9ab820703db0837a7255d92d30f0c9f5", zlib: "12731092979c6d07f42da27da673a9f6c7b13586", tinycc: "05f0fafaa3be31e31d7b4b5c17dc60f62c991171", From ac16c93f6d31e82bd7b860d59ebe7e29f86cb73e Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sun, 23 Aug 2026 23:38:31 +0000 Subject: [PATCH 12/12] pin mimalloc to the bun-dev3-v2 merge of oven-sh/mimalloc#27 No-Verification-Needed: dependency pin bump to the merge commit; tree identical to the previous pin --- scripts/build/deps/mimalloc.ts | 2 +- test/js/node/process/process.test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build/deps/mimalloc.ts b/scripts/build/deps/mimalloc.ts index 40370719c174..269e9877c058 100644 --- a/scripts/build/deps/mimalloc.ts +++ b/scripts/build/deps/mimalloc.ts @@ -12,7 +12,7 @@ import type { Dependency, DirectBuild } from "../source.ts"; -const MIMALLOC_COMMIT = "8e7d7d49f65a37310077021ef52bdffe317c2217"; +const MIMALLOC_COMMIT = "a178e44af6dc2845c793a39fd62da583b3e9f0ff"; export const mimalloc: Dependency = { name: "mimalloc", diff --git a/test/js/node/process/process.test.js b/test/js/node/process/process.test.js index 782689cac22f..c1a07c118f92 100644 --- a/test/js/node/process/process.test.js +++ b/test/js/node/process/process.test.js @@ -576,7 +576,7 @@ it("process.versions", () => { const expectedVersions = { boringssl: "2288897e2e716330490893d226b4f079f9da9e0c", libarchive: "ded82291ab41d5e355831b96b0e1ff49e24d8939", - mimalloc: "8e7d7d49f65a37310077021ef52bdffe317c2217", + mimalloc: "a178e44af6dc2845c793a39fd62da583b3e9f0ff", picohttpparser: "066d2b1e9ab820703db0837a7255d92d30f0c9f5", zlib: "12731092979c6d07f42da27da673a9f6c7b13586", tinycc: "05f0fafaa3be31e31d7b4b5c17dc60f62c991171",