bind9/util
Michał Kępień 7f0790c82f Fix entity renumbering in util/parse_tsan.py
util/parse_tsan.py builds tables of mutexes, threads, and pointers it
finds in the TSAN report provided to it as a command-line argument and
then replaces all mentions of each of these entities so that they are
numbered sequentially in the processed report.  For example, this line:

    Cycle in lock order graph: M0 (...) => M5 (...) => M9 (...) => M0

is expected to become:

    Cycle in lock order graph: M1 (...) => M2 (...) => M3 (...) => M1

Problems arise when the gaps between mutex/thread identifiers present on
a single line are smaller than the total number of mutexes/threads found
by the script so far.  For example, the following line:

    Cycle in lock order graph: M0 (...) => M1 (...) => M2 (...) => M0

first gets turned into:

    Cycle in lock order graph: M1 (...) => M1 (...) => M2 (...) => M1

and then into:

    Cycle in lock order graph: M2 (...) => M2 (...) => M2 (...) => M2

In other words, lines like this become garbled due to information loss.

The problem stems from the fact that the numbering scheme the script
uses for identifying mutexes and threads is exactly the same as the one
used by TSAN itself.  Update util/parse_tsan.py so that it uses
zero-padded numbers instead, making the "overlapping" demonstrated above
impossible.
2023-06-15 16:17:14 +02:00
..
bindkeys.pl Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
check-categories.sh Add shell interpreter line where missing 2022-11-14 19:54:42 +00:00
check-changes Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
check-cocci Run spatch jobs in parallel 2022-02-14 19:38:17 +01:00
check-gitignore.sh Detect "ignored yet tracked" files in GitLab CI 2022-12-23 13:44:18 +01:00
check-includes.pl Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
check-instincludes.sh Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
check-line-length.sh Add shell interpreter line where missing 2022-11-14 19:54:42 +00:00
check-make-install.in remove /etc/bind.keys 2023-02-06 14:39:31 -08:00
check-pullups.pl Remove trailing whitespace from all text files 2023-06-13 15:05:40 +02:00
check-trailing-whitespace.sh Add utility script to detect trailing whitespace 2023-06-13 15:06:38 +02:00
checklibs.sh Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
gen-eddsa-vectors.c Probe if ED448 and ED25519 are supported 2023-04-03 12:06:04 +10:00
gen-rsa-sha-vectors.c Check that we can verify a signature at initialisation time 2022-07-25 10:32:13 -04:00
git-replay-merge.sh revise branch format 2023-03-24 20:46:34 +00:00
memleak.pl Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
models.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
nanny.pl Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
new-func Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
pairwise-testing.sh Start named as auth and recursive server in pairwise 2023-02-13 12:45:20 +01:00
parse_tsan.py Fix entity renumbering in util/parse_tsan.py 2023-06-15 16:17:14 +02:00
release-tarball-comparison.sh Update release comparison scripts with liburcu and new Sphinx 2023-05-02 15:35:25 +02:00
run-clang-tidy Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
tabify-changes Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
unused-headers.sh Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
xmllint-html.sh Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00