Comment 3 for bug 1538204

Revision history for this message
Victor Stinner (vstinner) wrote :

I looked at the traceback. I'm unable to understand exactly why and how the bug was triggered, but it really looks like a reentrant call to the _sigterm() method. A reentrant call to _sigterm() means a reentrant call to clear() which can explain a RuntimeError exception. The second call modifies the dictionary whereas the first call is still iterating on it.

If it's a reentrant call, the second call (the reentrant call) is done when the RuntimeError is raised in the first call. So it's not possible to see the reentrant call in the traceback.

I proposed the change https://review.openstack.org/#/c/272718/ which may (or may not) fix this bug.