unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: Neal Becker <ndbecker2@gmail.com>
Cc: 20440@debbugs.gnu.org
Subject: bug#20440: 24.4; memory corruption
Date: Mon, 27 Apr 2015 15:48:20 -0400	[thread overview]
Message-ID: <jwv8udd5s8o.fsf-monnier+emacsbugs@gnu.org> (raw)
In-Reply-To: <CAG3t+pG250KhEexMBe7GJ9juUgQWzHN71nem7SyCkdZ33YdkRQ@mail.gmail.com> (Neal Becker's message of "Mon, 27 Apr 2015 13:44:50 -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@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*





  reply	other threads:[~2015-04-27 19:48 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-27 15:45 bug#20440: 24.4; memory corruption Neal Becker
2015-04-27 17:39 ` Stefan Monnier
2015-04-27 17:44   ` Neal Becker
2015-04-27 19:48     ` Stefan Monnier [this message]
2015-04-28 11:01       ` Neal Becker
2015-04-28 13:51         ` Stefan Monnier
2015-09-10 13:33 ` bug#20440: reproducible recipe Sho Takemori
2015-09-10 17:54   ` Eli Zaretskii
2015-09-11  4:08     ` Sho Takemori
2015-09-11  7:24       ` Eli Zaretskii
2015-09-11  8:57         ` Sho Takemori
2015-09-11  9:19           ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwv8udd5s8o.fsf-monnier+emacsbugs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=20440@debbugs.gnu.org \
    --cc=ndbecker2@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).