From: Johannes Schindelin <Johannes.Schindelin@gmx.de> To: Jonathan Nieder <jrnieder@gmail.com> Cc: Jeff Hostetler via GitGitGadget <gitgitgadget@gmail.com>, git@vger.kernel.org, gitster@pobox.com, peff@peff.net, steadmon@google.com, avarab@gmail.com, Jeff Hostetler <jeffhost@microsoft.com> Subject: Re: [PATCH v3 01/10] config: initialize opts structure in repo_read_config() Date: Mon, 15 Apr 2019 16:34:52 +0200 (CEST) Message-ID: <nycvar.QRO.7.76.6.1904151629020.12614@tvgsbejvaqbjf.bet> (raw) In-Reply-To: <20190412035220.GA26967@google.com> Hi Jonathan, On Thu, 11 Apr 2019, Jonathan Nieder wrote: > Jeff Hostetler wrote: > > > Initialize opts structure in repo_read_config(). > > Good find. Heh, it really was our CI that found it, and it was I (with valgrind's help) who identified the problem and proposed the fix. So: thank you! > I wonder if there are some flags we can turn on with > DEVELOPER=1 to prevent this kind of issue going undetected in the > future (or maybe this means we need to get the valgrind or ASan > testing modes to be fast enough for people to consistently run them). Sadly, I do not think that either is an option. Such uninitialized memory is really hard to catch without in-depth analysis, so DEVELOPER=1 is out. And `valgrind` (or the faster alternative, DrMemory) have to spend quite a bit of time to do what they do, and it is unlikely that that could ever be made faster. A better approach might be static analysis (and I do not mean the diet coke of static analysis that we run as part of our CI, but something as powerful as Coverity). Sadly, Coverity makes it super hard to switch off false positives regarding e.g. our use of FLEX_ARRAY or strbuf's strbuf_slopbuf. For quite a while, I wanted to play with [infer](https://fbinfer.com/), in the hopes that it would be possible to do customize what cannot be customized with Coverity. Alas, their use of OCaml (why do they make it so hard?) puts quite the bit of a road block ahead of me in that endeavor. Ciao, Dscho
next prev parent reply other threads:[~2019-04-15 14:35 UTC|newest] Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-03-28 13:30 [PATCH 0/4] trace2: load trace2 settings from system config Jeff Hostetler via GitGitGadget 2019-03-28 13:30 ` [PATCH 1/4] trace2: refactor setting process starting time Jeff Hostetler via GitGitGadget 2019-03-28 13:31 ` [PATCH 2/4] trace2: add absolute elapsed time to start event Jeff Hostetler via GitGitGadget 2019-03-28 13:31 ` [PATCH 3/4] trace2: find exec-dir before trace2 initialization Jeff Hostetler via GitGitGadget 2019-03-28 13:31 ` [PATCH 4/4] trace2: use system config for default trace2 settings Jeff Hostetler via GitGitGadget 2019-03-28 14:36 ` Ævar Arnfjörð Bjarmason 2019-03-28 18:50 ` Jeff Hostetler 2019-03-28 21:28 ` Josh Steadmon 2019-03-29 17:04 ` [PATCH v2 0/7] trace2: load trace2 settings from system config Jeff Hostetler via GitGitGadget 2019-03-29 17:04 ` [PATCH v2 1/7] trace2: refactor setting process starting time Jeff Hostetler via GitGitGadget 2019-03-29 17:04 ` [PATCH v2 2/7] trace2: add absolute elapsed time to start event Jeff Hostetler via GitGitGadget 2019-03-29 17:04 ` [PATCH v2 3/7] trace2: find exec-dir before trace2 initialization Jeff Hostetler via GitGitGadget 2019-03-29 17:04 ` [PATCH v2 4/7] trace2: use system config for default trace2 settings Jeff Hostetler via GitGitGadget 2019-04-01 21:00 ` Josh Steadmon 2019-04-01 21:06 ` Jeff Hostetler 2019-04-03 0:01 ` Jonathan Nieder 2019-04-03 0:00 ` Jonathan Nieder 2019-04-09 15:58 ` Jeff Hostetler 2019-03-29 17:04 ` [PATCH v2 5/7] trace2: report peak memory usage of the process Jeff Hostetler via GitGitGadget 2019-03-29 22:16 ` Ævar Arnfjörð Bjarmason 2019-04-01 21:05 ` Jeff Hostetler 2019-03-29 17:04 ` [PATCH v2 7/7] trace2: make SIDs more unique Jeff Hostetler via GitGitGadget 2019-03-29 22:12 ` Ævar Arnfjörð Bjarmason 2019-04-01 21:16 ` Jeff Hostetler 2019-03-29 17:04 ` [PATCH v2 6/7] trace2: clarify UTC datetime formatting Jeff Hostetler via GitGitGadget 2019-04-01 21:02 ` [PATCH v2 0/7] trace2: load trace2 settings from system config Josh Steadmon 2019-04-11 15:18 ` [PATCH v3 00/10] " Jeff Hostetler via GitGitGadget 2019-04-11 15:18 ` [PATCH v3 01/10] config: initialize opts structure in repo_read_config() Jeff Hostetler via GitGitGadget 2019-04-12 3:52 ` Jonathan Nieder 2019-04-15 14:34 ` Johannes Schindelin [this message] 2019-04-11 15:18 ` [PATCH v3 02/10] trace2: refactor setting process starting time Jeff Hostetler via GitGitGadget 2019-04-11 15:18 ` [PATCH v3 03/10] trace2: add absolute elapsed time to start event Jeff Hostetler via GitGitGadget 2019-04-11 15:18 ` [PATCH v3 04/10] trace2: find exec-dir before trace2 initialization Jeff Hostetler via GitGitGadget 2019-04-11 15:18 ` [PATCH v3 05/10] config: add read_very_early_config() Jeff Hostetler via GitGitGadget 2019-04-11 15:18 ` [PATCH v3 06/10] trace2: use system/global config for default trace2 settings Jeff Hostetler via GitGitGadget 2019-04-11 15:18 ` [PATCH v3 07/10] trace2: report peak memory usage of the process Jeff Hostetler via GitGitGadget 2019-04-11 15:18 ` [PATCH v3 08/10] trace2: clarify UTC datetime formatting Jeff Hostetler via GitGitGadget 2019-04-11 15:18 ` [PATCH v3 09/10] trace2: make SIDs more unique Jeff Hostetler via GitGitGadget 2019-04-11 15:18 ` [PATCH v3 10/10] trace2: update docs to describe system/global config settings Jeff Hostetler via GitGitGadget 2019-04-12 2:29 ` [PATCH v3 00/10] trace2: load trace2 settings from system config Junio C Hamano 2019-04-12 13:47 ` Jeff Hostetler 2019-04-15 20:39 ` [PATCH v4 " Jeff Hostetler via GitGitGadget 2019-04-15 20:39 ` [PATCH v4 01/10] config: initialize opts structure in repo_read_config() Jeff Hostetler via GitGitGadget 2019-04-15 20:39 ` [PATCH v4 02/10] trace2: refactor setting process starting time Jeff Hostetler via GitGitGadget 2019-04-15 20:39 ` [PATCH v4 03/10] trace2: add absolute elapsed time to start event Jeff Hostetler via GitGitGadget 2019-04-15 20:39 ` [PATCH v4 04/10] trace2: find exec-dir before trace2 initialization Jeff Hostetler via GitGitGadget 2019-04-15 20:39 ` [PATCH v4 05/10] config: add read_very_early_config() Jeff Hostetler via GitGitGadget 2019-04-15 20:39 ` [PATCH v4 06/10] trace2: use system/global config for default trace2 settings Jeff Hostetler via GitGitGadget 2019-04-27 13:43 ` SZEDER Gábor 2019-04-29 19:03 ` Jeff Hostetler 2019-04-15 20:39 ` [PATCH v4 07/10] trace2: report peak memory usage of the process Jeff Hostetler via GitGitGadget 2019-04-15 20:39 ` [PATCH v4 08/10] trace2: clarify UTC datetime formatting Jeff Hostetler via GitGitGadget 2019-04-15 20:39 ` [PATCH v4 09/10] trace2: make SIDs more unique Jeff Hostetler via GitGitGadget 2019-04-15 20:39 ` [PATCH v4 10/10] trace2: update docs to describe system/global config settings Jeff Hostetler via GitGitGadget 2019-04-29 20:14 ` [PATCH v5 00/11] trace2: load trace2 settings from system config Jeff Hostetler via GitGitGadget 2019-04-29 20:14 ` [PATCH v5 01/11] config: initialize opts structure in repo_read_config() Jeff Hostetler via GitGitGadget 2019-04-29 20:14 ` [PATCH v5 02/11] trace2: refactor setting process starting time Jeff Hostetler via GitGitGadget 2019-04-29 20:14 ` [PATCH v5 03/11] trace2: add absolute elapsed time to start event Jeff Hostetler via GitGitGadget 2019-04-29 20:14 ` [PATCH v5 04/11] trace2: find exec-dir before trace2 initialization Jeff Hostetler via GitGitGadget 2019-04-29 20:14 ` [PATCH v5 05/11] config: add read_very_early_config() Jeff Hostetler via GitGitGadget 2019-04-29 20:14 ` [PATCH v5 06/11] trace2: use system/global config for default trace2 settings Jeff Hostetler via GitGitGadget 2019-04-29 20:14 ` [PATCH v5 07/11] trace2: report peak memory usage of the process Jeff Hostetler via GitGitGadget 2019-04-29 20:14 ` [PATCH v5 09/11] trace2: make SIDs more unique Jeff Hostetler via GitGitGadget 2019-04-29 20:14 ` [PATCH v5 08/11] trace2: clarify UTC datetime formatting Jeff Hostetler via GitGitGadget 2019-04-29 20:14 ` [PATCH v5 10/11] trace2: update docs to describe system/global config settings Jeff Hostetler via GitGitGadget 2019-04-29 20:14 ` [PATCH v5 11/11] trace2: fixup access problem on /etc/gitconfig in read_very_early_config Jeff Hostetler via GitGitGadget 2019-04-29 20:21 ` [PATCH v5 00/11] trace2: load trace2 settings from system config Jeff Hostetler 2019-05-07 1:18 ` Junio C Hamano
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 List information: http://vger.kernel.org/majordomo-info.html * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=nycvar.QRO.7.76.6.1904151629020.12614@tvgsbejvaqbjf.bet \ --to=johannes.schindelin@gmx.de \ --cc=avarab@gmail.com \ --cc=git@vger.kernel.org \ --cc=gitgitgadget@gmail.com \ --cc=gitster@pobox.com \ --cc=jeffhost@microsoft.com \ --cc=jrnieder@gmail.com \ --cc=peff@peff.net \ --cc=steadmon@google.com \ /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
git@vger.kernel.org list mirror (unofficial, one of many) This inbox may be cloned and mirrored by anyone: git clone --mirror https://public-inbox.org/git git clone --mirror http://ou63pmih66umazou.onion/git git clone --mirror http://czquwvybam4bgbro.onion/git git clone --mirror http://hjrcffqmbrq6wope.onion/git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V1 git git/ https://public-inbox.org/git \ git@vger.kernel.org public-inbox-index git Example config snippet for mirrors. Newsgroups are available over NNTP: nntp://news.public-inbox.org/inbox.comp.version-control.git nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git nntp://news.gmane.io/gmane.comp.version-control.git note: .onion URLs require Tor: https://www.torproject.org/ code repositories for the project(s) associated with this inbox: https://80x24.org/mirrors/git.git AGPL code for this site: git clone https://public-inbox.org/public-inbox.git