[PATCH] Fix PR19927: Avoid unwinder recursion if sniffer uses calls parse_and_eval
Pedro Alves
palves@redhat.com
Mon Sep 5 17:48:00 GMT 2016
On 08/23/2016 07:45 PM, Pedro Alves wrote:
>
> gdb/ChangeLog:
> 2016-08-23 Pedro Alves <palves@redhat.com>
>
> PR backtrace/19927
> * frame.c (get_frame_id): Compute the frame id if not computed
> yet.
> (unwind_to_current_frame): Delete.
> (get_current_frame): Use get_prev_frame_always_1 to get the
> current frame and assert that that always succeeds.
> (get_prev_frame_if_no_cycle): Skip cycle detection if returning
> the current frame.
>
> gdb/testsuite/ChangeLog:
> 2016-08-23 Pedro Alves <palves@redhat.com>
>
> PR backtrace/19927
> * gdb.python/py-unwind-maint.exp: Adjust tests to not expect that
> unwinders are immediately called as side effect of "source" or
> "disable unwinder" commands.
I've now pushed this to master, amended to remove the setup_kfail
calls in py-recurse-unwind.exp, with:
diff --git a/gdb/testsuite/gdb.python/py-recurse-unwind.exp b/gdb/testsuite/gdb.python/py-recurse-unwind.exp
index fe17d3f..9629a97 100644
--- a/gdb/testsuite/gdb.python/py-recurse-unwind.exp
+++ b/gdb/testsuite/gdb.python/py-recurse-unwind.exp
@@ -61,7 +61,6 @@ gdb_test_no_output "python TestUnwinder.reset_count()"
# get hung up in potentially infinite recursion when invoking the
# Python-based unwinder.
-setup_kfail "gdb/19927" "*-*-*"
gdb_test_sequence "bt" "backtrace" {
"\\r\\n#0 .* ccc \\(arg=789\\) at "
"\\r\\n#1 .* bbb \\(arg=456\\) at "
@@ -71,5 +70,4 @@ gdb_test_sequence "bt" "backtrace" {
# Test that the python-based unwinder / sniffer was actually called
# during generation of the backtrace.
-setup_kfail "gdb/19927" "*-*-*"
gdb_test "python print(TestUnwinder.count > 0)" "True"
More information about the Gdb-patches
mailing list