[issue39850] multiprocessing.connection.Listener fails to close with null byte in AF_UNIX socket name.

Nathan Michaels report at bugs.python.org
Wed Mar 4 11:16:13 EST 2020


New submission from Nathan Michaels <nmichaels at gmail.com>:

>>> from multiprocessing.connection import Listener
>>> listener = Listener('\0conntest', family='AF_UNIX')
>>> listener.close()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python3.6/multiprocessing/connection.py", line 466, in close
    listener.close()
  File "/usr/lib64/python3.6/multiprocessing/connection.py", line 604, in close
    unlink()
  File "/usr/lib64/python3.6/multiprocessing/util.py", line 186, in __call__
    res = self._callback(*self._args, **self._kwargs)
ValueError: embedded null byte

Linux has a handy feature where if the first byte of a unix domain socket's name is the null character, it won't put it in the filesystem. The socket interface works fine with it, but when SocketListener is wrapped around a socket, it throws this exception.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue39850>
_______________________________________


More information about the Python-bugs-list mailing list