{"record":{"id":"f706eac8f4c06b35","repo":"gohugoio/hugo","slug":"failed-to-match-s-q-w","errorCode":null,"errorMessage":"failed to match %s %q: %w","messagePattern":"failed to match (.+?) %q: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"hugolib/sitesmatrix/vectorstores.go","lineNumber":812,"sourceCode":"\t\t\t\tif what == \"languages\" {\n\t\t\t\t\tfor i := range matcher.ForEachIndex() {\n\t\t\t\t\t\tresult.Set(i)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresult.Set(matcher.IndexDefault())\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn result, nil\n\t\t}\n\n\t\tfilter, err := predicate.NewIndexStringPredicateFromGlobsAndRanges(values, matcher.ResolveIndex, hglob.GetGlobDot)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"failed to create filter for %s: %w\", what, err)\n\t\t}\n\t\titer, err := matcher.IndexMatch(filter)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"failed to match %s %q: %w\", what, values, err)\n\t\t}\n\t\tfor i := range iter {\n\t\t\tif result == nil {\n\t\t\t\tresult = hmaps.NewOrderedIntSet()\n\t\t\t}\n\t\t\tresult.Set(i)\n\t\t}\n\n\t\treturn result, nil\n\t}\n\n\tl, err1 := applyFilter(\"languages\", cfg.Globs.Languages, b.cfg.ConfiguredLanguages)\n\tv, err2 := applyFilter(\"versions\", cfg.Globs.Versions, b.cfg.ConfiguredVersions)\n\tr, err3 := applyFilter(\"roles\", cfg.Globs.Roles, b.cfg.ConfiguredRoles)\n\n\tif err := cmp.Or(err1, err2, err3); err != nil {\n\t\tpanic(fmt.Errorf(\"failed to apply filters: %w\", err))\n\t}","sourceCodeStart":794,"sourceCodeEnd":830,"githubUrl":"https://github.com/gohugoio/hugo/blob/52c9bd7908b4d02d4d0ff8f82a888834d6ee10d2/hugolib/sitesmatrix/vectorstores.go#L794-L830","documentation":"After successfully compiling a glob/range filter, calling matcher.IndexMatch(filter) returned an error (vectorstores.go:810-812). The filter object is valid but applying it against the configured dimension's index failed — e.g. resolving a named index that does not exist, or an inconsistent dimension configuration.","triggerScenarios":"A glob filter that references a language/version/role name that cannot be resolved by matcher.ResolveIndex during matching, or an internal index mismatch in the configured dimension. The %q value shows the patterns; %s the dimension.","commonSituations":"Filtering by a language code (e.g. \"pt-br\") that is not configured in languages; a version glob matching a name removed from the versions config; role filter against an undefined role.","solutions":["Compare the filter values against the actually configured languages/versions/roles and remove or correct mismatches.","Ensure the dimension configuration (ConfiguredLanguages/Versions/Roles) is fully loaded before applying filters.","If the filter comes from URL/config input, restrict it to known dimension members."],"exampleFix":"// before\ncfg.Globs.Languages = []string{\"pt-br\"}  // not configured\n\n// after\ncfg.Globs.Languages = []string{\"pt\"}      // configured language","handlingStrategy":"validation","validationCode":"// Ensure filter values reference only configured dimension members.\nfunc filterMatchesConfigured(values []string, configured []string) error {\n    set := map[string]bool{}\n    for _, c := range configured { set[c] = true }\n    for _, v := range values {\n        if !set[v] {\n            return fmt.Errorf(\"filter value %q is not a configured dimension member\", v)\n        }\n    }\n    return nil\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Cross-check filter values against configured languages/versions/roles.","Load dimension configuration before applying filters.","Reject unknown dimension members from external/config input."],"tags":["sitesmatrix","filter","matching","config"],"backgroundTag":null,"analyzedSha":"52c9bd7908b4d02d4d0ff8f82a888834d6ee10d2","analyzedAt":"2026-08-09T21:49:36.660Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}