-
-
Notifications
You must be signed in to change notification settings - Fork 34.4k
gh-145559: Add PyUnstable_DumpTraceback() and PyUnstable_DumpTracebackThreads() #145560
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from 10 commits
Commits
Show all changes
220 commits
Select commit
Hold shift + click to select a range
d0c95ed
Export _Py_DumpTraceback and _Py_DumpTracebackThreads as PyUnstable_ …
alexmalyshev 538a1cd
Add written docs, move decls to cpython/traceback.h to avoid modifyin…
alexmalyshev e497d2e
Move comments into Doc/c-api, fix documented string length
alexmalyshev 50e6501
Address comments on C API docs, add whatsnew entry
alexmalyshev 71c6fdd
📜🤖 Added by blurb_it.
blurb-it[bot] eb76a51
Fix missing :c:func:
alexmalyshev ce1980c
Updates to docs
alexmalyshev 5594e75
Merge branch 'main' into dump-traceback
alexmalyshev cedb1f3
Returning const char* from PyUnstable_DumpTraceback, write errors to fd
alexmalyshev ec5b28c
Clarify these functions aren't that safe
alexmalyshev d216bc2
Merge branch 'main' into dump-traceback
alexmalyshev c2642e2
Fix incorrect doc for PyUnstable_DumpTraceback
alexmalyshev b36b87b
gh-145980: Fix copy/paste mistake in binascii.c (#146230)
vstinner 1eff27f
gh-146227: Fix wrong type in _Py_atomic_load_uint16 in pyatomic_std.h…
colesbury b5e4c46
gh-146228: Better fork support in cached FastPath (#146231)
jaraco 879c85f
GH-145667: Merge `GET_ITER` and `GET_YIELD_FROM_ITER` (GH-146120)
markshannon 897fa23
GH-100108: Add async generators best practices section (#141885)
sergey-miryanov 60fbc20
gh-140947: fix contextvars handling for server tasks in asyncio (#14…
kumaraditya303 8a531f8
gh-138234: clarify returncode behavior for subprocesses created with …
andreuu-tsai f6b5eed
gh-146153: Use `frozendict` in pure python fallback for `curses.has_k…
jonathandung 83360b5
Docs: replace all `datetime` imports with `import datetime as dt` (#1…
hugovk 3776aba
Update docs for gh-146056 (GH-146213)
serhiy-storchaka f0aeabc
gh-140049: Colorize exception notes in `traceback.py` (#140051)
StanFromIreland c30fae4
gh-146245: Fix reference and buffer leaks via audit hook in socket mo…
aisk 97c725c
gh-143959: Fix test_datetime if _datetime is unavailable (GH-145248)
serhiy-storchaka 161329c
gh-145144: Add more tests for UserList, UserDict, etc (GH-145145)
serhiy-storchaka 1ceb1fb
gh-146261: Fix bug in `_Py_uop_sym_set_func_version` (GH-146291)
Sacul0457 e36f8db
gh-143414: Implement unique reference tracking for JIT, optimize unpa…
reidenong a17301a
gh-135953: Properly obtain main thread identifier in Gecko Collector …
flowln b4e5bc2
gh-146192: Add base32 support to binascii (GH-146193)
kangtastic ae6adc9
gh-146308: Fix error handling issues in _remote_debugging module (#14…
pablogsal 4561f64
gh-145264: Do not ignore excess Base64 data after the first padded qu…
serhiy-storchaka fb8d8d9
Add a warning about untrusted input to `configparser` docs (#146276)
StanFromIreland 90f9991
gh-146056: Rework ref counting in treebuilder_handle_end() (#146167)
vstinner 91cd2e5
gh-146175: Soft-deprecate outdated macros; convert internal usage (GH…
encukou 1114d7f
gh-108907: ctypes: Document _type_ codes (GH-145837)
encukou f5d47fc
gh-143387: Raise an exception instead of returning None when metadata…
jaraco c94048b
gh-146197: Add Emscripten to CI (#146198)
hoodmane 0c83e8b
gh-146325: Use `test.support.requires_fork` in test_fastpath_cache_cl…
hoodmane a57209e
gh-146197: Run -m test.pythoninfo on the Emscripten CI (#146332)
vstinner 821581a
gh-145719: Add `.efi` file detection in `mimetypes` (#145720)
clin1234 daa159f
gh-135871: Reload lock internal state while spinning in `PyMutex_Lock…
dpdani 7dc2f52
gh-146197: Include a bit more information in sys._emscripten_info.run…
hoodmane e017971
gh-146199: Fix error handling in `code_richcompare` when `PyObject_Ri…
brijkapadia 306c556
gh-144319: obtain SeLockMemoryPrivilege on Windows (#144928)
chris-eibl bcff99c
gh-146202: Create tmp_dir in regrtest worker (#146347)
vstinner fae5761
gh-140196: Added constructor behavior changes in ast.rst for python 3…
MannXo 95340ef
Remove inactive CODEOWNERS (#145930)
StanFromIreland 07a555d
gh-133879: Copyedit "What's new in Python 3.15" (#146345)
hugovk 6d73bc2
gh-145866: Convert `DICT_MERGE` to leave its inputs on the stack to b…
NekoAsakura 68c7fad
gh-138580: Add sys.float_info.iec_60559 boolean flag (#138811)
skirpichev 951675c
gh-146306: JIT: Optimize float operations by mutating uniquely-refere…
eendebakpt 119fce7
gh-144984: Skip test under tracerefs (GH-146218)
encukou 1887a95
gh-128341: Use _Py_ABI_SLOT in stdlib modules (#145770)
befeleme 535b09c
GH-126910: Allow most native profilers and debuggers to unwind throug…
brandtbucher 6009309
gh-146041: Avoid lock in sys.intern() for already interned strings (g…
colesbury f4d1be4
gh-145633: Drop runtime checks for floatting-point formats in the arr…
skirpichev f2fcc49
gh-145633: Remove remnants of the "unknown_format" (floats) in the st…
skirpichev 08f6b33
gh-146355: Fix `main_module` ref leak in `_PyRun_SimpleStringFlagsWit…
A0su 3364e7e
gh-146207: Add support for OpenSSL 4.0.0 alpha1 (#146217)
vstinner 2be147e
gh-146352: In Emscripten pyrepl test, pick port dynamically (#146375)
hoodmane d0e66ef
gh-146369: Ensure `PYTHON_LAZY_IMPORTS=none` overrides `__lazy_module…
hugovk 4240c7d
gh-145098: Run Apple Silicon macOS CI on macos-26 (Tahoe) (#145099)
clintonsteiner 04bd543
gh-146386: fix missing `va_end` in `_abiinfo_raise` in `modsupport.c`…
A0su 0055140
gh-146358: Fix warnings.catch_warnings on Free Threading (#146374)
vstinner 4447f23
Fix typo in 3.14 What's New tail call interpreter docs (GH-146425)
johnthagen 9343518
gh-146244: Fix initconfig.c SET_ITEM macro leaks dict on expression f…
Wulian233 8e1469c
gh-138573: Filter out failing math tests on Solaris (#146402)
skirpichev 495178a
gh-146453: fix `_PyType_LookupByVersion` for types with fixed pre-def…
kumaraditya303 f5364ae
gh-145866: Convert `_CALL_INTRINSIC_2` to leave its inputs on the sta…
KevinH15291 b5a27bd
gh-146410: Add --pythoninfo option to regrtest (#146413)
vstinner fc1f6b1
gh-GH-131798: optimize jit attribute loads on immutable types (#146449)
kumaraditya303 1038a3a
gh-146410: Run tests with with --pythoninfo on iOS (#146457)
vstinner 8de70b3
gh-145633: Fix struct.pack('f') on s390x (#146422)
vstinner 1516c26
gh-145866: Convert `DICT_UPDATE` to leave its inputs on the stack to …
Sacul0457 3a2b81e
gh-145616: Detect Android sysconfig ABI correctly on 32-bit ARM Andro…
robertkirkman e1d4823
gh-145650: Add `logging.{Formatter,Filter}.__repr__` (GH-145652)
JackDanger 0e54305
gh-145876: Do not mask AttributeErrors raised during dictionary unpac…
serhiy-storchaka bfdaa3c
gh-131798: JIT: split call method and call builtin opcodes into small…
kumaraditya303 c68a194
gh-146151: memoryview supports 'F' and 'D' format types (complex) (#1…
skirpichev 0e3b3b8
gh-146151: Add support for complex arrays in the array module (#146237)
skirpichev e44993a
gh-146318: Document that signal.SIGSTOP is Unix-only (#146319)
jonathandung 5c0dcb3
gh-146059: Call fast_save_leave() in pickle save_frozenset() (#146173)
vstinner 17070f4
gh-144837: Improve documentation for more collection methods (GH-144841)
serhiy-storchaka ca6dfa0
gh-146446: Miscellaneous improvements to iOS XCframework build script…
freakboy3742 c75d220
gh-146410: Add --pythoninfo to make testios (#146494)
vstinner 5684b3a
gh-146498: Ensure binary content is correctly processed in multi-arch…
freakboy3742 36e4ffc
gh-146444: Move the Apple folder to the Platforms directory (#146497)
freakboy3742 0c7a75a
gh-146059: Cleanup pickle fast_save_enter() test (#146481)
vstinner 256907d
gh-138580: Revert sys.float_info.iec_60559 boolean flag (#146501)
skirpichev d0061d5
gh-146440: Add array_hook parameter to JSON decoders (#146441)
jsbueno d4153a9
gh-146480: Override the exception in _PyErr_SetKeyError() (#146486)
vstinner 2e64e36
GH-139922: update 3.15 whatsnew: Windows 64-bit binaries now use the …
chris-eibl 6a94980
gh-142518: add thread safety docs on bytes C-API (#146415)
kumaraditya303 5466f57
gh-142518: add thread safety annotations for bytearray C-API (#146514)
kumaraditya303 0de4e08
gh-146250: Fix memory leak in re-initialization of `SyntaxError` (#14…
brijkapadia 9214e3f
gh-123471: Make `itertools.zip_longest` safe in the FT build (#146033)
eendebakpt a209dd2
gh-85332: Support cross-compiling for GNU/Hurd (#146094)
thesamesam c8ee196
gh-146388: Add null check for `sym_new(ctx)` in `make_bottom` (GH-146…
A0su 1417737
gh-146507: cache the buffer size for `SelectorTransport.get_write_buf…
moktamd a492d9f
gh-145866: Convert `LIST_EXTEND` to leave its inputs on the stack to …
NekoAsakura f89fafe
Mention _Float16 (type from Annex H of the C23) in the struct docs (#…
skirpichev 6763d26
GH-126910: reserve FP on AArch64 when generating JIT stencils (GH-146…
diegorusso b60b926
GH-126910: avoid reading the FP for getting the SP (GH-146521)
diegorusso 1384f02
gh-126910: Verify that JIT stencils preserve frame pointer (GH-146524)
Fidget-Spinner 73cc1fd
gh-146310: Fix ensurepip to treat empty WHEEL_PKG_DIR as unset (#146357)
kimimgo 69b08c3
gh-145057: Fix test names and comments to reflect `sys.lazy_modules` …
johnslavik a5b9d60
gh-145059: Record lazy modules without submodules in `sys.lazy_module…
johnslavik a933e9c
GH-145247: Use _PyTuple_FromPair[Steal] in Objects (#145884)
sergey-miryanov 5992238
gh-146381: Constant-fold frozendict subscript lookups via REPLACE_OPC…
corona10 1efe441
gh-146004: propagate all -X options to multiprocessing child processe…
gpshead 3ff5822
Docs: don't rely on implicit 'above' directions in socket docs (#146426)
nedbat 578d726
gh-146544: Fix `asyncio.Queue` docstring ambiguity (#146545)
jonathandung 087a5f6
`_pyrepl/pager.py`: call `less` with `--clear-screen` (#146382)
StanFromIreland 5bf3a31
GH-146527: Add more data to GC statistics and add it to PyDebugOffset…
sergey-miryanov 1fd66ea
gh-139003: Use frozenset for module level attributes in _pyrepl.utils…
eendebakpt 1af025d
gh-146004: fix test_args_from_interpreter_flags on windows (#146580)
chris-eibl 6932c3e
gh-145876: Do not mask KeyErrors raised during dictionary unpacking i…
serhiy-storchaka aa66807
gh-146090: fix memory management of internal `sqlite3` callback conte…
picnixz 24db78c
gh-146080: fix a crash in SNI callbacks when the SSL object is gone (…
picnixz e39d84a
gh-146083: Upgrade bundled Expat to 2.7.5 (#146085)
StanFromIreland 4d0e8ee
gh-146579: _zstd: Fix decompression options dict error message (#146577)
cuiweixie 2cf6a68
gh-146556: Fix infinite loop in annotationlib.get_annotations() on ci…
raminfp 7f0c4f6
gh-138577: Fix keyboard shortcuts in getpass with echo_char (#141597)
CuriousLearner 382c043
gh-146444: Make Platforms/Apple/ compatible with Python 3.9 (#146624)
vstinner 7b2495e
gh-138850: Add --disable-epoll to configure (GH-145768)
mtelka 6420847
gh-146444: Don't package as part of iOS 'build hosts' target (#146628)
freakboy3742 6857de6
gh-146416: Emscripten: Improve standard stream handling in node_entry…
hoodmane f4d3c61
gh-138122: Add differential flame graph (#145785)
ivonastojanovic 8e10bd7
gh-146587: fix type slot assignment incase of multiple slots for same…
kumaraditya303 adf2c47
gh-126835: Fix _PY_IS_SMALL_INT() macro (#146631)
vstinner 76c554b
gh-139922: always run MSVC 64-bit tail-calling CI (GH-146570)
chris-eibl 8e9d21c
gh-146558: JIT optimize dict access for objects with known hash (#146…
kumaraditya303 afd8113
gh-144270: Make SubElement parent and tag positional-only (GH-144845)
NekoAsakura a25e097
gh-139633: Run netrc file permission check only once per parse (GH-13…
cmaloney 7278904
gh-145056: Fix merging of collections.OrderedDict and frozendict (GH-…
serhiy-storchaka ec2bc12
gh-145056: Add support for merging collections.UserDict and frozendic…
serhiy-storchaka e79fd60
gh-146238: Support half-floats in the array module (#146242)
skirpichev ca95e97
gh-146442: Fix various bugs in compiler pipeline (#146443)
A0su 70d1b08
gh-146376: Reduce timeout in Emscripten GHA workflow (#146378)
hoodmane 72d29ea
gh-146615: Fix crash in __get__() for METH_METHOD descriptors with in…
sunmy2019 1c396e1
gh-146615: Fix format specifiers in extension modules (GH-146617)
sunmy2019 b705553
gh-146615: Fix format specifiers in test cextensions (GH-146618)
sunmy2019 dcb260e
gh-146615: Fix format specifiers in Python/ directory (GH-146619)
sunmy2019 bbf7fb2
gh-146615: Fix format specifiers in Objects/ directory (GH-146620)
sunmy2019 b4fac15
gh-145458: use `self.skip_idle` consistently in the tachyon profiler …
KowalskiThomas 67354b2
gh-145563: Add thread-safety annotation for PyCapsule C-API (#146612)
eendebakpt 829e4d0
gh-141510: Support `frozendict` in `plistlib` (#145590)
hugovk db5936c
gh-143050: Correct PyLong_FromString() to use _PyLong_Negate() (#145901)
skirpichev 362145c
gh-139109: Document the trace recording interpreter in internaldocs (…
Fidget-Spinner 62a6e89
gh-147856: Allow the 'count' argument of `bytes.replace()` to be a ke…
StanFromIreland 9e1f164
Docs: fill in descriptor C API docs (GH-146644)
Boyeep 4497cf3
build(deps): bump qs from 6.14.0 to 6.15.0 in /Platforms/emscripten/b…
dependabot[bot] 42825e6
gh-146431: Add the wrapcol and ignorechars parameters for more Base X…
serhiy-storchaka 473d2a3
gh-147944: Increase range of bytes_per_sep (GH-147946)
serhiy-storchaka b38cfb7
gh-146479: Skip test_frame_pointer_unwind for gcc -O3 --enable-shared…
vstinner a504c0a
gh-146488: hash-pin all action references
woodruffw 07d5d72
Increase dependabot interval to quarterly (#147959)
StanFromIreland 08c5d3d
gh-145000: Run `check-html-ids.py` in CI (#145632)
StanFromIreland 2452324
gh-146636: PEP 803: add Py_TARGET_ABI3T and .abi3t.so extension (GH-1…
encukou 03f3b9a
gh-146907: Clarify ABI compatibility between debug and release builds…
konstin 9e5b838
gh-146488: hash-pin check-html-ids action references (#147968)
hugovk 255026d
GH-126910: Make `_Py_get_machine_stack_pointer` return the stack poin…
markshannon 021ee7f
Docs: Use !r in __repr__ example (gh-146273)
petersuttondev 4810bed
gh-147960: Fix memory leak in crossinterp _tuple_shared() on alloc fa…
hyongtao-code b456cb2
gh-143050: Add helper _PyLong_InitTag() (#147956)
skirpichev c32e264
gh-146656: properly raise `NotImplementedError` instead of `NotImplem…
Locked-chess-official 7817651
gh-146444: Remove legacy iOS folder (#147993)
freakboy3742 97babb8
gh-143394: Skip pyrepl test_no_newline() basic REPL if readline is mi…
vstinner a86963b
gh-146636: Py_mod_abi mandatory for modules created from slots array …
encukou c1a4112
gh-147988: Initialize digits in long_alloc() in debug mode (#147989)
vstinner fc7a188
gh-146613: Fix re-entrant use-after-free in `itertools._grouper` (#14…
TheSkyC 9b08f8c
GH-126910: Revert "Make `_Py_get_machine_stack_pointer` return the st…
encukou 86b8617
Move root user checks to test.support (#146195)
kulikjak 74a82a2
gh-139038: Update JIT results in preparation for 3.15a8 (GH-148018)
Fidget-Spinner 0c10066
GH-145247: Use _PyTuple_FromPair in Modules (part 1) (#148000)
sergey-miryanov c1b20a6
GH-145247: Use _PyTuple_FromPair in Modules (part 2) (#148003)
sergey-miryanov 617f4cc
gh-142533: Document CRLF injection vulnerabilities in http.server doc…
tadejmagajna 9d087d6
GH-147985: Use lock-free lookup in `PySet_Contains` (#147986)
nascheme f3b74d6
gh-80642: timeit - make target time of autorange configurable (#140283)
miikka 3908593
test_copy_dir_no_read_permission requires non root user (GH-148028)
kulikjak edab686
gh-148022: Add threat model to remote debugging docs (#148024)
pablogsal 80ab6d9
gh-125895: Fix static asset location for `sphinx-notfound-page` (#147…
StanFromIreland 48317fe
gh-146640: Optimize int operations by mutating uniquely-referenced op…
eendebakpt 3681d47
gh-143930: Tweak the exception message and increase test coverage (GH…
ambv 198b04b
gh-146073: Add fitness/exit quality mechanism for JIT trace frontend …
cocolato cb76ab3
gh-145098: Use `macos-15-intel` instead of unstable `macos-26-intel` …
hugovk 80d0a85
gh-126676: Expand argparse docs for type=bool with warning and altern…
joshuaswanson dea4083
GH-146210: Fix building the jit stencils on Windows when the interpre…
chris-eibl 848bbe9
gh-146541: Allow building the Android testbed for 32-bit targets (#14…
robertkirkman b8470de
gh-146450: Normalise feature set of Android build script with other p…
freakboy3742 7e275d4
gh-131798: JIT inline function addresses of builtin methods (#146906)
kumaraditya303 7bcc1c4
gh-131798: relax GUARD_CALLABLE checks for self type checks (#148069)
kumaraditya303 985216c
gh-148029: Fix error message for invalid number of Base32 characters …
serhiy-storchaka 113038f
gh-148016: Improve "Leading padding not allowed" error in Base32 and …
serhiy-storchaka e7bf8ea
gh-131798: split recursion check to _CHECK_RECURSION_LIMIT and combin…
kumaraditya303 c50d6cd
gh-148078: Fix uses of sym_is_not_null in JIT optimizer (GH-148079)
Fidget-Spinner 611d606
gh-148067: Fix typo in asyncio event loop docs: 'signals' -> 'signal'…
Herrtian 328da67
gh-146073: Revert "gh-146073: Add fitness/exit quality mechanism for …
Fidget-Spinner fe9befc
gh-145883: Fix two heap-buffer-overflows in `_zoneinfo` (#145885)
StanFromIreland 289f19a
gh-148083: Constant-fold _CONTAINS_OP_SET for frozenset (gh-148084)
corona10 c398490
gh-148074: Fix `typeobject.c` missing error return (#148075)
Wulian233 853dafe
gh-148083: Prevent constant folding when lhs is container types (gh-1…
corona10 fbdbea9
Regex HOWTO: invalid string literals result in `SyntaxWarning` (#148092)
hugovk b1d2d98
Docs: Fix a typo in the 'Non-ASCII characters in names' section (#148…
StanFromIreland 21fb9dc
gh-146527: Heap-allocate gc_stats to avoid bloating PyInterpreterStat…
pablogsal 75be902
Docs: Standardize documentation authors (#148102)
StanFromIreland 8bf8bf9
gh-73613: Support Base32 and Base64 without padding (GH-147974)
serhiy-storchaka c43b490
gh-145000: Find correct merge base in `reusable-check-html-ids.yml` w…
StanFromIreland 4ff8b07
gh-142927: Show self time in flamegraph tooltip (#147706)
ivonastojanovic 1f36a51
Add `permissions: {}` to all reusable workflows (#148114)
ezio-melotti 1c4408a
gh-130472: Integrate fancycompleter with the new repl, to get colored…
antocuni 668c572
GH-139922: add interpreter types to InternalDocs/interpreter.md (GH-1…
chris-eibl 77fc2f5
gh-144319: Fix huge page leak in datastack chunk allocator (#147963)
pablogsal a1cf443
gh-94632: document the subprocess need for extra_groups=() with user=…
gpshead d6e0445
Silence `unused-variable` warnings in `optimizer_cases.c.h` (#148127)
StanFromIreland c64baff
gh-69605: Add math.integer to PyREPL module completer hardcoded list …
loic-simon b07becb
gh-140870: PyREPL auto-complete module attributes in import statement…
loic-simon bce96a1
gh-145098: Use `macos-15-intel` instead of unstable `macos-26-intel` …
StanFromIreland d8bcff8
Merge branch 'main' into dump-traceback
alexmalyshev File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 change: 1 addition & 0 deletions
1
Misc/NEWS.d/next/C_API/2026-03-06-21-50-48.gh-issue-145559.AiXgHq.rst
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| Rename ``_Py_DumpTraceback`` and ``_Py_DumpTracebackThreads`` to :c:func:`PyUnstable_DumpTraceback` and :c:func:`PyUnstable_DumpTracebackThreads`. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hum, I suggest to remove "It will also write this error message to fd." sentence. I'm not sure that it is always a good idea to write the error message to fd.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought that was what the C API discussion was about, writing the string result over to the file (when it's non-NULL). Did I misunderstand?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The function is supposed to dump debug information to fd. It can safely dump this message there, to simplify debugging.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PyUnstable_DumpTraceback() should either write the error message to fd and return
NULL, or not write into fd and return an error message. Doing both sounds redundant to me.Currently,
_Py_DumpTracebackThreads()returns an error message when it knows that it will not be able to output anything useful since it lacks an important data to do its work. For example, it returns an error message if it fails to get the current thread state.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is simpler, updated the doc for
PyUnstable_DumpTraceback().Do we still want to do the extra debug logging for
PyUnstable_DumpTracebackThreads()then, or shall we update that to also only return theconst char*?