{"record":{"id":"8a7fefcde98e3369","repo":"wavetermdev/waveterm","slug":"getdistro-not-implemented-on-this-system","errorCode":null,"errorMessage":"GetDistro not implemented on this system","messagePattern":"GetDistro not implemented on this system","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/wsl/wsl-unix.go","lineNumber":78,"sourceCode":"\nfunc (c *WslCmd) SetStdin(stdin io.Reader) {\n\tc.Stdin = stdin\n}\n\nfunc (c *WslCmd) SetStdout(stdout io.Writer) {\n\tc.Stdout = stdout\n}\n\nfunc (c *WslCmd) SetStderr(stderr io.Writer) {\n\tc.Stderr = stderr\n}\n\nfunc GetDistroCmd(ctx context.Context, wslDistroName string, cmd string) (*WslCmd, error) {\n\treturn nil, fmt.Errorf(\"GetDistroCmd not implemented on this system\")\n}\n\nfunc GetDistro(ctx context.Context, wslDistroName WslName) (*Distro, error) {\n\treturn nil, fmt.Errorf(\"GetDistro not implemented on this system\")\n}\n","sourceCodeStart":60,"sourceCodeEnd":80,"githubUrl":"https://github.com/wavetermdev/waveterm/blob/a4447c1563b2df285ab89e76c82f91e1a1a49c1e/pkg/wsl/wsl-unix.go#L60-L80","documentation":"Stub error: GetDistro has no implementation on Unix systems. Distro enumeration is Windows-only; on other platforms the function returns this not-implemented error.","triggerScenarios":"Calling wsl.GetDistro (e.g. from connectInternal when establishing a WSL connection) on a Linux or macOS build.","commonSituations":"Connection attempts to WSL remote connections from Unix machines; shared connection code not platform-gated.","solutions":["Guard WSL connection setup with a runtime.GOOS == \"windows\" check","Remove or migrate WSL connections when running on Unix hosts","Use SSH-based remote connections for cross-platform remotes"],"exampleFix":"// before\nd, err := wsl.GetDistro(ctx, name)\n// after\nif runtime.GOOS != \"windows\" {\n    return errors.New(\"WSL connections are only supported on Windows\")\n}\nd, err := wsl.GetDistro(ctx, name)","handlingStrategy":"fallback","validationCode":"if runtime.GOOS != \"windows\" {\n    return errors.New(\"WSL distro lookup requires Windows\")\n}","typeGuard":null,"tryCatchPattern":"distro, err := wsl.GetDistro(ctx, wslName)\nif err != nil {\n    return fmt.Errorf(\"cannot connect: WSL only supported on Windows: %w\", err)\n}","preventionTips":["Do not create WSL-type connections on Unix hosts","Migrate WSL connection configs to SSH when the host OS changes"],"tags":["wsl","platform","unsupported","connection"],"backgroundTag":"platform-not-supported","analyzedSha":"a4447c1563b2df285ab89e76c82f91e1a1a49c1e","analyzedAt":"2026-09-01T15:26:23.972Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}