{"record":{"id":"496aa8112db69016","repo":"juicedata/juicefs","slug":"invalid-guid-mask-q-value-must-be-greater-than-z","errorCode":null,"errorMessage":"invalid guid-mask %q: value must be greater than zero","messagePattern":"invalid guid-mask %q: value must be greater than zero","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"sdk/java/libjfs/guid.go","lineNumber":35,"sourceCode":"package main\n\nimport (\n\t\"crypto/md5\"\n\t\"encoding/binary\"\n\t\"fmt\"\n\t\"os/user\"\n\t\"strconv\"\n\t\"sync\"\n)\n\nfunc guidMask(value, metaName string) (uint32, error) {\n\tif value != \"\" {\n\t\tmask, err := strconv.ParseUint(value, 0, 32)\n\t\tif err != nil {\n\t\t\treturn 0, fmt.Errorf(\"invalid guid-mask %q: expected an unsigned 32-bit integer\", value)\n\t\t}\n\t\tif mask == 0 {\n\t\t\treturn 0, fmt.Errorf(\"invalid guid-mask %q: value must be greater than zero\", value)\n\t\t}\n\t\treturn uint32(mask), nil\n\t}\n\tswitch metaName {\n\tcase \"mysql\", \"postgres\", \"sqlite3\":\n\t\treturn uint32(0x7FFFFFFF), nil\n\tdefault:\n\t\treturn 0, nil\n\t}\n}\n\ntype pwent struct {\n\tid   uint32\n\tname string\n}\n\ntype mapping struct {\n\tsync.Mutex","sourceCodeStart":17,"sourceCodeEnd":53,"githubUrl":"https://github.com/juicedata/juicefs/blob/c9a67b23e8e08ec23ec331aa6f1675e2319e921c/sdk/java/libjfs/guid.go#L17-L53","documentation":"The guid-mask setting parsed as an integer but evaluated to zero; a zero mask would collapse every derived ID to 0. Validation guard enforcing a positive non-zero mask so uid/gid bit-masking preserves distinct identities.","triggerScenarios":"Thrown at sdk/java/libjfs/guid.go:35 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a non-zero mask value such as 2147483647 (0x7FFFFFFF)"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c9a67b23e8e08ec23ec331aa6f1675e2319e921c","analyzedAt":"2026-09-06T17:55:48.476Z","contentChangedAt":"2026-09-06T17:55:48.476Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}