{"record":{"id":"35814620ca2b8b0e","repo":"goharbor/harbor","slug":"not-found-358146","errorCode":"NOT_FOUND","errorMessage":"invalid reference format","messagePattern":"invalid reference format","errorType":"validation","errorClass":"errors.Error","httpStatus":404,"severity":"error","filePath":"src/server/middleware/artifactinfo/artifact_info.go","lineNumber":136,"sourceCode":"\t\t\tmatch = true\n\t\t\tfor i := 1; i < len(l); i++ {\n\t\t\t\tm[re.SubexpNames()[i]] = l[i]\n\t\t\t}\n\t\t\tif key == \"blob_upload\" && len(query.Get(blobFromQuery)) > 0 {\n\t\t\t\tm[blobMountDigest] = query.Get(blobMountQuery)\n\t\t\t\tm[blobMountRepo] = query.Get(blobFromQuery)\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t}\n\t// parse reference, for invalid reference format, just give 404.\n\tif m[lib.ReferenceSubexp] != \"\" {\n\t\tif digest.DigestRegexp.MatchString(m[lib.ReferenceSubexp]) {\n\t\t\tm[lib.DigestSubexp] = m[lib.ReferenceSubexp]\n\t\t} else if reference.TagRegexp.MatchString(m[lib.ReferenceSubexp]) {\n\t\t\tm[tag] = m[lib.ReferenceSubexp]\n\t\t} else {\n\t\t\treturn m, match, errors.New(\"invalid reference format\").WithCode(errors.NotFoundCode)\n\t\t}\n\t}\n\treturn m, match, nil\n}\n","sourceCodeStart":118,"sourceCodeEnd":141,"githubUrl":"https://github.com/goharbor/harbor/blob/7b2fd08cc568955cca339afeefab27372840d936/src/server/middleware/artifactinfo/artifact_info.go#L118-L141","documentation":"Error \"invalid reference format\" thrown in goharbor/harbor.","triggerScenarios":"Thrown at src/server/middleware/artifactinfo/artifact_info.go:136 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7b2fd08cc568955cca339afeefab27372840d936","analyzedAt":"2026-08-16T00:00:10.961Z","schemaVersion":2},"datasetVersion":"2026-08-16T03:17:38.424Z"}