{"record":{"id":"8cb5abfe005e1c79","repo":"nodejs/node","slug":"builder-groups-name-s-not-found-in-s","errorCode":null,"errorMessage":"Builder groups name \"%s\" not found in \"%s\"","messagePattern":"Builder groups name \"(.+?)\" not found in \"(.+?)\"","errorType":"exception","errorClass":"MBErr","httpStatus":null,"severity":"error","filePath":"deps/v8/tools/mb/mb.py","lineNumber":609,"sourceCode":"        raise MBErr('Failed to parse isolate map file \"%s\": %s' %\n                    (isolate_map, e)) from e\n    return isolate_maps\n\n  def ConfigFromArgs(self):\n    if self.args.config:\n      if self.args.builder_group or self.args.builder:\n        raise MBErr(\n          'Can not specific both -c/--config and -m/--builder-group or '\n          '-b/--builder')\n\n      return self.args.config\n\n    if not self.args.builder_group or not self.args.builder:\n      raise MBErr('Must specify either -c/--config or '\n                  '(-m/--builder-group and -b/--builder)')\n\n    if not self.args.builder_group in self.builder_groups:\n      raise MBErr('Builder groups name \"%s\" not found in \"%s\"' %\n                  (self.args.builder_group, self.args.config_file))\n\n    config = _v8_builder_fallback(\n        self.args.builder, self.builder_groups[self.args.builder_group])\n\n    if not config:\n      raise MBErr(\n        'Builder name \"%s\"  not found under builder_groups[%s] in \"%s\"' %\n        (self.args.builder, self.args.builder_group, self.args.config_file))\n\n    if isinstance(config, dict):\n      if self.args.phase is None:\n        raise MBErr('Must specify a build --phase for %s on %s' %\n                    (self.args.builder, self.args.builder_group))\n      phase = str(self.args.phase)\n      if phase not in config:\n        raise MBErr('Phase %s doesn\\'t exist for %s on %s' %\n                    (phase, self.args.builder, self.args.builder_group))","sourceCodeStart":591,"sourceCodeEnd":627,"githubUrl":"https://github.com/nodejs/node/blob/1b2de5e052fc0fb95fd7fb6846dcec4ade598e9e/deps/v8/tools/mb/mb.py#L591-L627","documentation":"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\"').","triggerScenarios":"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.","commonSituations":"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.","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."],"exampleFix":"// before\n  mb.py gen -m tryserver.v8.linux -b \"V8 Linux\" out/Default   // group typo\n// after\n  mb.py gen -m tryserver.v8 -b \"V8 Linux\" out/Default          // real key","handlingStrategy":"validation","validationCode":"builder_groups = ast.literal_eval(open(mb_config_path).read())['builder_groups']\nif args.builder_group not in builder_groups:\n    sys.exit(f'builder group {args.builder_group!r} not in {mb_config_path}; valid: {sorted(builder_groups)}')","typeGuard":"null","tryCatchPattern":"null","preventionTips":["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."],"tags":["mb","builder-group","lookup","v8-build"],"backgroundTag":null,"analyzedSha":"1b2de5e052fc0fb95fd7fb6846dcec4ade598e9e","analyzedAt":"2026-08-13T00:53:24.642Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}