From a07344f78127770bdd39577bd9e85be38494cd09 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Thu, 16 Apr 2026 19:45:44 -0500 Subject: [PATCH] host: Add deliberate memory leak to exercise #4430 --- packages/host/app/services/loader-service.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/host/app/services/loader-service.ts b/packages/host/app/services/loader-service.ts index b3ac575b09d..fb8ac4dd5ec 100644 --- a/packages/host/app/services/loader-service.ts +++ b/packages/host/app/services/loader-service.ts @@ -30,6 +30,12 @@ import type ResetService from './reset'; const log = logger('loader-service'); +// DELIBERATE LEAK — exists only to exercise the per-module MEMPROBE_FILE +// probe in CI. Every LoaderService owner (one per test) pushes a 256KB +// buffer into this module-level array, which never gets released, so the +// per-module `delta=` grows with the test count. Revert before landing. +const __memprobeLeak: Uint8Array[] = []; + export default class LoaderService extends Service { @service declare private realmInfoService: RealmInfoService; @service declare private realm: RealmService; @@ -47,6 +53,9 @@ export default class LoaderService extends Service { this.resetState(); } registerDestructor(this, () => this.resetState()); + let buf = new Uint8Array(256 * 1024); + buf.fill(0xab); + __memprobeLeak.push(buf); } public resetState() {