This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author mhobbs
Recipients mhobbs
Date 2012-04-19.20:49:28
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1334868569.61.0.545748058978.issue14623@psf.upfronthosting.co.za>
In-reply-to
Content
This issue is very similar to the issue original reported in issue1722344, except that it occurs in daemon threads. Here's a sample exception:

Exception in thread Thread-1 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/threading.py", line 552, in __bootstrap_inner
  File "/usr/local/lib/python2.7/threading.py", line 505, in run
  File "/opt/8b/libr8/eb/util/graphite.py", line 86, in run
  File "/usr/local/lib/python2.7/Queue.py", line 168, in get
  File "/usr/local/lib/python2.7/threading.py", line 237, in wait
<type 'exceptions.TypeError'>: 'NoneType' object is not callable

Investigating line 237 in threading.py shows that RuntimeError must have been set to None. The issue appears to be that Py_Finalize wipes all globals while there are still daemon threads running. Would it be correct to terminate daemon threads prior to wiping the globals, since the threads won't be able to accomplish much anyway?
History
Date User Action Args
2012-04-19 20:49:29mhobbssetrecipients: + mhobbs
2012-04-19 20:49:29mhobbssetmessageid: <1334868569.61.0.545748058978.issue14623@psf.upfronthosting.co.za>
2012-04-19 20:49:28mhobbslinkissue14623 messages
2012-04-19 20:49:28mhobbscreate