public inbox for gdb-testers@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] Don't re-process a DIE in read_lexical_block_scope
@ 2020-05-25 14:46 gdb-buildbot
2020-05-25 14:46 ` Failures on Fedora-i686, branch master gdb-buildbot
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: gdb-buildbot @ 2020-05-25 14:46 UTC (permalink / raw)
To: gdb-testers
*** TEST RESULTS FOR COMMIT 4f7bc5edbd3ffaad52022849d6263d982c23ff3c ***
commit 4f7bc5edbd3ffaad52022849d6263d982c23ff3c
Author: Tom Tromey <tromey@adacore.com>
AuthorDate: Fri May 8 14:26:11 2020 -0600
Commit: Tom Tromey <tromey@adacore.com>
CommitDate: Fri May 8 14:26:11 2020 -0600
Don't re-process a DIE in read_lexical_block_scope
A customer reported a crash in the DWARF reader.
Investigation showed that the crash occurred in an unusual scenario: a
function was lexically scoped within some other function -- but the
inner function inlined the outer function and referred to its DIE via
DW_AT_abstract_origin. With the executable in question,
inherit_abstract_dies could eventually call read_lexical_block_scope,
which in turn could recurse into process_die, to process a DIE that
was already being read, triggering an assert.
This came up once before; see:
https://www.sourceware.org/ml/gdb-patches/2014-02/msg00652.html
However, in this case, I don't have an easy way to reproduce. So,
there is no test case.
I did experiment with the failing executable. This patch fixes the
bug and doesn't seem to cause other issues. For example, I can still
set breakpoints on the relevant functions.
gdb/ChangeLog
2020-05-08 Tom Tromey <tromey@adacore.com>
* dwarf2/read.c (read_lexical_block_scope): Don't process a DIE
already being processed.
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 59125fd6de..07bc950502 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2020-05-08 Tom Tromey <tromey@adacore.com>
+
+ * dwarf2/read.c (read_lexical_block_scope): Don't process a DIE
+ already being processed.
+
2020-05-08 Tom Tromey <tom@tromey.com>
* printcmd.c (struct display) <next>: Remove.
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 60b56b8ea8..439b889144 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -13102,7 +13102,16 @@ read_lexical_block_scope (struct die_info *die, struct dwarf2_cu *cu)
for (child_die = die->child;
child_die != NULL && child_die->tag;
child_die = child_die->sibling)
- process_die (child_die, cu);
+ {
+ /* We might already be processing this DIE. This can happen
+ in an unusual circumstance -- where a subroutine A
+ appears lexically in another subroutine B, but A actually
+ inlines B. The recursion is broken here, rather than in
+ inherit_abstract_dies, because it seems better to simply
+ drop concrete children here. */
+ if (!child_die->in_process)
+ process_die (child_die, cu);
+ }
return;
case PC_BOUNDS_INVALID:
return;
^ permalink raw reply [flat|nested] 8+ messages in thread
* Failures on Fedora-i686, branch master
2020-05-25 14:46 [binutils-gdb] Don't re-process a DIE in read_lexical_block_scope gdb-buildbot
@ 2020-05-25 14:46 ` gdb-buildbot
2020-05-25 14:54 ` Failures on Fedora-x86_64-cc-with-index, " gdb-buildbot
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: gdb-buildbot @ 2020-05-25 14:46 UTC (permalink / raw)
To: gdb-testers
Buildername:
Fedora-i686
Worker:
fedora-x86-64-4
Full Build URL:
https://gdb-buildbot.osci.io/#builders/18/builds/3073
Author:
Tom Tromey <tromey@adacore.com>
Commit tested:
4f7bc5edbd3ffaad52022849d6263d982c23ff3c
Subject of commit:
Don't re-process a DIE in read_lexical_block_scope
Testsuite logs (gdb.sum, gdb.log and others):
https://gdb-buildbot.osci.io/results/Fedora-i686/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c/
*** Diff to previous build ***
==============================================
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 10: break at break_fn: 1
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 10: break at break_fn: 2
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 10: break at break_fn: 3
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 7: break at break_fn: 1
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 7: break at break_fn: 2
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 7: break at break_fn: 3
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 7: detach
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 7: reset timer in the inferior
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 8: break at break_fn: 1
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 8: break at break_fn: 2
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 8: break at break_fn: 3
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 8: detach
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 8: reset timer in the inferior
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 9: break at break_fn: 1
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 9: break at break_fn: 2
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 9: break at break_fn: 3
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 9: detach
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 9: reset timer in the inferior
PASS -> KFAIL: gdb.threads/non-ldr-exit.exp: program exits normally
==============================================
*** Complete list of XFAILs for this builder ***
To obtain the list of XFAIL tests for this builder, go to:
<https://gdb-buildbot.osci.io/results/Fedora-i686/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c//xfail.gz>
You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:
<https://gdb-buildbot.osci.io/results/Fedora-i686/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c//xfail.table.gz>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Failures on Fedora-x86_64-cc-with-index, branch master
2020-05-25 14:46 [binutils-gdb] Don't re-process a DIE in read_lexical_block_scope gdb-buildbot
2020-05-25 14:46 ` Failures on Fedora-i686, branch master gdb-buildbot
@ 2020-05-25 14:54 ` gdb-buildbot
2020-05-25 15:20 ` Failures on Fedora-x86_64-m32, " gdb-buildbot
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: gdb-buildbot @ 2020-05-25 14:54 UTC (permalink / raw)
To: gdb-testers
Buildername:
Fedora-x86_64-cc-with-index
Worker:
fedora-x86-64-3
Full Build URL:
https://gdb-buildbot.osci.io/#builders/20/builds/3022
Author:
Tom Tromey <tromey@adacore.com>
Commit tested:
4f7bc5edbd3ffaad52022849d6263d982c23ff3c
Subject of commit:
Don't re-process a DIE in read_lexical_block_scope
Testsuite logs (gdb.sum, gdb.log and others):
https://gdb-buildbot.osci.io/results/Fedora-x86_64-cc-with-index/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c/
*** Diff to previous build ***
==============================================
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: nested_func: 1st call: 1st thread: print k
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: nested_func: 1st call: 1st thread: print r
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: nested_func: 1st call: 1st thread: print z
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: nested_parallel: outer_threads: outer stop: print i
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: nested_parallel: outer_threads: outer stop: print j
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: single_scope: second thread: print i3
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=0: inferior 1 exited
==============================================
*** Complete list of XFAILs for this builder ***
To obtain the list of XFAIL tests for this builder, go to:
<https://gdb-buildbot.osci.io/results/Fedora-x86_64-cc-with-index/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c//xfail.gz>
You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:
<https://gdb-buildbot.osci.io/results/Fedora-x86_64-cc-with-index/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c//xfail.table.gz>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Failures on Fedora-x86_64-m32, branch master
2020-05-25 14:46 [binutils-gdb] Don't re-process a DIE in read_lexical_block_scope gdb-buildbot
2020-05-25 14:46 ` Failures on Fedora-i686, branch master gdb-buildbot
2020-05-25 14:54 ` Failures on Fedora-x86_64-cc-with-index, " gdb-buildbot
@ 2020-05-25 15:20 ` gdb-buildbot
2020-05-25 15:28 ` Failures on Fedora-x86_64-m64, " gdb-buildbot
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: gdb-buildbot @ 2020-05-25 15:20 UTC (permalink / raw)
To: gdb-testers
Buildername:
Fedora-x86_64-m32
Worker:
fedora-x86-64-4
Full Build URL:
https://gdb-buildbot.osci.io/#builders/17/builds/3068
Author:
Tom Tromey <tromey@adacore.com>
Commit tested:
4f7bc5edbd3ffaad52022849d6263d982c23ff3c
Subject of commit:
Don't re-process a DIE in read_lexical_block_scope
Testsuite logs (gdb.sum, gdb.log and others):
https://gdb-buildbot.osci.io/results/Fedora-x86_64-m32/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c/
*** Diff to previous build ***
==============================================
PASS -> KFAIL: gdb.threads/non-ldr-exit.exp: program exits normally
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=on: cond_bp_target=0: inferior 1 exited
==============================================
*** Complete list of XFAILs for this builder ***
To obtain the list of XFAIL tests for this builder, go to:
<https://gdb-buildbot.osci.io/results/Fedora-x86_64-m32/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c//xfail.gz>
You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:
<https://gdb-buildbot.osci.io/results/Fedora-x86_64-m32/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c//xfail.table.gz>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Failures on Fedora-x86_64-m64, branch master
2020-05-25 14:46 [binutils-gdb] Don't re-process a DIE in read_lexical_block_scope gdb-buildbot
` (2 preceding siblings ...)
2020-05-25 15:20 ` Failures on Fedora-x86_64-m32, " gdb-buildbot
@ 2020-05-25 15:28 ` gdb-buildbot
2020-05-25 16:10 ` Failures on Fedora-x86_64-native-extended-gdbserver-m32, " gdb-buildbot
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: gdb-buildbot @ 2020-05-25 15:28 UTC (permalink / raw)
To: gdb-testers
Buildername:
Fedora-x86_64-m64
Worker:
fedora-x86-64-3
Full Build URL:
https://gdb-buildbot.osci.io/#builders/3/builds/3127
Author:
Tom Tromey <tromey@adacore.com>
Commit tested:
4f7bc5edbd3ffaad52022849d6263d982c23ff3c
Subject of commit:
Don't re-process a DIE in read_lexical_block_scope
Testsuite logs (gdb.sum, gdb.log and others):
https://gdb-buildbot.osci.io/results/Fedora-x86_64-m64/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c/
*** Diff to previous build ***
==============================================
PASS -> FAIL: gdb.multi/multi-arch-exec.exp: first_arch=1: selected_thread=1: follow_exec_mode=same: continue across exec that changes architecture
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: multi_scope: second thread: print i02
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: multi_scope: second thread: print i12
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: multi_scope: second thread: print i22
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: nested_parallel: inner_threads: 2nd stop: print i
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: nested_parallel: inner_threads: 2nd stop: print j
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: single_scope: second thread: print i3
==============================================
*** Complete list of XFAILs for this builder ***
To obtain the list of XFAIL tests for this builder, go to:
<https://gdb-buildbot.osci.io/results/Fedora-x86_64-m64/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c//xfail.gz>
You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:
<https://gdb-buildbot.osci.io/results/Fedora-x86_64-m64/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c//xfail.table.gz>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Failures on Fedora-x86_64-native-extended-gdbserver-m32, branch master
2020-05-25 14:46 [binutils-gdb] Don't re-process a DIE in read_lexical_block_scope gdb-buildbot
` (3 preceding siblings ...)
2020-05-25 15:28 ` Failures on Fedora-x86_64-m64, " gdb-buildbot
@ 2020-05-25 16:10 ` gdb-buildbot
2020-05-25 16:11 ` Failures on Fedora-x86_64-native-extended-gdbserver-m64, " gdb-buildbot
2020-05-25 18:14 ` Failures on Fedora-x86_64-native-gdbserver-m64, " gdb-buildbot
6 siblings, 0 replies; 8+ messages in thread
From: gdb-buildbot @ 2020-05-25 16:10 UTC (permalink / raw)
To: gdb-testers
Buildername:
Fedora-x86_64-native-extended-gdbserver-m32
Worker:
fedora-x86-64-4
Full Build URL:
https://gdb-buildbot.osci.io/#builders/4/builds/2963
Author:
Tom Tromey <tromey@adacore.com>
Commit tested:
4f7bc5edbd3ffaad52022849d6263d982c23ff3c
Subject of commit:
Don't re-process a DIE in read_lexical_block_scope
Testsuite logs (gdb.sum, gdb.log and others):
https://gdb-buildbot.osci.io/results/Fedora-x86_64-native-extended-gdbserver-m32/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c/
*** Diff to previous build ***
==============================================
PASS -> FAIL: gdb.multi/multi-re-run.exp: re_run_inf=2: iter=2: continue until exit
PASS -> FAIL: gdb.multi/multi-re-run.exp: re_run_inf=2: iter=2: print re_run_var_2
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=1: inferior 1 exited
==============================================
*** Complete list of XFAILs for this builder ***
To obtain the list of XFAIL tests for this builder, go to:
<https://gdb-buildbot.osci.io/results/Fedora-x86_64-native-extended-gdbserver-m32/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c//xfail.gz>
You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:
<https://gdb-buildbot.osci.io/results/Fedora-x86_64-native-extended-gdbserver-m32/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c//xfail.table.gz>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Failures on Fedora-x86_64-native-extended-gdbserver-m64, branch master
2020-05-25 14:46 [binutils-gdb] Don't re-process a DIE in read_lexical_block_scope gdb-buildbot
` (4 preceding siblings ...)
2020-05-25 16:10 ` Failures on Fedora-x86_64-native-extended-gdbserver-m32, " gdb-buildbot
@ 2020-05-25 16:11 ` gdb-buildbot
2020-05-25 18:14 ` Failures on Fedora-x86_64-native-gdbserver-m64, " gdb-buildbot
6 siblings, 0 replies; 8+ messages in thread
From: gdb-buildbot @ 2020-05-25 16:11 UTC (permalink / raw)
To: gdb-testers
Buildername:
Fedora-x86_64-native-extended-gdbserver-m64
Worker:
fedora-x86-64-3
Full Build URL:
https://gdb-buildbot.osci.io/#builders/2/builds/2965
Author:
Tom Tromey <tromey@adacore.com>
Commit tested:
4f7bc5edbd3ffaad52022849d6263d982c23ff3c
Subject of commit:
Don't re-process a DIE in read_lexical_block_scope
Testsuite logs (gdb.sum, gdb.log and others):
https://gdb-buildbot.osci.io/results/Fedora-x86_64-native-extended-gdbserver-m64/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c/
*** Diff to previous build ***
==============================================
PASS -> FAIL: gdb.base/options.exp: test-print: cmd complete "frame apply all print -"
PASS -> FAIL: gdb.base/options.exp: test-print: tab complete "frame apply all print -"
PASS -> FAIL: gdb.base/reread.exp: opts= "-fPIE" "ldflags=-pie" : second pass: run to foo
PASS -> UNRESOLVED: gdb.threads/attach-into-signal.exp: threaded: attach
new FAIL: gdb.threads/attach-into-signal.exp: threaded: thread apply 2 print $_siginfo.si_signo
FAIL -> UNRESOLVED: gdb.threads/fork-plus-threads.exp: detach-on-fork=off: inferior 1 exited
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: nested_func: 2nd call: 1st thread: print k
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: nested_func: 2nd call: 1st thread: print r
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: nested_func: 2nd call: 1st thread: print z
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: nested_parallel: inner_threads: 3rd stop: print i
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: nested_parallel: inner_threads: 3rd stop: print j
==============================================
*** Complete list of XFAILs for this builder ***
To obtain the list of XFAIL tests for this builder, go to:
<https://gdb-buildbot.osci.io/results/Fedora-x86_64-native-extended-gdbserver-m64/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c//xfail.gz>
You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:
<https://gdb-buildbot.osci.io/results/Fedora-x86_64-native-extended-gdbserver-m64/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c//xfail.table.gz>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Failures on Fedora-x86_64-native-gdbserver-m64, branch master
2020-05-25 14:46 [binutils-gdb] Don't re-process a DIE in read_lexical_block_scope gdb-buildbot
` (5 preceding siblings ...)
2020-05-25 16:11 ` Failures on Fedora-x86_64-native-extended-gdbserver-m64, " gdb-buildbot
@ 2020-05-25 18:14 ` gdb-buildbot
6 siblings, 0 replies; 8+ messages in thread
From: gdb-buildbot @ 2020-05-25 18:14 UTC (permalink / raw)
To: gdb-testers
Buildername:
Fedora-x86_64-native-gdbserver-m64
Worker:
fedora-x86-64-3
Full Build URL:
https://gdb-buildbot.osci.io/#builders/22/builds/2975
Author:
Tom Tromey <tromey@adacore.com>
Commit tested:
4f7bc5edbd3ffaad52022849d6263d982c23ff3c
Subject of commit:
Don't re-process a DIE in read_lexical_block_scope
Testsuite logs (gdb.sum, gdb.log and others):
https://gdb-buildbot.osci.io/results/Fedora-x86_64-native-gdbserver-m64/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c/
*** Diff to previous build ***
==============================================
PASS -> FAIL: gdb.base/reread.exp: opts= "-fPIE" "ldflags=-pie" : second pass: run to foo
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: nested_parallel: inner_threads: 1st stop: print i
PASS -> KFAIL: gdb.threads/omp-par-scope.exp: nested_parallel: inner_threads: 1st stop: print j
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=0: inferior 1 exited
PASS -> FAIL: gdb.threads/thread-unwindonsignal.exp: continue until exit
==============================================
*** Complete list of XFAILs for this builder ***
To obtain the list of XFAIL tests for this builder, go to:
<https://gdb-buildbot.osci.io/results/Fedora-x86_64-native-gdbserver-m64/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c//xfail.gz>
You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:
<https://gdb-buildbot.osci.io/results/Fedora-x86_64-native-gdbserver-m64/4f/4f7bc5edbd3ffaad52022849d6263d982c23ff3c//xfail.table.gz>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-05-25 18:15 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-25 14:46 [binutils-gdb] Don't re-process a DIE in read_lexical_block_scope gdb-buildbot
2020-05-25 14:46 ` Failures on Fedora-i686, branch master gdb-buildbot
2020-05-25 14:54 ` Failures on Fedora-x86_64-cc-with-index, " gdb-buildbot
2020-05-25 15:20 ` Failures on Fedora-x86_64-m32, " gdb-buildbot
2020-05-25 15:28 ` Failures on Fedora-x86_64-m64, " gdb-buildbot
2020-05-25 16:10 ` Failures on Fedora-x86_64-native-extended-gdbserver-m32, " gdb-buildbot
2020-05-25 16:11 ` Failures on Fedora-x86_64-native-extended-gdbserver-m64, " gdb-buildbot
2020-05-25 18:14 ` Failures on Fedora-x86_64-native-gdbserver-m64, " gdb-buildbot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).