Michael Goldish added the comment:
> It looks like you are running your app on Windows. Are you using the proactor
> event loop?
Yes.
> In Python 3.4.3, I fixed a *lot* of crashes and race conditions in the
> proactor event loop. There are maybe more race conditions.
I've already tried Python 3.4.3 and got the same crash. The one described in my
long message with the stack trace is from 3.4.2, but I got that same stack
trace (or a very similar one) with 3.4.3. I have a core dump from that crash as
well so I can provide the exact stack trace if necessary.
> Are you running subprocesses with asyncio?
I can't recall running any subprocesses in the server program. The clients do
that very often, but they're not the ones crashing...
> The caller is PyList_New(0).
I suppose this creates an empty list?
I managed to get a stack trace from faulthandler somehow and it points to this
line in one of the threads:
d = rg.item_counts_by_params.setdefault(params, {})
This runs in a thread (managed by a ThreadPoolExecutor) that computes stuff and
writes it to a file. It's in a loop that runs ~200000 times per job. Several
lines above there's a similar line that passes an empty list as the 2nd
parameter to setdefault().
The other threads are all in threading.wait(), probably doing nothing
interesting. One thread is in _run_once().
Unfortunately I don't have any additional information about this particular
crash (no dump or stack trace), but it's not unreasonable to assume other
crashes occurred during creation of new lists/dicts in a similar manner.
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue23187>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com