nodejs/node · error · MBErr
did not generate any of %s
Error message
did not generate any of %s
What it means
MB runs GN gen + ninja to produce a `<target>.runtime_deps` file (or platform variants like `.exe.runtime_deps` or `obj/<label>.runtime_deps`) listing the files needed to isolate a test. If none of the candidate runtime_deps files exist after the build, MB cannot write isolate files.
Source
Thrown at deps/v8/tools/mb/mb.py:760
label = isolate_map[target]['label']
runtime_deps_targets = [
'obj/%s.runtime_deps' % label.replace(':', '/'),
'obj/%s.stamp.runtime_deps' % label.replace(':', '/')]
if self.platform == 'win32':
runtime_deps_targets += [ target + '.exe.runtime_deps' ]
else:
runtime_deps_targets += [ target + '.runtime_deps' ]
elif self.platform == 'win32':
runtime_deps_targets = [target + '.exe.runtime_deps']
else:
runtime_deps_targets = [target + '.runtime_deps']
for r in runtime_deps_targets:
runtime_deps_path = self.ToAbsPath(build_dir, r)
if self.Exists(runtime_deps_path):
break
else:
raise MBErr('did not generate any of %s' %
', '.join(runtime_deps_targets))
runtime_deps = self.ReadFile(runtime_deps_path).splitlines()
self.WriteIsolateFiles(build_dir, target, runtime_deps)
return 0
def RunGNIsolate(self):
target = self.args.target[0]
isolate_map = self.ReadIsolateMap()
err, labels = self.MapTargetsToLabels(isolate_map, [target])
if err:
raise MBErr(err)
label = labels[0]
build_dir = self.args.path[0]
View on GitHub (pinned to 1b2de5e052)
Solutions
- Run `mb.py gen` and then ninja-build the exact target in the same build dir before isolate.
- Verify the --target label resolves to the runtime_deps path MB is searching for.
- Wipe and regenerate the build dir to rule out stale state.
- Re-check the ninja build log to confirm it completed without error.
Defensive patterns
Strategy: validation
Validate before calling
# Before calling mb.py isolate, confirm ninja produced runtime_deps.
import os
candidates = [
os.path.join(build_dir, 'obj', label.replace(':', '/') + '.runtime_deps'),
os.path.join(build_dir, target + '.runtime_deps'),
]
assert any(os.path.exists(p) for p in candidates), (
f"no runtime_deps produced; build target {target!r} first") Prevention
- Always run `mb.py gen` then ninja for the target before isolate.
- In recipes, fail fast on ninja errors rather than letting isolate run on a partial build.
- Wipe stale build dirs in clean builds.
When it happens
Trigger: Calling `mb.py isolate` (or a recipe step that drives it) against a build dir where ninja never produced the expected runtime_deps file for the target.
Common situations: Build dir never actually built; target name/label mismatch; stale or partially-populated build dir; ninja failed silently upstream; platform-specific path differences (win32 vs android vs posix).
Related errors
- Cannot generate isolate for %s since it is an additional_com
- --enable-v8windbg is incompatible with --without-bundled-v8.
- --v8-enable-hugepage is supported only on linux.
- Only one of the --v8-enable-object-print or --v8-disable-obj
- Only one of the --v8-enable-temporal-support or --v8-disable
AI-assisted analysis of nodejs/node@1b2de5e052 (2026-08-13).
Data as JSON: /api/errors/6c0b7e23068bcd4a.
Report an issue: GitHub.