Skip to content

Commit ce031a6

Browse files
committed
Preserve the stable ABI when creating fallback frame names
1 parent d44c119 commit ce031a6

5 files changed

Lines changed: 12 additions & 28 deletions

File tree

‎Include/internal/pycore_global_objects_fini_generated.h‎

Lines changed: 0 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Include/internal/pycore_global_strings.h‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,6 @@ struct _Py_global_strings {
5454
STRUCT_FOR_STR(native, "<native>")
5555
STRUCT_FOR_STR(str_replace_inf, "1e309")
5656
STRUCT_FOR_STR(type_params, ".type_params")
57-
STRUCT_FOR_STR(unknown_file, "<unknown file>")
58-
STRUCT_FOR_STR(unknown_function, "<unknown function>")
59-
STRUCT_FOR_STR(unreadable_frame, "<unreadable frame>")
6057
STRUCT_FOR_STR(utf_8, "utf-8")
6158
} literals;
6259

‎Include/internal/pycore_runtime_init_generated.h‎

Lines changed: 0 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Include/internal/pycore_unicodeobject_generated.h‎

Lines changed: 0 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Modules/_remote_debugging/code_objects.c‎

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -341,10 +341,6 @@ parse_code_object(RemoteUnwinderObject *unwinder,
341341
PyObject **result,
342342
const CodeObjectContext *ctx)
343343
{
344-
_Py_DECLARE_STR(unknown_function, "<unknown function>");
345-
_Py_DECLARE_STR(unknown_file, "<unknown file>");
346-
_Py_DECLARE_STR(unreadable_frame, "<unreadable frame>");
347-
348344
void *key = (void *)ctx->code_addr;
349345
CachedCodeMetadata *meta = NULL;
350346
PyObject *func = NULL;
@@ -378,7 +374,10 @@ parse_code_object(RemoteUnwinderObject *unwinder,
378374
goto error;
379375
}
380376
PyErr_Clear();
381-
func = Py_NewRef(&_Py_STR(unreadable_frame));
377+
func = PyUnicode_FromString("<unreadable frame>");
378+
if (!func) {
379+
goto error;
380+
}
382381
file = Py_NewRef(_Py_LATIN1_CHR('~'));
383382
goto degraded;
384383
}
@@ -390,7 +389,10 @@ parse_code_object(RemoteUnwinderObject *unwinder,
390389
goto error;
391390
}
392391
PyErr_Clear();
393-
func = Py_NewRef(&_Py_STR(unknown_function));
392+
func = PyUnicode_FromString("<unknown function>");
393+
if (!func) {
394+
goto error;
395+
}
394396
code_metadata_incomplete = 1;
395397
}
396398

@@ -401,7 +403,10 @@ parse_code_object(RemoteUnwinderObject *unwinder,
401403
goto error;
402404
}
403405
PyErr_Clear();
404-
file = Py_NewRef(&_Py_STR(unknown_file));
406+
file = PyUnicode_FromString("<unknown file>");
407+
if (!file) {
408+
goto error;
409+
}
405410
code_metadata_incomplete = 1;
406411
}
407412

0 commit comments

Comments
 (0)