summaryrefslogtreecommitdiff
path: root/Python/traceback.c
Commit message (Collapse)AuthorAgeFilesLines
* Rework _Py_DumpASCII() to make Coverity happyVictor Stinner2016-03-231-8/+8
|
* Issue #23848: Expose _Py_DumpHexadecimal()Victor Stinner2016-03-231-8/+9
| | | | This function will be reused by faulthandler.
* faulthandler now works in non-Python threadsVictor Stinner2016-03-161-2/+47
| | | | | | | | | | | Issue #26563: * Add _PyGILState_GetInterpreterStateUnsafe() function: the single PyInterpreterState used by this process' GILState implementation. * Enhance _Py_DumpTracebackThreads() to retrieve the interpreter state from autoInterpreterState in last resort. The function now accepts NULL for interp and current_tstate parameters. * test_faulthandler: fix a ResourceWarning when test is interrupted by CTRL+c
* Fix compilation error of traceback.c on WindowsVictor Stinner2016-03-161-3/+3
| | | | Issue #26564.
* Enhance and rewrite traceback dump C functionsVictor Stinner2016-03-151-53/+56
| | | | | | | | | | | | | Issue #26564: * Expose _Py_DumpASCII() and _Py_DumpDecimal() in traceback.h * Change the type of the second _Py_DumpASCII() parameter from int to unsigned long * Rewrite _Py_DumpDecimal() and dump_hexadecimal() to write directly characters in the expected order, avoid the need of reversing the string. * dump_hexadecimal() limits width to the size of the buffer * _Py_DumpASCII() does nothing if the object is not a Unicode string * dump_frame() wrtites "???" as the line number if the line number is negative
* Issue #24436: Added const qualifiers for char* arguments of _PyTraceback_Add.Serhiy Storchaka2015-06-211-13/+28
|\ | | | | | | Patch by Michael Ensslin.
| * Issue #23524: Replace _PyVerify_fd function with calls to ↵Steve Dower2015-04-121-0/+2
| | | | | | | | _set_thread_local_invalid_parameter_handler.
| * Issue #23836: Use _Py_write_noraise() to retry on EINTR in _Py_DumpTraceback()Victor Stinner2015-04-011-8/+20
| | | | | | | | | | and _Py_DumpTracebackThreads(). Document also these functions to explain that the caller is responsible to call PyErr_CheckSignals().
| * Merge 3.4 (traceback)Victor Stinner2015-03-251-1/+8
| |\
| * \ (Merge 3.4) Issue #22762: Fix _Py_DisplaySourceLine(), clear the exception ifVictor Stinner2014-10-301-5/+6
| |\ \ | | | | | | | | | | | | PyFile_GetLine() failed. Patch written by Xavier de Gaye.
| | * \ Issue #22462: Fix pyexpat's creation of a dummy frame to make it appear in ↵Antoine Pitrou2014-10-081-0/+33
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | exception tracebacks. Initial patch by Mark Shannon.
| | * | | faulthandler: enhance dump_ascii() to escape also non-printable ASCIIVictor Stinner2014-10-031-4/+5
| | | | | | | | | | | | | | | | | | | | characters (U+0000..U+001f and U+007f).
| | * | | Issue #22156: Fix "comparison between signed and unsigned integers" compilerVictor Stinner2014-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | warnings in the Python/ subdirectory.
* | | | | Issue #24436: Added const qualifiers for char* arguments of _PyTraceback_Add.Serhiy Storchaka2015-06-211-1/+1
| |_|_|/ |/| | | | | | | | | | | Patch by Michael Ensslin.
* | | | Issue #23571: If io.TextIOWrapper constructor fails in _Py_DisplaySourceLine(),Victor Stinner2015-03-251-1/+8
|/ / / | | | | | | | | | close the binary file to fix a resource warning.
* | | Issue #22762: Fix _Py_DisplaySourceLine(), clear the exception ifVictor Stinner2014-10-301-0/+1
| |/ |/| | | | | PyFile_GetLine() failed. Patch written by Xavier de Gaye.
* | Issue #22462: Fix pyexpat's creation of a dummy frame to make it appear in ↵Antoine Pitrou2014-10-081-0/+33
|/ | | | | | exception tracebacks. Initial patch by Mark Shannon.
* Fix _Py_DisplaySourceLine(), if PyTokenizer_FindEncodingFilename() fails, clearVictor Stinner2013-12-191-0/+2
| | | | the exception to not call open() with an exception set.
* Issue #19512, #19515: remove shared identifiers, move identifiers where theyVictor Stinner2013-11-071-5/+6
| | | | | | | are used. Move also _Py_IDENTIFIER() defintions to the top in modified files to remove identifiers duplicated in the same file.
* Issue #19512: add some common identifiers to only create common strings once,Victor Stinner2013-11-061-1/+1
| | | | | | | instead of creating temporary Unicode string objects Add also more identifiers in pythonrun.c to avoid temporary Unicode string objets for the interactive interpreter.
* Issue 19306: Add extra hints to faulthandler stack dumps that they are ↵Guido van Rossum2013-10-201-8/+8
| | | | upside down.
* merge 3.3Benjamin Peterson2013-07-211-1/+1
|\
| * fix spacingBenjamin Peterson2013-07-211-1/+1
| |
* | merge 3.3Benjamin Peterson2013-07-211-2/+2
|\ \ | |/
| * let's not return NULL from functions that should return intsBenjamin Peterson2013-07-211-2/+2
| |
* | Check return value of lseek() in _Py_DisplaySourceLine().Christian Heimes2013-07-211-2/+4
|\ \ | |/ |/| | | | | Also use portable SEEK_SET instead of 0. CID 1040639
| * Check return value of PyObject_AsFileDescriptor() in _Py_DisplaySourceLine() ↵Christian Heimes2013-07-211-0/+5
| |\ | | | | | | | | | | | | | | | for error CID 486768
| * | Issue #18408: Fix _Py_DisplaySourceLine()Victor Stinner2013-07-161-1/+3
| | | | | | | | | | | | | | | Report _Py_FindSourceFile() error, so the error is cleared; and clear io.open(filename) exception on failure.
| * | Fix compilater warnings on Windows 64-bitVictor Stinner2013-05-171-1/+1
| | |
* | | Check return value of lseek() in _Py_DisplaySourceLine().Christian Heimes2013-07-211-1/+7
| |/ |/| | | | | | | Also use portable SEEK_SET instead of 0. CID 1040639
* | Check return value of PyObject_AsFileDescriptor() in _Py_DisplaySourceLine() ↵Christian Heimes2013-07-211-0/+5
|/ | | | | | for error CID 486768
* Issue #15463: the faulthandler module truncates strings to 500 characters,Victor Stinner2012-07-301-1/+1
| | | | instead of 100, to be able to display long file paths
* Issue #15365: Make traceback reporting ignore any errors when printing outKristj?n Valur J?nsson2012-07-191-1/+4
| | | | | the source line. Such errors can't be reported anyway. This makes error reporting work, even if the "io" module can't be loaded.
* Remove "#ifdef Py_UNICODE_WIDE": Python is now always wideVictor Stinner2011-11-221-8/+2
|
* Rename _Py_identifier to _Py_IDENTIFIER.Martin v. Löwis2011-10-141-4/+4
|
* Issue #13088: Add shared Py_hexdigits constant to format a number into base 16Victor Stinner2011-10-141-2/+1
|
* Add API for static strings, primarily good for identifiers.Martin v. Löwis2011-10-091-4/+8
| | | | Thanks to Konrad Schöbel and Jasper Schulz for helping with the mass-editing.
* traceback: fix dump_ascii() for string with kind=PyUnicode_WCHAR_KINDVictor Stinner2011-10-051-3/+13
|
* Implement PEP 393.Martin v. Löwis2011-09-281-22/+39
|
* Issue #9319: Include the filename in "Non-UTF8 code ..." syntax error.Victor Stinner2011-04-051-3/+3
|
* Issue #11393: _Py_DumpTraceback() writes the header even if there is no frameVictor Stinner2011-04-011-7/+7
|
* Issue #11393: Add the new faulthandler moduleVictor Stinner2011-03-311-0/+235
|
* Remove redundant includes of headers that are already included by Python.h.Georg Brandl2010-11-301-1/+0
|
* Issue #9713, #10114: Parser functions (eg. PyParser_ASTFromFile) expectsVictor Stinner2010-10-161-10/+25
| | | | | filenames encoded to the filesystem encoding with surrogateescape error handler (to support undecodable bytes), instead of UTF-8 in strict mode.
* Explicitly close some files (from issue #10093)Antoine Pitrou2010-10-141-0/+6
|
* Issue #6543: Write the traceback in the terminal encoding instead of utf-8.Victor Stinner2010-06-171-47/+58
| | | | | | Fix the encoding of the modules filename. Reindent also traceback.h, just because I hate tabs :-)
* Recorded merge of revisions 81029 via svnmerge fromAntoine Pitrou2010-05-091-280/+280
| | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/trunk ........ r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines Untabify C files. Will watch buildbots. ........
* Merged revisions 72487-72488,72879 via svnmerge fromAlexandre Vassalotti2009-07-211-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/trunk ........ r72487 | jeffrey.yasskin | 2009-05-08 17:51:06 -0400 (Fri, 08 May 2009) | 7 lines PyCode_NewEmpty: Most uses of PyCode_New found by http://www.google.com/codesearch?q=PyCode_New are trying to build an empty code object, usually to put it in a dummy frame object. This patch adds a PyCode_NewEmpty wrapper which lets the user specify just the filename, function name, and first line number, instead of also requiring lots of code internals. ........ r72488 | jeffrey.yasskin | 2009-05-08 18:23:21 -0400 (Fri, 08 May 2009) | 13 lines Issue 5954, PyFrame_GetLineNumber: Most uses of PyCode_Addr2Line (http://www.google.com/codesearch?q=PyCode_Addr2Line) are just trying to get the line number of a specified frame, but there's no way to do that directly. Forcing people to go through the code object makes them know more about the guts of the interpreter than they should need. The remaining uses of PyCode_Addr2Line seem to be getting the line from a traceback (for example, http://www.google.com/codesearch/p?hl=en#u_9_nDrchrw/pygame-1.7.1release/src/base.c&q=PyCode_Addr2Line), which is replaced by the tb_lineno field. So we may be able to deprecate PyCode_Addr2Line entirely for external use. ........ r72879 | jeffrey.yasskin | 2009-05-23 19:23:01 -0400 (Sat, 23 May 2009) | 14 lines Issue #6042: lnotab-based tracing is very complicated and isn't documented very well. There were at least 3 comment blocks purporting to document co_lnotab, and none did a very good job. This patch unifies them into Objects/lnotab_notes.txt which tries to completely capture the current state of affairs. I also discovered that we've attached 2 layers of patches to the basic tracing scheme. The first layer avoids jumping to instructions that don't start a line, to avoid problems in if statements and while loops. The second layer discovered that jumps backward do need to trace at instructions that don't start a line, so it added extra lnotab entries for 'while' and 'for' loops, and added a special case for backward jumps within the same line. I replaced these patches by just treating forward and backward jumps differently. ........
* Issue #1717: rename tp_compare to tp_reserved. I'll change theMark Dickinson2009-02-021-1/+1
| | | | | type of tp_compare in a separate commit, for ease of reversion should things go wrong.
* Bug #4495: Fix signed/unsigned warning (both namelen and tailen should be ↵Raymond Hettinger2008-12-021-1/+1
| | | | signed, not just namelen).