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 <rep...@bugs.python.org>
<http://bugs.python.org/issue23187>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to