{"record":{"id":"cec2f78978f24d55","repo":"XTLS/Xray-core","slug":"uninitialized-cec2f7","errorCode":null,"errorMessage":"uninitialized","messagePattern":"uninitialized","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"proxy/vless/encryption/server.go","lineNumber":119,"sourceCode":"\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ti.RWLock.Unlock()\n\t\t\t}\n\t\t}()\n\t}\n\treturn\n}\n\nfunc (i *ServerInstance) Close() (err error) {\n\ti.RWLock.Lock()\n\ti.Closed = true\n\ti.RWLock.Unlock()\n\treturn\n}\n\nfunc (i *ServerInstance) Handshake(conn net.Conn, fallback *[]byte) (*CommonConn, error) {\n\tif i.NfsSKeys == nil {\n\t\treturn nil, errors.New(\"uninitialized\")\n\t}\n\tc := NewCommonConn(conn, true)\n\n\tivAndRelays := make([]byte, 16+i.RelaysLength)\n\tif _, err := io.ReadFull(conn, ivAndRelays); err != nil {\n\t\treturn nil, err\n\t}\n\tif fallback != nil {\n\t\t*fallback = append(*fallback, ivAndRelays...)\n\t}\n\tiv := ivAndRelays[:16]\n\trelays := ivAndRelays[16:]\n\tvar nfsKey []byte\n\tvar lastCTR cipher.Stream\n\tfor j, k := range i.NfsSKeys {\n\t\tif lastCTR != nil {\n\t\t\tlastCTR.XORKeyStream(relays, relays[:32]) // recover this relay\n\t\t}","sourceCodeStart":101,"sourceCodeEnd":137,"githubUrl":"https://github.com/XTLS/Xray-core/blob/7d214f8b094f75322fa3990f8aadad1c912f24f5/proxy/vless/encryption/server.go#L101-L137","documentation":"Error \"uninitialized\" thrown in XTLS/Xray-core.","triggerScenarios":"Thrown at proxy/vless/encryption/server.go:119 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-16T03:17:38.424Z"}