nodejs/node · error · MBErr
Builder groups name "%s" not found in "%s"
Error message
Builder groups name "%s" not found in "%s"
What it means
After selecting by -m/--builder-group and -b/--builder, ConfigFromArgs() checks `self.args.builder_group in self.builder_groups` (loaded from mb_config.pyl). If the group name is not a key in builder_groups, it raises MBErr('Builder groups name "%s" not found in "%s"').
Source
Thrown at deps/v8/tools/mb/mb.py:609
raise MBErr('Failed to parse isolate map file "%s": %s' %
(isolate_map, e)) from e
return isolate_maps
def ConfigFromArgs(self):
if self.args.config:
if self.args.builder_group or self.args.builder:
raise MBErr(
'Can not specific both -c/--config and -m/--builder-group or '
'-b/--builder')
return self.args.config
if not self.args.builder_group or not self.args.builder:
raise MBErr('Must specify either -c/--config or '
'(-m/--builder-group and -b/--builder)')
if not self.args.builder_group in self.builder_groups:
raise MBErr('Builder groups name "%s" not found in "%s"' %
(self.args.builder_group, self.args.config_file))
config = _v8_builder_fallback(
self.args.builder, self.builder_groups[self.args.builder_group])
if not config:
raise MBErr(
'Builder name "%s" not found under builder_groups[%s] in "%s"' %
(self.args.builder, self.args.builder_group, self.args.config_file))
if isinstance(config, dict):
if self.args.phase is None:
raise MBErr('Must specify a build --phase for %s on %s' %
(self.args.builder, self.args.builder_group))
phase = str(self.args.phase)
if phase not in config:
raise MBErr('Phase %s doesn\'t exist for %s on %s' %
(phase, self.args.builder, self.args.builder_group))View on GitHub (pinned to 1b2de5e052)
Solutions
- List valid builder_groups keys in mb_config.pyl (`grep -A30 'builder_groups' infra/mb/mb_config.pyl`) and use the exact name.
- Ensure -f points at the mb_config.pyl that actually defines your group (V8 vs Chromium).
- Add the missing group to builder_groups if it should exist.
Example fix
// before mb.py gen -m tryserver.v8.linux -b "V8 Linux" out/Default // group typo // after mb.py gen -m tryserver.v8 -b "V8 Linux" out/Default // real key
Defensive patterns
Strategy: validation
Validate before calling
builder_groups = ast.literal_eval(open(mb_config_path).read())['builder_groups']
if args.builder_group not in builder_groups:
sys.exit(f'builder group {args.builder_group!r} not in {mb_config_path}; valid: {sorted(builder_groups)}') Type guard
null
Try / catch
null
Prevention
- Grep builder_groups in mb_config.pyl to get exact group names.
- Ensure -f points at the config file (V8 vs Chromium) that defines your group.
- Pin group names in CI against a checked-in config to detect renames.
When it happens
Trigger: Running `mb.py gen -m <wrong-group> -b <builder>` where <wrong-group> is not a key in the builder_groups section of mb_config.pyl. The membership test fails.
Common situations: Misspelled or renamed builder group; group exists only on another branch; pointing -f at a config file that doesn't define that group; using a Chromium group name in a V8-only config.
Related errors
- Config "%s" not found in %s
- Builder name "%s" not found under builder_groups[%s] in "%s
- unrecognized platform string "%s"
- mb config file %s has problems:
- args file "%s" not found
AI-assisted analysis of nodejs/node@1b2de5e052 (2026-08-13).
Data as JSON: /api/errors/8cb5abfe005e1c79.
Report an issue: GitHub.