public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Patrick Palka <patrick@parcs.ath.cx>
To: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Cc: Patrick Palka <patrick@parcs.ath.cx>
Subject: Re: [PATCH] Don't truncate the history file when history size is unlimited
Date: Tue, 16 Jun 2015 15:00:00 -0000	[thread overview]
Message-ID: <CA+C-WL_rSfS0T+rGK2gO8Xqsw3t2PaVUet_+nPdEeTyrYC8yeA@mail.gmail.com> (raw)
In-Reply-To: <1434466413-28892-1-git-send-email-patrick@parcs.ath.cx>

On Tue, Jun 16, 2015 at 10:53 AM, Patrick Palka <patrick@parcs.ath.cx> wrote:
> We still do not handle "set history size unlimited" correctly.  In
> particular, after writing to the history file, we truncate the history
> even if it is unlimited.
>
> This patch makes sure that we do not call history_truncate_file() if the
> history is not stifled (i.e. if it's unlimited).  This bug causes the
> history file to be truncated to zero on exit when one has "set history
> size unlimited" in their gdbinit file.  Although this code exists in GDB
> 7.8, the bug is masked by a pre-existing bug that's been only fixed in
> GDB 7.9 (PR gdb/17820).
>
> gdb/ChangeLog:
>
>         * top.c (gdb_safe_append_history): Do not call
>         history_truncate_file if the history is not stifled.
>
> gdb/testsuite/ChangeLog:
>
>         * gdb.base/gdbinit-history.exp: Add test case to check that
>         an unlimited history file does not get truncated on exit.

I had written some extra stuff in the commit message within the patch
file  itself and then I overwritten it by running "git format-patch"
again...  This is basically what I wrote:

The reason I had so much trouble with writing the test case because I
failed to realize that there are two code paths for writing to the
history file: one for writing to a non-existing history file (i.e.
creating one) and one for appending to an existing history file.  The
bug only manifests itself when appending to the history file, not when
writing to it.  Thus the test has to stop/start GDB twice in order to
run both code paths and to trigger the bug.

By the way, what do you think about unsetting
HOME/HISTSIZE/GDBHISTFILE somewhere higher up in the testsuite
infrastructure?  It would be nice if individual tests did not have to
worry about such environment variables being leaked from userspace.

  reply	other threads:[~2015-06-16 15:00 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-09 19:28 Patrick Palka
2015-06-15 15:25 ` Pedro Alves
2015-06-15 16:01   ` Patrick Palka
2015-06-15 16:18     ` Pedro Alves
2015-06-16 14:53 ` Patrick Palka
2015-06-16 15:00   ` Patrick Palka [this message]
2015-06-17 13:14     ` Pedro Alves
2015-06-17 12:46   ` Pedro Alves
2015-07-23 18:42   ` Racy failures on gdb.base/gdbinit-history.exp (native-extended-gdbserver/-m64) (was: Re: [PATCH] Don't truncate the history file when history size is unlimited) Sergio Durigan Junior
2015-07-23 19:33     ` Patrick Palka
2015-07-24 14:03       ` Patrick Palka
2015-07-24 14:16         ` Patrick Palka
2015-08-13 15:18     ` Patrick Palka
2015-08-13 22:28       ` Racy failures on gdb.base/gdbinit-history.exp (native-extended-gdbserver/-m64) Sergio Durigan Junior
2015-08-13 23:26         ` Pedro Alves
2015-08-14  0:46           ` Sergio Durigan Junior
2015-08-17 13:16           ` Patrick Palka
2015-08-17 13:28             ` Patrick Palka
2015-08-17 14:03               ` Pedro Alves
2015-08-17 20:10                 ` Patrick Palka
2015-08-17 23:29                   ` Patrick Palka
2015-09-10 13:44                     ` Pedro Alves
2015-09-10 15:30                       ` Sergio Durigan Junior

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=CA+C-WL_rSfS0T+rGK2gO8Xqsw3t2PaVUet_+nPdEeTyrYC8yeA@mail.gmail.com \
    --to=patrick@parcs.ath.cx \
    --cc=gdb-patches@sourceware.org \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).