denoland/deno · error · TypeError
The benchmark which this context belongs to is not being exe
Error message
The benchmark which this context belongs to is not being executed
What it means
Downloads of the laufey backend are pinned against `cli/laufey_sums.lock` (the reviewed trust anchor, used instead of the unsigned upstream SHA256SUMS). This error means the computed archive name for the requested backend/target has no pinned digest: either the Deno build's lock was not regenerated after a LAUFEY_VERSION bump, or that laufey release ships no archive for this backend/target pair.
Source
Thrown at cli/js/40_bench.js:427
wavg > lowPrecisionThresholdInNs,
usedExplicitTimers,
avg,
min,
max,
allSlice,
allLength,
);
}
/** @param desc {BenchDescription} */
function createBenchContext(desc) {
return {
[SymbolToStringTag]: "BenchContext",
name: desc.name,
origin: desc.origin,
start() {
if (currentBenchId !== desc.id) {
throw new TypeError(
"The benchmark which this context belongs to is not being executed",
);
}
if (currentBenchUserExplicitStart != null) {
throw new TypeError(
"BenchContext::start() has already been invoked",
);
}
currentBenchUserExplicitStart = benchNow();
},
end() {
const end = benchNow();
if (currentBenchId !== desc.id) {
throw new TypeError(
"The benchmark which this context belongs to is not being executed",
);
}
if (currentBenchUserExplicitEnd != null) {View on GitHub (pinned to 89f33cbef2)
Solutions
- Drop or change `--target` to a mainstream target that the backend ships
- Update to a released Deno build where the lock file matches LAUFEY_VERSION
- If building Deno yourself, regenerate `cli/laufey_sums.lock` for the new LAUFEY_VERSION and confirm the archive exists in the upstream release
Defensive patterns
Strategy: validation
Validate before calling
const laufeyTargets = new Set([
'x86_64-apple-darwin', 'aarch64-apple-darwin',
'x86_64-pc-windows-msvc', 'x86_64-unknown-linux-gnu',
]);
if (!laufeyTargets.has(target)) {
throw new Error(`target not shipped by laufey: ${target}`);
} Prevention
- Pin CI/desktop builds to mainstream targets known to ship laufey archives
- When self-building Deno, always regenerate laufey_sums.lock with the LAUFEY_VERSION bump
- Treat a missing pin as a stop-the-line signal, not something to bypass
When it happens
Trigger: Requesting a backend/target combination laufey does not publish (exotic `--target`, uncommon backend), or using a self-built/nightly Deno where LAUFEY_VERSION moved without regenerating the lock (build-time consistency is asserted in cli/build.rs).
Common situations: Cross-compiling to an unusual target; running a dev build of Deno from a dirty checkout; using a backend newly added on one side but not the other.
Related errors
- Invalid range. Start value is bigger than end value: [${star
- BenchContext::start() has already been invoked
- BenchContext::end() has already been invoked
- Bench attempted to exit with exit code: ${exitCode}
- Object is not a valid image or a path to an image. `Deno.jup
AI-assisted analysis of denoland/deno@89f33cbef2 (2026-08-16).
Data as JSON: /api/errors/2e4264999af6ed48.
Report an issue: GitHub.