GNU bug report logs - #62663
28.2; vc-hg-state returns incorrect results on directories in some repos

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Spencer Baugh <sbaugh@HIDDEN>; Keywords: confirmed; dated Tue, 4 Apr 2023 14:06:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
Added tag(s) confirmed. Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 62663 <at> debbugs.gnu.org:


Received: (at 62663) by debbugs.gnu.org; 13 Apr 2023 00:44:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 12 20:44:46 2023
Received: from localhost ([127.0.0.1]:42113 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pml4v-00073y-LK
	for submit <at> debbugs.gnu.org; Wed, 12 Apr 2023 20:44:45 -0400
Received: from wnew4-smtp.messagingengine.com ([64.147.123.18]:58787)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1pml4r-00073i-GR
 for 62663 <at> debbugs.gnu.org; Wed, 12 Apr 2023 20:44:44 -0400
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailnew.west.internal (Postfix) with ESMTP id F04E12B06861;
 Wed, 12 Apr 2023 20:44:33 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Wed, 12 Apr 2023 20:44:34 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :content-transfer-encoding:content-type:content-type:date:date
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:sender:subject:subject:to:to; s=fm1; t=
 1681346673; x=1681350273; bh=PE2O4wdjs5iFL8Md6w1U9IiosC/1nGqv8Ef
 PwRfTYIM=; b=oLQlMo6I/24M8r5Pjf2Wu4BTea2kH6EMiBAjsfEF4HEtUv4AJj9
 j7n0ymFH/IjLTeB2Kyene+sm0TNC95I+LYID0CZIlzpaY7jirWC9JPrljNFD1LQ5
 Ycb/Oai+o6SdOiMpKlRJM4B0gIppTeWIB85/AnY85fxOV+Pap7HVTaA84AeCV9GR
 UtV3LmtMI4ELcZpvZs63F2wbndVBtztydFiMGtDFamqtk0RVJz3uDuGue39cnxMM
 tTVZ7RazCwCXI7RhOW860jwwbra60/kCOmUEBh0rvcFEklybQGeiMwf/DLh3UNUI
 c1HMoI2EgG96wwvhj91ez57ZThU0Jj8wsqw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-transfer-encoding:content-type
 :content-type:date:date:feedback-id:feedback-id:from:from
 :in-reply-to:in-reply-to:message-id:mime-version:references
 :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1681346673; x=
 1681350273; bh=PE2O4wdjs5iFL8Md6w1U9IiosC/1nGqv8EfPwRfTYIM=; b=O
 TB85VaFVPACaMlQTBCisEUo8S8rR1QtV7WBpLe7gd9hYPrF8EIu5bihC1GRasMhZ
 AQRoVUPx+0e7+dHQmwl7mLzveSeO8htPW3xWSJHbksnvqkC6H9Qp7DwjKDfZf3vP
 VjquFSdMD1/iFP/NXas1PS5C/zgwLK9zdsT1SAHGpMOVzdMeIg7Fj21PWVMVkKLu
 X/n38w25x46dvhEKH/0NAStd4nVMt8gmJjR3P28q6ivr9h9TLNAejB926FFr98K2
 wcbR5OJrWmIJTTPKnV9EwgRCw/LYEJ9467ph95WB0j6LvFNMvvdjhLTtKiLVEzgt
 J9tmk1zsGA+QRDmqVxWJg==
X-ME-Sender: <xms:cVA3ZGux_GS_uEX8DnT8iOR6ZwPnBhGJKM5dBMz9dBR2cpKiy8Jd6g>
 <xme:cVA3ZLfIl6cYhjHFuEarT3vvjjVNskQpE0y_Ct9LlVr_lXZjbJ5ZtHzNhgTV--5ii
 XslafjHn5J5AGU4-AU>
X-ME-Received: <xmr:cVA3ZBw4CWwGp5UL6EEvc6NC99uzQ29suJmQxGC3SyWblbZb5txCIqQN7cv5Z2xG>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdekjedgfeelucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurhepkfffgggfuffvfhfhjggtgfesthejredttdefjeenucfhrhhomhepffhmihht
 rhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrghtth
 gvrhhnpeeghedthedujeeiteeutddtjeekheejteeukeehffdutdejuedvfeevueeviedu
 udenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumh
 hithhrhiesghhuthhovhdruggvvh
X-ME-Proxy: <xmx:cVA3ZBN4CY-bGFeoqnnMbCDcR6ofjygUoeW4XK_d_K7lpKPFopRNnw>
 <xmx:cVA3ZG_2sNBtZib-6l4SQmg5AyHTbFFR7CDifoz8IzBOlNfxnF3BFA>
 <xmx:cVA3ZJVD-8mM1hMWZGRSKFEw4WGq6ogAEJAlWsW0UD-IJ4mqzMcFtw>
 <xmx:cVA3ZMlS4pQhJqhWolpfVcv5BAFaJYoQXTwkg-ya50b_Ub5i6Y6ttzNyjKc>
Feedback-ID: i0e71465a:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 12 Apr 2023 20:44:31 -0400 (EDT)
Message-ID: <9272e622-ba9b-7c9d-b143-57bb97696ba3@HIDDEN>
Date: Thu, 13 Apr 2023 03:44:30 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: bug#62663: 28.2; vc-hg-state returns incorrect results on
 directories in some repos
Content-Language: en-US
To: Spencer Baugh <sbaugh@HIDDEN>, 62663 <at> debbugs.gnu.org,
 Daniel Colascione <dancol@HIDDEN>
References: <ier5yabkajk.fsf@HIDDEN>
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <ier5yabkajk.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -1.1 (-)
X-Debbugs-Envelope-To: 62663
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: -2.1 (--)

Hi! Thanks for the report.

On 04/04/2023 17:05, Spencer Baugh wrote:
> The problem is with vc-hg-state-fast, which parses Mercurial data
> structures instead of shelling out to hg.  This is a great idea but our
> parsing seems to be wrong right now in some way.
> 
> 1. Create a new hg repo with:
> 
> hg init
>    --config format.use_share_safe=false
>    --config format.use-persistent-nodemap=false
>    --config format.sparse-revlog=false
>    --config format.revlog-compression=zlib
> 
> (This is disabling some recent hg features which make vc-hg-state use
> the slow path.  You can verify that vc-hg-state-fast is going to run by
> checking that .hg/requirements is a subset of
> vc-hg-supported-requirements)
> 
> 2. touch foo && hg add foo && hg commit -m.
> 3. (vc-hg-state-slow ".")
> Returns 'up-to-date which is correct (because it shells out to hg)
> 4. (vc-hg-state ".")
> Returns 'unregistered which is wrong
> 
> To a user, this manifests as various hg commands failing with errors,
> often something like
> "vc-find-backend-function: Cannot open load file: No such file or directory, vc-nil"
> 
> This also happens on Emacs 29.
> 
> (Note that this is independent of my other bug about lack of support for
> certain repo requirements.  That bug is about expanding vc-hg-state-fast
> support to new repos; this bug is showing that the already existing
> support is buggy!)

Patches are welcome, of course.

I'm going to Cc the original author of that code, but that's just for 
courtesy.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#62663; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 4 Apr 2023 14:05:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 04 10:05:27 2023
Received: from localhost ([127.0.0.1]:49947 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pjhHq-0001by-MS
	for submit <at> debbugs.gnu.org; Tue, 04 Apr 2023 10:05:27 -0400
Received: from lists.gnu.org ([209.51.188.17]:49036)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sbaugh@HIDDEN>) id 1pjhHo-0001bn-2Z
 for submit <at> debbugs.gnu.org; Tue, 04 Apr 2023 10:05:25 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <sbaugh@HIDDEN>)
 id 1pjhHn-0006Hy-Nk
 for bug-gnu-emacs@HIDDEN; Tue, 04 Apr 2023 10:05:23 -0400
Received: from mxout5.mail.janestreet.com ([64.215.233.18])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <sbaugh@HIDDEN>)
 id 1pjhHl-0007Ni-1r
 for bug-gnu-emacs@HIDDEN; Tue, 04 Apr 2023 10:05:23 -0400
From: Spencer Baugh <sbaugh@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 28.2; vc-hg-state returns incorrect results on directories in some
 repos
Date: Tue, 04 Apr 2023 10:05:19 -0400
Message-ID: <ier5yabkajk.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=64.215.233.18; envelope-from=sbaugh@HIDDEN;
 helo=mxout5.mail.janestreet.com
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
X-Debbugs-Envelope-To: submit
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: -2.4 (--)


The problem is with vc-hg-state-fast, which parses Mercurial data
structures instead of shelling out to hg.  This is a great idea but our
parsing seems to be wrong right now in some way.

1. Create a new hg repo with:

hg init
  --config format.use_share_safe=false
  --config format.use-persistent-nodemap=false
  --config format.sparse-revlog=false
  --config format.revlog-compression=zlib

(This is disabling some recent hg features which make vc-hg-state use
the slow path.  You can verify that vc-hg-state-fast is going to run by
checking that .hg/requirements is a subset of
vc-hg-supported-requirements)

2. touch foo && hg add foo && hg commit -m.
3. (vc-hg-state-slow ".")
Returns 'up-to-date which is correct (because it shells out to hg)
4. (vc-hg-state ".")
Returns 'unregistered which is wrong

To a user, this manifests as various hg commands failing with errors,
often something like
"vc-find-backend-function: Cannot open load file: No such file or directory, vc-nil"

This also happens on Emacs 29.

(Note that this is independent of my other bug about lack of support for
certain repo requirements.  That bug is about expanding vc-hg-state-fast
support to new repos; this bug is showing that the already existing
support is buggy!)


In GNU Emacs 28.2 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.15.12, Xaw scroll bars)
 of 2023-02-09 built on igm-qws-u12685a
Repository revision: 739b5d0e52d83ec567bd61a5a49ac0e93e0eb469
Repository branch: HEAD
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: CentOS Linux 7 (Core)

Configured using:
 'configure --with-x-toolkit=lucid --without-gpm --without-gconf
 --without-selinux --without-imagemagick --with-modules --with-gif=no
 --with-cairo --with-rsvg
 --prefix=/j/office/app/emacs/builds/28.2-20230209-135825'

Configured features:
CAIRO DBUS FREETYPE GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LIBXML2
MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF
TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM LUCID ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Dired by name

Minor modes in effect:
  shell-dirtrack-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug sendmail dabbrev pp cl-print log-edit
message rmc puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config
gnus-util rmail rmail-loaddefs auth-source eieio eieio-core cl-macs
eieio-loaddefs password-cache json map time-date subr-x mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader
pcvs-util add-log shell pcomplete comint ansi-color ring misearch
multi-isearch jka-compr find-func shortdoc text-property-search
vc-annotate vc-filewise thingatpt help-fns radix-tree help-mode cl-seq
vc-mtn vc-hg vc-git diff-mode easy-mmode vc-bzr vc-src vc-sccs vc-svn
vc-cvs vc-rcs vc-dir seq byte-opt gv bytecomp byte-compile cconv ewoc vc
vc-dispatcher dired-aux cl-loaddefs cl-lib dired dired-loaddefs
iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer cl-generic
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice button loaddefs faces cus-face macroexp files
window text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote threads dbusbind
inotify dynamic-setting system-font-setting font-render-setting cairo
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 119456 11097)
 (symbols 48 13754 1)
 (strings 32 40872 1164)
 (string-bytes 1 1248921)
 (vectors 16 18713)
 (vector-slots 8 234707 16776)
 (floats 8 86 32)
 (intervals 56 1922 0)
 (buffers 992 25)
 (heap 1024 18673 1560))




Acknowledgement sent to Spencer Baugh <sbaugh@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#62663; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 11 Sep 2023 23:45:01 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.