[New-bugs-announce] [issue43952] Multiprocessing UNIX socket connection: client freeze if authkey is an empty byte string

anon01 report at bugs.python.org
Tue Apr 27 07:45:15 EDT 2021


New submission from anon01 <swsfinoa at sharklasers.com>:

When I run this code (on a UNIX system with temporary directory `/tmp/`):

```
from multiprocessing import connection
import threading
key=b"1"

def run():
    c=connection.Client("/tmp/xxx", authkey=key)
    c.send("data")

l=connection.Listener("/tmp/xxx", authkey=key)
threading.Thread(target=run).start()
c=l.accept()
print("receive", c.recv())
```

it prints out "receive data" normally.

However, in the special case that `key=b""` the doesn't print anything, and can only be interrupted with Ctrl+C.

`key=None` doesn't have that issue.

Note that this issue does happen when the client uses the key `b""` and the server uses the key `None`, but the program works normally if the reverse situation.

Python version: Python 3.9.3.

----------
components: Library (Lib)
messages: 392056
nosy: anon01
priority: normal
severity: normal
status: open
title: Multiprocessing UNIX socket connection: client freeze if authkey is an empty byte string
versions: Python 3.9

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


More information about the New-bugs-announce mailing list