bug#35557: 26.1; false positive: Match data clobbered by buffer modification hooks

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

bug#35557: 26.1; false positive: Match data clobbered by buffer modification hooks

David Bremner

1. Save the following as test.el

(let ((inhibit-modification-hooks t))
  (with-temp-buffer
    (insert "P'")
    (goto-char (point-min))
    (while (re-search-forward "\\([^\\]\\)'" nil t)
      (replace-match    "\\1`"))
    (buffer-substring (point-min) (point-max))))

2. run "emacs --batch --quick --load ./test.el"

3. Under docker, with Debian's emacs-nox (but not emacs-lucid or
   emacs-gtk, I get an error "Match data clobbered by buffer modification
   hooks".

I don't think this is Debian specific, as someone was also able to
duplicate it with "nixpkgs.emacs26-nox" (also in Docker).
   
I agree the setup sounds pretty specific, but it is used by a Debian CI
setup, which is why I care.

Here's the build info, copied out of docker:

In GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu)
 of 2019-02-03, modified by Debian built on zam904
Recent messages:
Loading /etc/emacs/site-start.d/00debian.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.

Configured using:
 'configure --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/lib
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --enable-libsystemd --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/sh\
are/emacs/26.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --build
 x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
 --libexecdir=/usr/lib --localstatedir=/var/lib
 --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd
 --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/sh\
are/emacs/26.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --with-x=no
 --without-gsettings 'CFLAGS=-g -O2
 -fdebug-prefix-map=/build/emacs-26.1+1=. -fstack-protector-strong
 -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
 -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'



Reply | Threaded
Open this post in threaded view
|

bug#35557: 26.1; false positive: Match data clobbered by buffer modification hooks

Paul Eggert
I tried to reproduce the bug and failed, so I'm afraid you'll have to step in
and help debug it. First, please use 26.2 rather than 26.1. Second, please
simplify the ./configure arguments (there are some duplicates, and
--enable-libsystemd isn't the right name for the flag). Third, I suggest running
it under GDB and seeing what exactly goes wrong, e.g., by putting a watchpoint
on search_regs.start[sub].



Reply | Threaded
Open this post in threaded view
|

bug#35557: 26.1; false positive: Match data clobbered by buffer modification hooks

Stefan Kangas
Paul Eggert <[hidden email]> writes:

> I tried to reproduce the bug and failed, so I'm afraid you'll have to step in
> and help debug it. First, please use 26.2 rather than 26.1. Second, please
> simplify the ./configure arguments (there are some duplicates, and
> --enable-libsystemd isn't the right name for the flag). Third, I suggest running
> it under GDB and seeing what exactly goes wrong, e.g., by putting a watchpoint
> on search_regs.start[sub].

I couldn't reproduce this bug either.

David, could you please look into the above suggestions by Paul?

Best regards,
Stefan Kangas



Reply | Threaded
Open this post in threaded view
|

bug#35557: 26.1; false positive: Match data clobbered by buffer modification hooks

David Bremner
Stefan Kangas <[hidden email]> writes:

> Paul Eggert <[hidden email]> writes:
>
>> I tried to reproduce the bug and failed, so I'm afraid you'll have to step in
>> and help debug it. First, please use 26.2 rather than 26.1. Second, please
>> simplify the ./configure arguments (there are some duplicates, and
>> --enable-libsystemd isn't the right name for the flag). Third, I suggest running
>> it under GDB and seeing what exactly goes wrong, e.g., by putting a watchpoint
>> on search_regs.start[sub].
>
> I couldn't reproduce this bug either.
>
> David, could you please look into the above suggestions by Paul?

FYI I've filed Debian bug 931651 about this. I did duplicate the problem
without docker, and with emacs 26.3, but on an s390x system (and it
seems to be sensitive to _which_ s390x system, so that is a bit
discouraging).

I haven't had time to follow up Paul's suggestions.

d