[New-bugs-announce] [issue24948] Multiprocessing not timely flushing stack trace to stderr

Memeplex report at bugs.python.org
Thu Aug 27 23:20:29 CEST 2015


New submission from Memeplex:

Related to but not the same than https://bugs.python.org/issue13812.

Try this:

```
import multiprocessing as mp
import time


def g():
    time.sleep(100)

def f():
    mp.Process(target=g).start()
    1/0

mp.Process(target=f).start()
```

It won't show the ZeroDivisionError until you keyboard interrupt the g() process or wait for it to end. This is because _exit_function will join every active non-daemon child, which happens before printing and flushing the error. IMO the exception should be shown before joining children, since keeping the error silent is asking for trouble.

----------
components: Library (Lib)
messages: 249262
nosy: memeplex
priority: normal
severity: normal
status: open
title: Multiprocessing not timely flushing stack trace to stderr
versions: Python 3.4, Python 3.5

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue24948>
_______________________________________


More information about the New-bugs-announce mailing list