X-Loop: help-debbugs@HIDDEN
Subject: bug#34683: regression in file tree walker
Resent-From: Mike Gulick <mgulick@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-idutils@HIDDEN
Resent-Date: Thu, 28 Feb 2019 15:36:02 +0000
Resent-Message-ID: <handler.34683.B.155136811018307 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 34683
X-GNU-PR-Package: idutils
X-GNU-PR-Keywords:
To: 34683 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-idutils@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.155136811018307
(code B ref -1); Thu, 28 Feb 2019 15:36:02 +0000
Received: (at submit) by debbugs.gnu.org; 28 Feb 2019 15:35:10 +0000
Received: from localhost ([127.0.0.1]:55383 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1gzNiI-0004lD-2A
for submit <at> debbugs.gnu.org; Thu, 28 Feb 2019 10:35:10 -0500
Received: from eggs.gnu.org ([209.51.188.92]:47675)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <mgulick@HIDDEN>) id 1gzNgK-0004hk-Gi
for submit <at> debbugs.gnu.org; Thu, 28 Feb 2019 10:33:10 -0500
Received: from lists.gnu.org ([209.51.188.17]:60552)
by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
(Exim 4.71) (envelope-from <mgulick@HIDDEN>) id 1gzNgB-0002Zt-2F
for submit <at> debbugs.gnu.org; Thu, 28 Feb 2019 10:33:01 -0500
Received: from eggs.gnu.org ([209.51.188.92]:33770)
by lists.gnu.org with esmtp (Exim 4.71)
(envelope-from <mgulick@HIDDEN>) id 1gzNg5-0005E3-3b
for bug-idutils@HIDDEN; Thu, 28 Feb 2019 10:32:58 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level:
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM,
URIBL_BLOCKED autolearn=disabled version=3.3.2
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from <mgulick@HIDDEN>) id 1gzNfz-0002US-35
for bug-idutils@HIDDEN; Thu, 28 Feb 2019 10:32:49 -0500
Received: from mail-qt1-x834.google.com ([2607:f8b0:4864:20::834]:34699)
by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)
(Exim 4.71) (envelope-from <mgulick@HIDDEN>) id 1gzNfx-0002R6-0v
for bug-idutils@HIDDEN; Thu, 28 Feb 2019 10:32:45 -0500
Received: by mail-qt1-x834.google.com with SMTP id w4so23994230qtc.1
for <bug-idutils@HIDDEN>; Thu, 28 Feb 2019 07:32:40 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=to:from:subject:message-id:date:user-agent:mime-version
:content-language:content-transfer-encoding;
bh=yZeYTjnyD/gNECPZnPKyT0fO5tUmLT2CHjQ26vwffB0=;
b=pc8paORXTDFEaVLT41Lb63RTqs6ZSyOVXBPLG9vGbrObj9iRN4QkL/SOkEVmVf2yzz
rTb711aYIVntNOUYFkOV6okAry3a3JqNHJQnz+fPLXCIAKEsIOq+6bz2+CKiwksLtxGo
ct+DnKyuaYTJwpSlaxlg1m64y7ADb17+thkPhYDzYEcFEf+UiGbm5GBP2zNoDJFfUQJ9
LIwDMQSETNIU6cEDQoba/UazjZR2RxUr2Y9DTcs/wDNJOGqBGkLOo2s9QhMAgVVmkIhF
2eL9BTM1yqlLoD6nifvXz2PUJ69sgDe3XFUhwnYdkAI9U62a+knt1N3QNrq33gyXQtlj
XoNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:to:from:subject:message-id:date:user-agent
:mime-version:content-language:content-transfer-encoding;
bh=yZeYTjnyD/gNECPZnPKyT0fO5tUmLT2CHjQ26vwffB0=;
b=QILb5YWxR7CiQ4qzaYL0u/Cp486ltLYIAFncgAliirM3gAHi/49YhAINO/Fd5UL+9G
qxHZN4IHR6c/Aw2eKoko6JSw/9C64XGD2MKYJXiSA2/D2cLqiMqKCd/Gz4FhxBZq2jGB
IaNLMOj90CaRpMXDP/relAPOXEerB/9SY5TbPpyUFljvv9KqX07P9GEMzrFMDwW98L6w
sc7aLEp7ea4VC6nkNiEj5d6ss2Pla07rUGQarXXdqkFg6udKG1D4Yoi6qAzFDq+8zqMz
OvAULT7oPsYU8/Cuv0jcjbubXb7ZzIUMEoFOJnKErlt9SAmYLnGhrioQQEbldhVP1nzc
aipQ==
X-Gm-Message-State: AHQUAuY7cIqUGbhFLcBrbXnUVZe9JjDVFlF5SmQ8KOVPcIWCuplOsk7/
VNP0b+mpxBTL6f3M7XabNv/GcHzM
X-Google-Smtp-Source: AHgI3IYydk2dSvWBW7vV65UovZXpug/G1TiaRMIQy5Ch3mx/M+bQmCiK1K2WOy51e0qMneTa7+XvSg==
X-Received: by 2002:aed:35c6:: with SMTP id d6mr6947235qte.320.1551367959310;
Thu, 28 Feb 2019 07:32:39 -0800 (PST)
Received: from [172.20.132.217] ([144.212.128.4])
by smtp.gmail.com with ESMTPSA id s76sm6645598qki.42.2019.02.28.07.32.38
for <bug-idutils@HIDDEN>
(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Thu, 28 Feb 2019 07:32:38 -0800 (PST)
From: Mike Gulick <mgulick@HIDDEN>
Message-ID: <4f5815f9-52e4-70ab-d72c-7b5311e6e066@HIDDEN>
Date: Thu, 28 Feb 2019 10:32:37 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
Thunderbird/60.5.1
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US-large
Content-Transfer-Encoding: 7bit
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
recognized.
X-Received-From: 2607:f8b0:4864:20::834
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Spam-Score: 1.0 (+)
X-Mailman-Approved-At: Thu, 28 Feb 2019 10:35:07 -0500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)
Hi,
I was testing the tip of the idutils, and I saw that a bunch of files
were getting left out of my idutils database. I also see a bunch of
warnings about files being the same but different. E.g.
$ ./src/mkid -m libidu/id-lang.map -o test_db.ID /usr/include/
./mkid: warning: `/usr/include/wireless.h' and `/usr/include/pugiconfig.hpp' are the same file, but yield different scans!
./mkid: warning: `/usr/include/c++/8.2.1/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp' and `/usr/include/sodium.h' are the same file, but yield different scans!
./mkid: warning: `/usr/include/c++/8.2.1/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp' and `/usr/include/neaacdec.h' are the same file, but yield different scans!
./mkid: warning: `/usr/include/c++/8.2.1/ext/pb_ds/detail/rb_tree_map_/traits.hpp' and `/usr/include/faad.h' are the same file, but yield different scans!
./mkid: warning: `/usr/include/c++/8.2.1/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp' and `/usr/include/git2.h' are the same file, but yield different scans!
./mkid: warning: `/usr/include/guile/2.0/readline.h' and `/usr/include/c++/8.2.1/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp' are the same file, but yield different scans!
...
The issue seems to be in the last commit that changes
dev_ino_hash_compare. This function is returning 1 (true) when the
dev_ino structs are identical and 0 (false) when different. However
the hash table expects traditional comparator behavior (i.e. x - y).
The following patch fixes the issue for me.
Thanks,
Mike
--
diff --git a/libidu/walker.c b/libidu/walker.c
index b6a6109..e43f3f5 100644
--- a/libidu/walker.c
+++ b/libidu/walker.c
@@ -1141,9 +1141,16 @@ DEV_INO_HASH_DEFUN(dev_ino_hash_2, xform_NOT)
static int
dev_ino_hash_compare (void const *xv, void const *yv)
{
+ int result;
struct dev_ino const *x = xv;
struct dev_ino const *y = yv;
- return x->di_ino == y->di_ino && x->di_dev == y->di_dev;
+
+ result = (x->di_ino > y->di_ino) - (x->di_ino < y->di_ino);
+ if (result)
+ return result;
+
+ result = (x->di_dev > y->di_dev) - (x->di_dev < y->di_dev);
+ return result;
}
#endif
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Mike Gulick <mgulick@HIDDEN> Subject: bug#34683: Acknowledgement (regression in file tree walker) Message-ID: <handler.34683.B.155136811018307.ack <at> debbugs.gnu.org> References: <4f5815f9-52e4-70ab-d72c-7b5311e6e066@HIDDEN> X-Gnu-PR-Message: ack 34683 X-Gnu-PR-Package: idutils Reply-To: 34683 <at> debbugs.gnu.org Date: Thu, 28 Feb 2019 15:36:03 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-idutils@HIDDEN If you wish to submit further information on this problem, please send it to 34683 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 34683: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D34683 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.