GNU bug report logs - #37231
27.0.50; concurrent XML validation yields an invalid file

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: Vincent Lefevre <vincent@HIDDEN>; Keywords: confirmed; dated Fri, 30 Aug 2019 07:26:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

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


Received: (at 37231) by debbugs.gnu.org; 20 Sep 2019 18:53:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 20 14:53:14 2019
Received: from localhost ([127.0.0.1]:58504 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iBO1p-000558-Lo
	for submit <at> debbugs.gnu.org; Fri, 20 Sep 2019 14:53:13 -0400
Received: from quimby.gnus.org ([80.91.231.51]:33872)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1iBO1l-00054w-KY
 for 37231 <at> debbugs.gnu.org; Fri, 20 Sep 2019 14:53:12 -0400
Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=marnie)
 by quimby.gnus.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.89) (envelope-from <larsi@HIDDEN>)
 id 1iBO1i-0004ye-58; Fri, 20 Sep 2019 20:53:08 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: Vincent Lefevre <vincent@HIDDEN>
Subject: Re: bug#37231: 27.0.50; concurrent XML validation yields an invalid
 file
References: <87r253m7xu.fsf@HIDDEN>
Date: Fri, 20 Sep 2019 20:53:05 +0200
In-Reply-To: <87r253m7xu.fsf@HIDDEN> (Vincent Lefevre's message of "Fri,
 30 Aug 2019 09:25:01 +0200")
Message-ID: <87d0fu94vi.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 Content preview:  Vincent Lefevre <vincent@HIDDEN> writes: > Consider a
 big, valid XML file a.xml, e.g. using a vacuous schema, and > copy it to b.xml
 (thus a.xml and b.xml are the same file,
 though they > don't need to be identical
 for the test). > > Open th [...] 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37231
Cc: 37231 <at> debbugs.gnu.org
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: -1.0 (-)

Vincent Lefevre <vincent@HIDDEN> writes:

> Consider a big, valid XML file a.xml, e.g. using a vacuous schema, and
> copy it to b.xml (thus a.xml and b.xml are the same file, though they
> don't need to be identical for the test).
>
> Open the files at the same time with: emacs -Q a.xml b.xml
>
> Then one of them is regarded as invalid.

I can confirm that this bugs out.

I know nothing about the nxml code, but I did notice that about half of
the rng variables are defined thusly:

(defvar rng-validate-up-to-date-end nil
  "Last position where validation is known to be up to date.")
(make-variable-buffer-local 'rng-validate-up-to-date-end)

But the ones that it reports as failing here depends on variables like
`rng-pending-contents', which are not buffer-local.  So to test blindly,
I made that also buffer-local...  and then the entire process failed
with a backtrace, so that's not the solution.  :-)

But I do think it's really suspicious that some of those variables are
buffer-local while others aren't.  Perhaps somebody who knows how that
machinery works could have a peek at it.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37231; Package emacs. Full text available.
Added tag(s) confirmed. Request was from Lars Ingebrigtsen <larsi@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at submit) by debbugs.gnu.org; 30 Aug 2019 07:25:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Aug 30 03:25:17 2019
Received: from localhost ([127.0.0.1]:53227 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1i3bHZ-0005nW-Ca
	for submit <at> debbugs.gnu.org; Fri, 30 Aug 2019 03:25:17 -0400
Received: from lists.gnu.org ([209.51.188.17]:36715)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <vincent@HIDDEN>) id 1i3bHX-0005nO-LX
 for submit <at> debbugs.gnu.org; Fri, 30 Aug 2019 03:25:16 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:44299)
 by lists.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <vincent@HIDDEN>) id 1i3bHV-0003r9-Ph
 for bug-gnu-emacs@HIDDEN; Fri, 30 Aug 2019 03:25:15 -0400
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,URIBL_BLOCKED
 autolearn=disabled version=3.3.2
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <vincent@HIDDEN>) id 1i3bHT-00083s-Q5
 for bug-gnu-emacs@HIDDEN; Fri, 30 Aug 2019 03:25:13 -0400
Received: from joooj.vinc17.net ([155.133.131.76]:33822)
 by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <vincent@HIDDEN>) id 1i3bHT-0007hi-9I
 for bug-gnu-emacs@HIDDEN; Fri, 30 Aug 2019 03:25:11 -0400
Received: from smtp-zira.vinc17.net (128.119.75.86.rev.sfr.net [86.75.119.128])
 by joooj.vinc17.net (Postfix) with ESMTPSA id B2F5A2BA;
 Fri, 30 Aug 2019 09:25:01 +0200 (CEST)
Received: by zira.vinc17.org (Postfix, from userid 1000)
 id 6B85DC2037C; Fri, 30 Aug 2019 09:25:01 +0200 (CEST)
From: Vincent Lefevre <vincent@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 27.0.50; concurrent XML validation yields an invalid file
Date: Fri, 30 Aug 2019 09:25:01 +0200
Message-ID: <87r253m7xu.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 155.133.131.76
X-Spam-Score: -2.3 (--)
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: -3.3 (---)


Consider a big, valid XML file a.xml, e.g. using a vacuous schema, and
copy it to b.xml (thus a.xml and b.xml are the same file, though they
don't need to be identical for the test).

Open the files at the same time with: emacs -Q a.xml b.xml

Then one of them is regarded as invalid.

Note: This also works with "emacs -Q a.xml" then C-x 5 2 C-x f b.xml
while XML validation on a.xml hasn't finished.

The file a.xml must be big enough so that XML validation takes enough
time (or something like that). For instance, I can reproduce the bug
on my machine with a.xml being

<?xml version="1.0" encoding="utf-8"?>
<root>
  <a/>
  <a/>
  <a/>
  <a/>
  <a/>
  <a/>
  <a/>
...
  <a/>
  <a/>
</root>

where there are 3000 <a/>.


In GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.10)
 of 2019-08-23 built on zira
Repository revision: 7b0d49854675eae962c6baf8ae6fd90a2c87889b
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
System Description: Debian GNU/Linux bullseye/sid

Recent messages:
Loading /home/vinc17/share/emacs/site-lisp/mutteditor.el (source)...done
Loading time...done
For information about GNU Emacs and the GNU system, type C-h C-a.

Configured using:
 'configure --prefix=/usr/local/emacs-trunk'

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND GPM DBUS GSETTINGS GLIB NOTIFY INOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM THREADS LIBSYSTEMD PDUMPER LCMS2
GMP

Important settings:
  value of $LC_COLLATE: POSIX
  value of $LC_CTYPE: en_US.UTF-8
  value of $LC_TIME: en_DK
  value of $LANG: POSIX
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  display-time-mode: t
  show-paren-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-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
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr warnings emacsbug message rmc puny dired
dired-loaddefs format-spec rfc822 mml easymenu mml-sec password-cache
epa derived epg epg-config gnus-util rmail rmail-loaddefs
text-property-search time-date subr-x seq byte-opt gv bytecomp
byte-compile cconv mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils time cus-start cus-load paren cc-styles
cc-align cc-engine cc-vars cc-defs edmacro kmacro cl-loaddefs cl-lib
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
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 elisp-mode
lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame 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 charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 65080 9343)
 (symbols 48 8743 1)
 (strings 32 20691 2807)
 (string-bytes 1 697512)
 (vectors 16 11221)
 (vector-slots 8 142606 9736)
 (floats 8 24 22)
 (intervals 56 217 0)
 (buffers 992 12))




Acknowledgement sent to Vincent Lefevre <vincent@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#37231; 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, 25 Nov 2019 12:00:02 UTC

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