Package: emacs;
Reported by: Neal Becker <ndbecker2 <at> gmail.com>
Date: Mon, 27 Apr 2015 15:57:01 UTC
Severity: normal
Found in version 24.4
Fixed in version 25.1
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 20440 in the body.
You can then email your comments to 20440 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#20440
; Package emacs
.
(Mon, 27 Apr 2015 15:57:01 GMT) Full text and rfc822 format available.Neal Becker <ndbecker2 <at> gmail.com>
:bug-gnu-emacs <at> gnu.org
.
(Mon, 27 Apr 2015 15:57:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Neal Becker <ndbecker2 <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 24.4; memory corruption Date: Mon, 27 Apr 2015 11:45:38 -0400
[Message part 1 (text/plain, inline)]
When on-disk file has changed, I use the following function to re-read buffer: (defun refresh-file () (interactive) (revert-buffer t (not (buffer-modified-p)) t) ) (global-set-key [f5] 'refresh-file) I have seen (again this morning) I wind up with a corrupted buffer. It appears a segment of the data is correct, but data has been reordered. I'm looking at a python source file. For example, in the middle of the buffer, it looks like the beginning of the file is inserted (sorry I no longer have this buffer and can't be precise). Kill buffer, and reload file, and it's fixed. In GNU Emacs 24.4.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.14.11) of 2015-04-07 on buildvm-06.phx2.fedoraproject.org Windowing system distributor `Fedora Project', version 11.0.11603000 System Description: Fedora release 21 (Twenty One) Configured using: `configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3 --with-gpm=no build_alias=x86_64-redhat-linux-gnu host_alias=x86_64-redhat-linux-gnu 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' 'LDFLAGS=-Wl,-z,relro '' Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Python Minor modes in effect: diff-auto-refine-mode: t jedi-mode: t global-auto-complete-mode: t auto-complete-mode: t display-time-mode: t override-global-mode: t shell-dirtrack-mode: t delete-selection-mode: t tooltip-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 line-number-mode: t transient-mark-mode: t Recent input: <prior> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> C-SPC <down> <down> <down> C-c # C-x C-s C-x v v C-x v = C-x o r e m o v e <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> c l e a n u p C-c C-c M-x s h e l l <return> M-p <return> C-x C-f t e s T _ u <tab> <backspace> <backspace> <backspace> t _ u <tab> <return> y e s <return> <C-home> C-s c o n s i d e r e d C-s C-s C-s C-s C-a C-s c o n s i d C-s C-a <next> <next> <next> <prior> C-x k <return> C-x C-f t e s t _ u <tab> <return> C-s c o n s i d e r e d C-s C-s C-s C-s C-s C-r C-r C-a C-s C-s C-s C-a C-h c <f5> C-h f r e f r e s h - f i l e <return> C-x C-f C-g C-x o C-e <left> <left> <left> <return> <help-echo> <help-echo> <help-echo> C-h v e m a c s - v e r <tab> <return> <help-echo> <help-echo> <help-echo> C-SPC <down> <down> <down> <down> <down> <down> M-w <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> C-x C-f <return> C-x 1 g <down> f C-x C-f t e s C-g C-x b t e s t _ u <tab> <return> C-s - - l i m i t - C-r C-r C-a C-r l i m i t _ n e w <help-echo> <help-echo> <help-echo> C-a C-s p a r t i a l C-a <help-echo> C-x C-f <return> g <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> f <help-echo> <help-echo> M-x r e p o r t <tab> <return> Recent messages: Type C-x 1 to delete the help window. Quit Mark set Directory has changed on disk; type g to update Dired Quit Mark saved where search started [3 times] Directory has changed on disk; type g to update Dired Local value of py-indent-offset set to 4 Using the CPython shell Load-path shadows: /home/nbecker/.emacs.d/elpa/ipython-2927/ipython hides /home/nbecker/.emacs.d/lisp/ipython Features: (shadow sort mail-extr emacsbug sendmail eieio-opt speedbar sb-image ezimage dframe find-func help-mode misearch multi-isearch diff-mode log-edit message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log vc warnings vc-dispatcher vc-hg network-stream auth-source gnus-util mm-util mail-prsvr password-cache starttls tls jedi-direx direx eieio eieio-core jedi jedi-core python-environment epc ctable concurrent deferred imenu dired flymake ido ess-toolbar ess-mouse mouseme browse-url ess-menu ess-swv ess-noweb ess-noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d ess-sas-l ess-sas-a ess-sta-d ess-sta-l cc-vars cc-defs make-regexp ess-sp6-d ess-sp3-d ess-julia ess-r-d ess-r-completion ess-tracebug format-spec ess-roxy hideshow ess-help ess-developer eldoc ess-s-l ess ess-inf ess-mode ess-noweb-mode ess-utils ess-custom ess-compat ess-site auto-complete popup zoom-frm frame-cmds frame-fns avoid browse-kill-ring edmacro kmacro rst time felineherd byte-opt thingatpt use-package diminish bytecomp byte-compile cconv bind-key easy-mmode ipython advice help-fns executable shell pcomplete python-mode info-look cl-macs compile cl gv cl-loaddefs cl-lib comint ansi-color ring info easymenu diminish-autoloads package epg-config delsel cus-start cus-load time-date tooltip electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer 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 make-network-process dbusbind gfilenotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) Memory information: ((conses 16 248657 26119) (symbols 48 35288 16) (miscs 40 160 351) (strings 32 62111 7050) (string-bytes 1 1794555) (vectors 16 30112) (vector-slots 8 950184 74983) (floats 8 170 618) (intervals 56 2593 0) (buffers 960 28) (heap 1024 141858 53739)) -- *Those who don't understand recursion are doomed to repeat it*
[Message part 2 (text/html, inline)]
Glenn Morris <rgm <at> gnu.org>
to control <at> debbugs.gnu.org
.
(Mon, 27 Apr 2015 16:15:02 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#20440
; Package emacs
.
(Mon, 27 Apr 2015 17:40:04 GMT) Full text and rfc822 format available.Message #10 received at 20440 <at> debbugs.gnu.org (full text, mbox):
From: Stefan Monnier <monnier <at> IRO.UMontreal.CA> To: Neal Becker <ndbecker2 <at> gmail.com> Cc: 20440 <at> debbugs.gnu.org Subject: Re: bug#20440: 24.4; memory corruption Date: Mon, 27 Apr 2015 13:39:21 -0400
> I have seen (again this morning) I wind up with a corrupted buffer. > It appears a segment of the data is correct, but data has been > reordered. I'm looking at a python source file. For example, in the > middle of the buffer, it looks like the beginning of the file is > inserted (sorry I no longer have this buffer and can't be precise). Next time it happens, could you save the corrupted buffer to some temp file, and then compare that with the actual file's content, to get a more precise description of the corruption? You say it's a Python file. What modes/packages do you use to edit those files? What does `M-: after-change-functions' and `M-: before-change-functions' say in those buffers? Stefan
bug-gnu-emacs <at> gnu.org
:bug#20440
; Package emacs
.
(Mon, 27 Apr 2015 17:45:03 GMT) Full text and rfc822 format available.Message #13 received at 20440 <at> debbugs.gnu.org (full text, mbox):
From: Neal Becker <ndbecker2 <at> gmail.com> To: Stefan Monnier <monnier <at> iro.umontreal.ca> Cc: 20440 <at> debbugs.gnu.org Subject: Re: bug#20440: 24.4; memory corruption Date: Mon, 27 Apr 2015 13:44:50 -0400
[Message part 1 (text/plain, inline)]
before-change-functions is a variable defined in `C source code'. Its value is (t syntax-ppss-flush-cache) Local in buffer test_unframed.py; global value is nil after-change-functions is a variable defined in `C source code'. Its value is (jit-lock-after-change jedi:after-change-handler t) Local in buffer test_unframed.py; global value is nil I have captured a corrupt buffer. This time, emacs said 'file has changed, reload?'. Again it is corrupted. The 1st diff is that in the corrupted file, the beginning of the file is inserted into the middle of the buffer On Mon, Apr 27, 2015 at 1:39 PM, Stefan Monnier <monnier <at> iro.umontreal.ca> wrote: > > I have seen (again this morning) I wind up with a corrupted buffer. > > It appears a segment of the data is correct, but data has been > > reordered. I'm looking at a python source file. For example, in the > > middle of the buffer, it looks like the beginning of the file is > > inserted (sorry I no longer have this buffer and can't be precise). > > Next time it happens, could you save the corrupted buffer to some temp > file, and then compare that with the actual file's content, to get > a more precise description of the corruption? > > You say it's a Python file. What modes/packages do you use to edit > those files? What does `M-: after-change-functions' and `M-: > before-change-functions' say in those buffers? > > > Stefan > -- *Those who don't understand recursion are doomed to repeat it*
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#20440
; Package emacs
.
(Mon, 27 Apr 2015 19:49:02 GMT) Full text and rfc822 format available.Message #16 received at 20440 <at> debbugs.gnu.org (full text, mbox):
From: Stefan Monnier <monnier <at> IRO.UMontreal.CA> To: Neal Becker <ndbecker2 <at> gmail.com> Cc: 20440 <at> debbugs.gnu.org Subject: Re: bug#20440: 24.4; memory corruption Date: Mon, 27 Apr 2015 15:48:20 -0400
> after-change-functions is a variable defined in `C source code'. > Its value is (jit-lock-after-change jedi:after-change-handler t) > Local in buffer test_unframed.py; global value is nil Hmm... could it be that jedi:after-change-handler does something funny? Tho it seems rather unlikely: when it gets run, the revert has already happened! > I have captured a corrupt buffer. This time, emacs said 'file has changed, > reload?'. Again it is corrupted. > The 1st diff is that in the corrupted file, the beginning of the file is > inserted into the middle of the buffer Normally revert compares the buffer's content and the file's content (from both ends) to find the common "prefix" and "suffix" and only performs the update on the characters in-between. IOW the beginning of the buffer/file is not touched and the end is not touched either. So rather than "the beginning of the file is inserted into the middle of the buffer" it sounds like the "characters in-between" end up being inserted at the beginning of the buffer. Was the region active when the revert happened? Is the total size of the corrupted file correct? (i.e. the update was just not inserted at the right place) What can you say about the "splice points" (i.e. those positions in the file where the corruption happens: IIUC there's one at the very beginning, but where are the others (e.g. where is the "real beginning", in the corrupted file))? How frequently does it happen? (i.e. would you be able to notice if it doesn't happen any more, after we disable some feature) Stefan > On Mon, Apr 27, 2015 at 1:39 PM, Stefan Monnier <monnier <at> iro.umontreal.ca> > wrote: >> > I have seen (again this morning) I wind up with a corrupted buffer. >> > It appears a segment of the data is correct, but data has been >> > reordered. I'm looking at a python source file. For example, in the >> > middle of the buffer, it looks like the beginning of the file is >> > inserted (sorry I no longer have this buffer and can't be precise). >> >> Next time it happens, could you save the corrupted buffer to some temp >> file, and then compare that with the actual file's content, to get >> a more precise description of the corruption? >> >> You say it's a Python file. What modes/packages do you use to edit >> those files? What does `M-: after-change-functions' and `M-: >> before-change-functions' say in those buffers? >> >> >> Stefan >> > -- > *Those who don't understand recursion are doomed to repeat it*
bug-gnu-emacs <at> gnu.org
:bug#20440
; Package emacs
.
(Tue, 28 Apr 2015 11:02:03 GMT) Full text and rfc822 format available.Message #19 received at 20440 <at> debbugs.gnu.org (full text, mbox):
From: Neal Becker <ndbecker2 <at> gmail.com> To: Stefan Monnier <monnier <at> iro.umontreal.ca> Cc: 20440 <at> debbugs.gnu.org Subject: Re: bug#20440: 24.4; memory corruption Date: Tue, 28 Apr 2015 07:01:16 -0400
[Message part 1 (text/plain, inline)]
There are exactly the same length In 2 tests it happened 2 times. So probably is reproducible. On Mon, Apr 27, 2015 at 3:48 PM, Stefan Monnier <monnier <at> iro.umontreal.ca> wrote: > > after-change-functions is a variable defined in `C source code'. > > Its value is (jit-lock-after-change jedi:after-change-handler t) > > Local in buffer test_unframed.py; global value is nil > > Hmm... could it be that jedi:after-change-handler does something funny? > Tho it seems rather unlikely: when it gets run, the revert has > already happened! > > > I have captured a corrupt buffer. This time, emacs said 'file has > changed, > > reload?'. Again it is corrupted. > > The 1st diff is that in the corrupted file, the beginning of the file is > > inserted into the middle of the buffer > > Normally revert compares the buffer's content and the file's content > (from both ends) to find the common "prefix" and "suffix" and only > performs the update on the characters in-between. IOW the beginning of > the buffer/file is not touched and the end is not touched either. > > So rather than "the beginning of the file is inserted into the middle of > the buffer" it sounds like the "characters in-between" end up being > inserted at the beginning of the buffer. > > Was the region active when the revert happened? > > Is the total size of the corrupted file correct? (i.e. the update was > just not inserted at the right place) > > What can you say about the "splice points" (i.e. those positions in the > file where the corruption happens: IIUC there's one at the very > beginning, but where are the others (e.g. where is the "real > beginning", in the corrupted file))? > > How frequently does it happen? (i.e. would you be able to notice if it > doesn't happen any more, after we disable some feature) > > > Stefan > > > > On Mon, Apr 27, 2015 at 1:39 PM, Stefan Monnier < > monnier <at> iro.umontreal.ca> > > wrote: > > >> > I have seen (again this morning) I wind up with a corrupted buffer. > >> > It appears a segment of the data is correct, but data has been > >> > reordered. I'm looking at a python source file. For example, in the > >> > middle of the buffer, it looks like the beginning of the file is > >> > inserted (sorry I no longer have this buffer and can't be precise). > >> > >> Next time it happens, could you save the corrupted buffer to some temp > >> file, and then compare that with the actual file's content, to get > >> a more precise description of the corruption? > >> > >> You say it's a Python file. What modes/packages do you use to edit > >> those files? What does `M-: after-change-functions' and `M-: > >> before-change-functions' say in those buffers? > >> > >> > >> Stefan > >> > > > > > -- > > *Those who don't understand recursion are doomed to repeat it* > -- *Those who don't understand recursion are doomed to repeat it*
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#20440
; Package emacs
.
(Tue, 28 Apr 2015 13:52:02 GMT) Full text and rfc822 format available.Message #22 received at 20440 <at> debbugs.gnu.org (full text, mbox):
From: Stefan Monnier <monnier <at> iro.umontreal.ca> To: Neal Becker <ndbecker2 <at> gmail.com> Cc: 20440 <at> debbugs.gnu.org Subject: Re: bug#20440: 24.4; memory corruption Date: Tue, 28 Apr 2015 09:51:04 -0400
> There are exactly the same length > In 2 tests it happened 2 times. So probably is reproducible. If you can come up with a reproducible recipe, then please do so. Stefan > On Mon, Apr 27, 2015 at 3:48 PM, Stefan Monnier <monnier <at> iro.umontreal.ca> > wrote: >> > after-change-functions is a variable defined in `C source code'. >> > Its value is (jit-lock-after-change jedi:after-change-handler t) >> > Local in buffer test_unframed.py; global value is nil >> >> Hmm... could it be that jedi:after-change-handler does something funny? >> Tho it seems rather unlikely: when it gets run, the revert has >> already happened! >> >> > I have captured a corrupt buffer. This time, emacs said 'file has >> changed, >> > reload?'. Again it is corrupted. >> > The 1st diff is that in the corrupted file, the beginning of the file is >> > inserted into the middle of the buffer >> >> Normally revert compares the buffer's content and the file's content >> (from both ends) to find the common "prefix" and "suffix" and only >> performs the update on the characters in-between. IOW the beginning of >> the buffer/file is not touched and the end is not touched either. >> >> So rather than "the beginning of the file is inserted into the middle of >> the buffer" it sounds like the "characters in-between" end up being >> inserted at the beginning of the buffer. >> >> Was the region active when the revert happened? >> >> Is the total size of the corrupted file correct? (i.e. the update was >> just not inserted at the right place) >> >> What can you say about the "splice points" (i.e. those positions in the >> file where the corruption happens: IIUC there's one at the very >> beginning, but where are the others (e.g. where is the "real >> beginning", in the corrupted file))? >> >> How frequently does it happen? (i.e. would you be able to notice if it >> doesn't happen any more, after we disable some feature) >> >> >> Stefan >> >> >> > On Mon, Apr 27, 2015 at 1:39 PM, Stefan Monnier < >> monnier <at> iro.umontreal.ca> >> > wrote: >> >> >> > I have seen (again this morning) I wind up with a corrupted buffer. >> >> > It appears a segment of the data is correct, but data has been >> >> > reordered. I'm looking at a python source file. For example, in the >> >> > middle of the buffer, it looks like the beginning of the file is >> >> > inserted (sorry I no longer have this buffer and can't be precise). >> >> >> >> Next time it happens, could you save the corrupted buffer to some temp >> >> file, and then compare that with the actual file's content, to get >> >> a more precise description of the corruption? >> >> >> >> You say it's a Python file. What modes/packages do you use to edit >> >> those files? What does `M-: after-change-functions' and `M-: >> >> before-change-functions' say in those buffers? >> >> >> >> >> >> Stefan >> >> >> >> >> >> > -- >> > *Those who don't understand recursion are doomed to repeat it* >> > -- > *Those who don't understand recursion are doomed to repeat it*
bug-gnu-emacs <at> gnu.org
:bug#20440
; Package emacs
.
(Thu, 10 Sep 2015 13:34:02 GMT) Full text and rfc822 format available.Message #25 received at 20440 <at> debbugs.gnu.org (full text, mbox):
From: Sho Takemori <stakemorii <at> gmail.com> To: 20440 <at> debbugs.gnu.org Subject: bug#20440 reproducible recipe Date: Thu, 10 Sep 2015 22:33:08 +0900
[Message part 1 (text/plain, inline)]
Here is a reproducible recipe. https://gist.github.com/stakemori/ccf0e4cfae2fcfafbf0a I thought this is a bug of emacs-jedi ( https://github.com/tkf/emacs-jedi/issues/234). But I can reproduce it with "emacs -Q". (I use Emacs 24.5). If I replace (buffer-string) in the body of my/add-to-after-change-functions by (buffer-substring-no-properties (point-min) (point-max)), then the same error occurs. I think this has nothing to do with python-mode. It also occurs in text-mode. Sincerely, Sho Takemori
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#20440
; Package emacs
.
(Thu, 10 Sep 2015 17:55:02 GMT) Full text and rfc822 format available.Message #28 received at 20440 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Sho Takemori <stakemorii <at> gmail.com> Cc: 20440 <at> debbugs.gnu.org Subject: Re: bug#20440: reproducible recipe Date: Thu, 10 Sep 2015 20:54:16 +0300
> Date: Thu, 10 Sep 2015 22:33:08 +0900 > From: Sho Takemori <stakemorii <at> gmail.com> > > Here is a reproducible recipe. > > https://gist.github.com/stakemori/ccf0e4cfae2fcfafbf0a > > I thought this is a bug of emacs-jedi > (https://github.com/tkf/emacs-jedi/issues/234). > But I can reproduce it with "emacs -Q". (I use Emacs 24.5). > > If I replace (buffer-string) in the body of my/add-to-after-change-functions > by (buffer-substring-no-properties (point-min) (point-max)), > then the same error occurs. > > I think this has nothing to do with python-mode. It also occurs in text-mode. FWIW, I don't see any corruption when I load this file.
bug-gnu-emacs <at> gnu.org
:bug#20440
; Package emacs
.
(Fri, 11 Sep 2015 04:09:02 GMT) Full text and rfc822 format available.Message #31 received at 20440 <at> debbugs.gnu.org (full text, mbox):
From: Sho Takemori <stakemorii <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20440 <at> debbugs.gnu.org Subject: Re: bug#20440: reproducible recipe Date: Fri, 11 Sep 2015 13:08:11 +0900
[Message part 1 (text/plain, inline)]
I use Ubuntu 15.04. I can reproduce this both in Emacs 24.4 which is installed by "apt-get install emacs24" and in Emacs 24.5 which I built from the source. The corrupted buffer looks like this. https://gist.github.com/stakemori/8c3e1f6e3f73f5db3a7a The output of M-x report-emacs-bug in Emacs 24.4 is as follows: From: sho <sho <at> K430-Ubuntu.i-did-not-set--mail-host-address--so-tickle-me> To: bug-gnu-emacs <at> gnu.org Subject: 24.4; revert-buffer --text follows this line-- In GNU Emacs 24.4.1 (x86_64-pc-linux-gnu, GTK+ Version 3.14.9) of 2015-03-21 on kissel, modified by Debian Windowing system distributor `The X.Org Foundation', version 11.0.11701000 System Description: Ubuntu 15.04 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 --with-pop=yes --enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.4/site-lisp:/usr/share/emacs/site-lisp --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/lib --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --with-pop=yes --enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.4/site-lisp:/usr/share/emacs/site-lisp --with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall' CPPFLAGS=-D_FORTIFY_SOURCE=2 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro'' Important settings: value of $LANG: ja_JP.UTF-8 value of $XMODIFIERS: @im=fcitx locale-coding-system: utf-8-unix Major mode: Python Minor modes in effect: tooltip-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 line-number-mode: t transient-mark-mode: t Recent input: C-y M-x e v a l 0 <backspace> - b u <tab> <return> M-x r e p o r t - e m a c s <tab> <return> Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Mark set Can't guess python-indent-offset, using defaults: 4 [2 times] or: Assertion failed: (string= (buffer-string) file-content2) Load-path shadows: None found. Features: (shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util help-fns mail-prsvr mail-utils python easymenu json comint ring ansi-color cl-macs gv cl-loaddefs cl-lib time-date japan-util tooltip electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer 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 make-network-process dbusbind gfilenotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) Memory information: ((conses 16 82225 4373) (symbols 48 18572 0) (miscs 40 40 99) (strings 32 12434 4244) (string-bytes 1 367042) (vectors 16 11207) (vector-slots 8 474430 27975) (floats 8 64 67) (intervals 56 262 1) (buffers 960 13) (heap 1024 25157 1072)) 2015-09-11 2:54 GMT+09:00 Eli Zaretskii <eliz <at> gnu.org>: > > Date: Thu, 10 Sep 2015 22:33:08 +0900 > > From: Sho Takemori <stakemorii <at> gmail.com> > > > > Here is a reproducible recipe. > > > > https://gist.github.com/stakemori/ccf0e4cfae2fcfafbf0a > > > > I thought this is a bug of emacs-jedi > > (https://github.com/tkf/emacs-jedi/issues/234). > > But I can reproduce it with "emacs -Q". (I use Emacs 24.5). > > > > If I replace (buffer-string) in the body of > my/add-to-after-change-functions > > by (buffer-substring-no-properties (point-min) (point-max)), > > then the same error occurs. > > > > I think this has nothing to do with python-mode. It also occurs in > text-mode. > > FWIW, I don't see any corruption when I load this file. >
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#20440
; Package emacs
.
(Fri, 11 Sep 2015 07:26:02 GMT) Full text and rfc822 format available.Message #34 received at 20440 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Sho Takemori <stakemorii <at> gmail.com> Cc: 20440 <at> debbugs.gnu.org Subject: Re: bug#20440: reproducible recipe Date: Fri, 11 Sep 2015 10:24:37 +0300
> Date: Fri, 11 Sep 2015 13:08:11 +0900 > From: Sho Takemori <stakemorii <at> gmail.com> > Cc: 20440 <at> debbugs.gnu.org > > I use Ubuntu 15.04. > I can reproduce this both in Emacs 24.4 > which is installed by "apt-get install emacs24" > and in Emacs 24.5 which I built from the source. > > The corrupted buffer looks like this. > https://gist.github.com/stakemori/8c3e1f6e3f73f5db3a7a Is this a real buffer corruption, or just the display corruption? If you minimize the frame and then restore it, or switch to another buffer in the same window and then back again, do you still see the corrupted display? Also, how do you invoke Emacs to reproduce the problem? Finally, does the problem go away if you set your locale to something else, like en_US.UTF-8?
bug-gnu-emacs <at> gnu.org
:bug#20440
; Package emacs
.
(Fri, 11 Sep 2015 08:58:02 GMT) Full text and rfc822 format available.Message #37 received at 20440 <at> debbugs.gnu.org (full text, mbox):
From: Sho Takemori <stakemorii <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20440 <at> debbugs.gnu.org Subject: Re: bug#20440: reproducible recipe Date: Fri, 11 Sep 2015 17:57:32 +0900
[Message part 1 (text/plain, inline)]
> Is this a real buffer corruption, or just the display corruption? It is a real buffer corruption. I made the second gist by C-x h, M-w and pasting it to the browser. If I change the size of the frame or the window configuration, I still have a corrupted buffer. > Also, how do you invoke Emacs to reproduce the problem? By evaluating the code in the first gist. I use emacs-jedi (https://github.com/tkf/emacs-jedi). So does the original reporter. Since the problem occurs frequently, I can find strings file-content1 and file-content2 in the first gist. As for the function my/add-to-after-change-functions, I looked into the source of emacs-jedi and wrote a similar code. > Finally, does the problem go away if you set your locale to something > else, like en_US.UTF-8? No. I can also reproduce it in the live session of Xubuntu 14.04, where LANG=en_US.UTF-8. Here is the output of M-x report-emacs-bug in Emacs 24.3 in the live session. ---------------------------------------------------------------------- From: Live session user <xubuntu <at> xubuntu.i-did-not-set--mail-host-address--so-tickle-me> To: bug-gnu-emacs <at> gnu.org Subject: 24.3; revert-buffer --text follows this line-- This bug report will be sent to the Bug-GNU-Emacs mailing list and the GNU bug tracker at debbugs.gnu.org. Please check that the From: line contains a valid email address. After a delay of up to one day, you should receive an acknowledgment at that address. Please write in English if possible, as the Emacs maintainers usually do not have translators for other languages. Please describe exactly what actions triggered the bug, and the precise symptoms of the bug. If you can, give a recipe starting from `emacs -Q': If Emacs crashed, and you have the Emacs process in the gdb debugger, please include the output from the following gdb commands: `bt full' and `xbacktrace'. For information about debugging Emacs, please read the file /usr/share/emacs/24.3/etc/DEBUG. In GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.10.7) of 2014-03-07 on lamiak, modified by Debian Windowing system distributor `The X.Org Foundation', version 11.0.11600000 System Description: Ubuntu 14.04.2 LTS Configured using: `configure '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-lisp:/usr/share/emacs/site-lisp' '--with-crt-dir=/usr/lib/x86_64-linux-gnu' '--with-x=yes' '--with-x-toolkit=gtk3' '--with-toolkit-scroll-bars' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro' 'CPPFLAGS=-D_FORTIFY_SOURCE=2'' Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Python Minor modes in effect: tooltip-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 line-number-mode: t transient-mark-mode: t Recent input: <help-echo> <help-echo> C-y M-x e v a l - b u <tab> <return> M-x r e p o r t - e m a c s - b u <tab> < return> Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Mark set Can't guess python-indent-offset, using defaults: 4 [2 times] or: Assertion failed: (string= (buffer-string) file-content2) Load-path shadows: None found. Features: (shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils python rx easymenu comint ring ansi-color cl-macs gv cl-lib time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) ----------------------------------------------------------------------
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#20440
; Package emacs
.
(Fri, 11 Sep 2015 09:21:02 GMT) Full text and rfc822 format available.Message #40 received at 20440 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Sho Takemori <stakemorii <at> gmail.com> Cc: 20440 <at> debbugs.gnu.org Subject: Re: bug#20440: reproducible recipe Date: Fri, 11 Sep 2015 12:19:28 +0300
> Date: Fri, 11 Sep 2015 17:57:32 +0900 > From: Sho Takemori <stakemorii <at> gmail.com> > Cc: 20440 <at> debbugs.gnu.org > > > Is this a real buffer corruption, or just the display corruption? > > It is a real buffer corruption. I made the second gist by C-x h, M-w and > pasting it to the browser. > If I change the size of the frame or the window configuration, I still have a > corrupted buffer. > > > Also, how do you invoke Emacs to reproduce the problem? > > By evaluating the code in the first gist. > > I use emacs-jedi (https://github.com/tkf/emacs-jedi). So does the original > reporter. > Since the problem occurs frequently, I can find strings file-content1 and > file-content2 in the first gist. > As for the function my/add-to-after-change-functions, I looked into the source > of emacs-jedi and wrote a similar code. > > > Finally, does the problem go away if you set your locale to something > > else, like en_US.UTF-8? > > No. I can also reproduce it in the live session of Xubuntu 14.04, where > LANG=en_US.UTF-8. > Here is the output of M-x report-emacs-bug in Emacs 24.3 in the live session. OK, I've managed to reproduce this in Emacs 24.5 on GNU/Linux. But the problem doesn't exist with the current development sources on the same system, so I guess whatever caused this has been already fixed since 24.5 was released. I think we can close this bug. Thanks.
Glenn Morris <rgm <at> gnu.org>
to control <at> debbugs.gnu.org
.
(Fri, 11 Sep 2015 20:38:02 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Sat, 10 Oct 2015 11:24:05 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.