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 vstinner
Recipients Albert.Zeyer, vstinner
Date 2016-03-23.09:23:14
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1458724994.98.0.573250172974.issue23886@psf.upfronthosting.co.za>
In-reply-to
Content
faulthandler was enhanced in Python 3.6:

* Issue #26563: faulthandler now works in non-Python threads.
* Issue #26154: Issue #26154: Add a new private _PyThreadState_UncheckedGet() function which gets the current thread state, but don't call Py_FatalError() if it is NULL.

Can you please try Python 3.6 (default branch of Mercurial) with your use case to check if the issue is solved? And also Python 3.5 (3.5 branch of Mercurial)?

I can try to backport some enhancements from Python 3.6 to Python 3.5 if needed.

If it's ok for you, I will then port changes to the GitHub project.

Note: I also add new unit tests.

> SIGUSR1/2 will get delivered to any running thread. The current thread of the signal doesn't give any useful information. Try to get the current Python thread which holds the GIL instead, or use NULL.

I don't understand your usecase, since faulthandler displays *all* Python threads by default.

all_threads=True in faulthandler.register(signum, file=sys.stderr, all_threads=True, chain=False):
https://docs.python.org/dev/library/faulthandler.html#faulthandler.register
History
Date User Action Args
2016-03-23 09:23:15vstinnersetrecipients: + vstinner, Albert.Zeyer
2016-03-23 09:23:14vstinnersetmessageid: <1458724994.98.0.573250172974.issue23886@psf.upfronthosting.co.za>
2016-03-23 09:23:14vstinnerlinkissue23886 messages
2016-03-23 09:23:14vstinnercreate