{"record":{"id":"ec1fad5068eb5be3","repo":"XTLS/Xray-core","slug":"only-one-protobuf-config-file-is-allowed","errorCode":null,"errorMessage":"Only one protobuf config file is allowed","messagePattern":"Only one protobuf config file is allowed","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/config.go","lineNumber":145,"sourceCode":"\t\t\tif f == \"\" {\n\t\t\t\treturn nil, errors.New(\"Failed to get format of \", file).AtWarning()\n\t\t\t}\n\n\t\t\tif f == \"protobuf\" {\n\t\t\t\thasProtobuf = true\n\t\t\t}\n\t\t\tfiles[i] = &ConfigSource{\n\t\t\t\tName:   file,\n\t\t\t\tFormat: f,\n\t\t\t}\n\t\t}\n\n\t\t// only one protobuf config file is allowed\n\t\tif hasProtobuf {\n\t\t\tif len(v) == 1 {\n\t\t\t\treturn configLoaderByName[\"protobuf\"].Loader(v)\n\t\t\t} else {\n\t\t\t\treturn nil, errors.New(\"Only one protobuf config file is allowed\").AtWarning()\n\t\t\t}\n\t\t}\n\n\t\t// to avoid import cycle\n\t\treturn ConfigBuilderForFiles(files)\n\tcase io.Reader:\n\t\tif f, found := configLoaderByName[formatName]; found {\n\t\t\treturn f.Loader(v)\n\t\t} else {\n\t\t\treturn nil, errors.New(\"Unable to load config in\", formatName).AtWarning()\n\t\t}\n\t}\n\n\treturn nil, errors.New(\"Unable to load config\").AtWarning()\n}\n\nfunc loadProtobufConfig(data []byte) (*Config, error) {\n\tconfig := new(Config)","sourceCodeStart":127,"sourceCodeEnd":163,"githubUrl":"https://github.com/XTLS/Xray-core/blob/7d214f8b094f75322fa3990f8aadad1c912f24f5/core/config.go#L127-L163","documentation":"Error \"Only one protobuf config file is allowed\" thrown in XTLS/Xray-core.","triggerScenarios":"Thrown at core/config.go:145 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-15T17:31:12.345Z"}