[issue3666] atexit.register with bad input segfaults on exit
Changes by Skip Montanaro [EMAIL PROTECTED]: Removed file: http://bugs.python.org/file11517/atexit.diff ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3666 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3666] atexit.register with bad input segfaults on exit
Skip Montanaro [EMAIL PROTECTED] added the comment: I've taken this ticket. Can someone please review and give it a thumbs up or thumbs down? -- assignee: - skip.montanaro ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3666 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3666] atexit.register with bad input segfaults on exit
Christian Heimes [EMAIL PROTECTED] added the comment: *thumbs up* ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3666 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3666] atexit.register with bad input segfaults on exit
Skip Montanaro [EMAIL PROTECTED] added the comment: Checked in as revision 66562. -- resolution: - fixed status: open - closed ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3666 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3666] atexit.register with bad input segfaults on exit
Skip Montanaro [EMAIL PROTECTED] added the comment: Why not just have atexit_callfuncs call atexit_cleanup at the end of its execution? -- nosy: +skip.montanaro ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3666 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3666] atexit.register with bad input segfaults on exit
Skip Montanaro [EMAIL PROTECTED] added the comment: The attached patch causes an exception to print at exit on my Mac: import sys, atexit atexit.register(lambda: 1, 0, 0, (x for x in (1,2)), 0, 0) function lambda at 0x5c91e0 sys.exit() Error in atexit._run_exitfuncs: TypeError: print_exception(): Exception expected for value, str found Without the patch I get the same TypeError but it's followed by a Bus error. I don't know if the patch is right or wrong, better or worse than the status quo, but I'll toss it out there for consideration. It certainly seems to subscribe to Christian's theme of calling atexit_cleanup() earlier. -- keywords: +patch Added file: http://bugs.python.org/file11517/atexit.diff ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3666 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3666] atexit.register with bad input segfaults on exit
Skip Montanaro [EMAIL PROTECTED] added the comment: New patch. This also makes the various atexit_* functions static. Added file: http://bugs.python.org/file11519/atexit.diff ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3666 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3666] atexit.register with bad input segfaults on exit
Changes by Barry A. Warsaw [EMAIL PROTECTED]: -- priority: deferred blocker - release blocker ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3666 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3666] atexit.register with bad input segfaults on exit
Changes by Benjamin Peterson [EMAIL PROTECTED]: -- priority: release blocker - deferred blocker ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3666 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3666] atexit.register with bad input segfaults on exit
New submission from Daniel Diniz [EMAIL PROTECTED]: The following crashes the interpreter on exit: import sys, atexit; atexit.register(lambda: 1, 0, 0, (x for x in (1,2)), 0, 0); sys.exit() Found with Fusil. -- messages: 71862 nosy: ajaksu2 severity: normal status: open title: atexit.register with bad input segfaults on exit type: crash versions: Python 3.0 ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3666 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3666] atexit.register with bad input segfaults on exit
Changes by Christian Heimes [EMAIL PROTECTED]: -- priority: - release blocker ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3666 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3666] atexit.register with bad input segfaults on exit
Christian Heimes [EMAIL PROTECTED] added the comment: I'm getting hundreds of lines Fatal Python error: PyThreadState_Get: no current thread The Python process segfaults in call_ll_exitfuncs - atexit_cleanup() - atexit_clear() - atexit_delete_cb - Py_DECREF(cb-args) -- nosy: +christian.heimes ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3666 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3666] atexit.register with bad input segfaults on exit
Christian Heimes [EMAIL PROTECTED] added the comment: I was able to trace the error to its apartment. During the cleanup gen_del calls PyErr_Fetch() which fails in PyThreadState_GET(). Conclusion: The atexit cleanup method must be called much earlier. call_ll_exitfunc() is too late. I suggest a new function that calls atexit_cleanup() right after atexit_callfuncs(). ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3666 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com