Skip to content

misleading setsockopt error message #107545

Open
@naweiss

Description

@naweiss

Bug report

Running the following code works:

import socket

with socket.socket() as s:
    s.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 2)

But if someone accidently passes a big value like so:

import socket

with socket.socket() as s:
    s.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 2 ** 31)

He will get the follwing misleading error message: TypeError: a bytes-like object is required, not 'int'

Your environment

  • CPython versions tested on: 3.13.0a0
  • Operating system and architecture: x64 Ubuntu 20.04 LTS and Win10 x64 22H2

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    stdlibPython modules in the Lib dirtype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions