{"record":{"id":"0787571a792bfd16","repo":"XTLS/Xray-core","slug":"existing-tag-found-tag","errorCode":null,"errorMessage":"existing tag found: ${tag}","messagePattern":"existing tag found: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"app/proxyman/inbound/inbound.go","lineNumber":46,"sourceCode":"\t\ttaggedHandlers: make(map[string]inbound.Handler),\n\t}\n\treturn m, nil\n}\n\n// Type implements common.HasType.\nfunc (*Manager) Type() interface{} {\n\treturn inbound.ManagerType()\n}\n\n// AddHandler implements inbound.Manager.\nfunc (m *Manager) AddHandler(ctx context.Context, handler inbound.Handler) error {\n\tm.access.Lock()\n\tdefer m.access.Unlock()\n\n\ttag := handler.Tag()\n\tif len(tag) > 0 {\n\t\tif _, found := m.taggedHandlers[tag]; found {\n\t\t\treturn errors.New(\"existing tag found: \" + tag)\n\t\t}\n\t\tm.taggedHandlers[tag] = handler\n\t} else {\n\t\tm.untaggedHandlers = append(m.untaggedHandlers, handler)\n\t}\n\n\tif m.running {\n\t\treturn handler.Start()\n\t}\n\n\treturn nil\n}\n\n// GetHandler implements inbound.Manager.\nfunc (m *Manager) GetHandler(ctx context.Context, tag string) (inbound.Handler, error) {\n\tm.access.RLock()\n\tdefer m.access.RUnlock()\n","sourceCodeStart":28,"sourceCodeEnd":64,"githubUrl":"https://github.com/XTLS/Xray-core/blob/7d214f8b094f75322fa3990f8aadad1c912f24f5/app/proxyman/inbound/inbound.go#L28-L64","documentation":"Error \"existing tag found: ${tag}\" thrown in XTLS/Xray-core.","triggerScenarios":"Thrown at app/proxyman/inbound/inbound.go:46 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":"7d214f8b094f75322fa3990f8aadad1c912f24f5","analyzedAt":"2026-08-15T14:26:24.325Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}