[PATCH v2 1/6] Handle recursive internal problem in gdb_internal_error_resync
Kevin Buettner
kevinb@redhat.com
Sat Feb 26 20:40:12 GMT 2022
I've pushed this commit.
On Mon, 27 Sep 2021 18:38:40 +0100
Pedro Alves <pedro@palves.net> wrote:
> On 2021-08-23 12:19 a.m., Kevin Buettner wrote:
> > I came across this problem when testing gdb.base/gdb-sigterm.exp
> > on a machine with a pre-release version of glib-2.34 installed:
> >
> > A problem internal to GDB has been detected,
> > further debugging may prove unreliable.
> > Quit this debugging session? (y or n) Recursive internal problem.
> > FAIL: gdb.base/gdb-sigterm.exp: expect eof #0 (GDB internal error)
> > Resyncing due to internal error.
> > ERROR: : spawn id exp11 not open
> > while executing
> > "expect {
> > -i exp11 -timeout 10
> > -re "Quit this debugging session\\? \\(y or n\\) $" {
> > send_gdb "n\n" answer
> > incr count
> > }
> > -re "Create..."
> > ("uplevel" body line 1)
> > invoked from within
> > "uplevel $body" NONE : spawn id exp11 not open
> > ERROR: Could not resync from internal error (timeout)
> > gdb.base/gdb-sigterm.exp: expect eof #0: stepped 9 times
> > UNRESOLVED: gdb.base/gdb-sigterm.exp: 50 SIGTERM passes
> >
> > I don't have a problem with the latter ERROR nor the UNRESOLVED
> > messages. However the first ERROR regarding the exp11 spawn id
> > not being open is not especially useful.
> >
> > This commit handles the "Recursive internal problem" case, avoiding
> > the problematic ERROR shown above.
> >
> > With this commit in place, the log messages look like this instead:
> >
> > A problem internal to GDB has been detected,
> > further debugging may prove unreliable.
> > Quit this debugging session? (y or n) Recursive internal problem.
> > FAIL: gdb.base/gdb-sigterm.exp: expect eof #15 (GDB internal error)
> > Resyncing due to internal error.
> > ERROR: Could not resync from internal error (recursive internal problem)
> > gdb.base/gdb-sigterm.exp: expect eof #15: stepped 12 times
> > UNRESOLVED: gdb.base/gdb-sigterm.exp: 50 SIGTERM passes
> >
> > gdb/testsuite/ChangeLog:
> >
> > * lib/gdb.exp (gdb_internal_error_resync): Handle "Recursive
> > internal problem".
>
> LGTM.
>
More information about the Gdb-patches
mailing list