{"record":{"id":"4f595df45d33b066","repo":"HKUDS/nanobot","slug":"unix-socket-path-must-not-contain-nul-bytes","errorCode":null,"errorMessage":"unix_socket_path must not contain NUL bytes","messagePattern":"unix_socket_path must not contain NUL bytes","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"nanobot/channels/websocket/runtime.py","lineNumber":230,"sourceCode":"    streaming: bool = True\n    # Default 36 MB, upper 40 MB: supports up to 4 images at ~6 MB each after\n    # client-side Worker normalization (see webui Composer). 4 × 6 MB × 1.37\n    # (base64 overhead) + envelope framing stays under 36 MB; the 40 MB ceiling\n    # leaves a small margin for sender slop without opening a DoS avenue.\n    max_message_bytes: int = Field(default=37_748_736, ge=1024, le=41_943_040)\n    ping_interval_s: float = Field(default=20.0, ge=5.0, le=300.0)\n    ping_timeout_s: float = Field(default=20.0, ge=5.0, le=300.0)\n    ssl_certfile: str = \"\"\n    ssl_keyfile: str = \"\"\n\n    @field_validator(\"unix_socket_path\")\n    @classmethod\n    def unix_socket_path_format(cls, value: str) -> str:\n        value = value.strip()\n        if not value:\n            return \"\"\n        if \"\\x00\" in value:\n            raise ValueError(\"unix_socket_path must not contain NUL bytes\")\n        path = Path(value).expanduser()\n        if not path.is_absolute():\n            raise ValueError(\"unix_socket_path must be an absolute path\")\n        return str(path)\n\n    @field_validator(\"path\")\n    @classmethod\n    def path_must_start_with_slash(cls, value: str) -> str:\n        if not value.startswith(\"/\"):\n            raise ValueError('path must start with \"/\"')\n        return _normalize_config_path(value)\n\n    @field_validator(\"token_issue_path\")\n    @classmethod\n    def token_issue_path_format(cls, value: str) -> str:\n        value = value.strip()\n        if not value:\n            return \"\"","sourceCodeStart":212,"sourceCodeEnd":248,"githubUrl":"https://github.com/HKUDS/nanobot/blob/42f37dc4c0e409eac7818a82d165c5f2757bc075/nanobot/channels/websocket/runtime.py#L212-L248","documentation":"Error \"unix_socket_path must not contain NUL bytes\" thrown in HKUDS/nanobot.","triggerScenarios":"Thrown at nanobot/channels/websocket/runtime.py:230 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":"42f37dc4c0e409eac7818a82d165c5f2757bc075","analyzedAt":"2026-08-26T00:18:52.276Z","schemaVersion":2},"datasetVersion":"2026-08-26T04:18:47.238Z"}