From: Andrew Cagney <cagney@gnu.org>
To: Nick Roberts <nickrob@snap.net.nz>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [PATCH] interpreter_exec_cmd (interps.c)
Date: Tue, 25 Jan 2005 15:28:00 -0000 [thread overview]
Message-ID: <41F66552.4010909@gnu.org> (raw)
In-Reply-To: <16886.6823.347734.738143@farnswood.snap.net.nz>
Nick Roberts wrote:
> GDB hangs if it receives the previously legitimate command
> server interpreter mi "-var-update *"
>
>
> GNU gdb 6.3.50.20050125-cvs
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for details.
> This GDB was configured as "i586-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".
>
> (gdb) server interpreter mi "-var-update *"
> ^done,changelist=[]
> (gdb)
> error in command: "-var-update *".
>
>
> The patch below seems to fix it. I don't know what values reason takes as
> struct exception in exception.h has no commented description, so this patch is
> a bit of a guess and may not be the right fix. The bug is real, however.
> There seems to be a further bug, in that once GDB has reached the line in
> interps.c,
>
> error ("error in command: \"%s\".", prules[i]),
>
> ,presumably it shouldn't hang.
Hmm, another example is:
(gdb) interpreter console help foo
Can you create a new minimal test "gdb.base/interpreter.exp" to sanity
check one of the above (and add anything else that takes your fancy :-)
Be sure to check that the test actually fails without the test (and
don't forget to mention the system it was tested on). Consider that
pre-approved.
>
>
> *** /home/nick/src/gdb/interps.c.~1.10.~ 2005-01-16 15:46:17.000000000 +1300
> --- /home/nick/src/gdb/interps.c 2005-01-25 22:47:42.000000000 +1300
> ***************
> *** 399,405 ****
> for (i = 1; i < nrules; i++)
> {
> struct exception e = interp_exec (interp_to_use, prules[i]);
> ! if (!e.reason)
Oops! e.reason < 0 indicates an error (the [very old] description of
enum return_reason hints at this). With that tweak, and the testsuite,
this is approved.
good catch,
Andrew
next prev parent reply other threads:[~2005-01-25 15:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-25 10:15 Nick Roberts
2005-01-25 15:28 ` Andrew Cagney [this message]
2005-01-26 10:19 ` Nick Roberts
2005-01-27 10:14 ` Nick Roberts
2005-02-02 16:21 ` Andrew Cagney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=41F66552.4010909@gnu.org \
--to=cagney@gnu.org \
--cc=gdb-patches@sources.redhat.com \
--cc=nickrob@snap.net.nz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox