[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: crash in RC branch

From: Richard Stallman
Subject: Re: crash in RC branch
Date: Wed, 06 Nov 2002 23:49:01 -0500

    I visited a big (about 17 MB) rmail file.  After a while, since Emacs
    took a long time to load it, I hit C-g.  Then I don't know exactly what
    I did, and I do not manage to print the value of recent_keys in a
    coprehensible way.

The only way to debug this is by working backwards from the crash
site.  Analize why it crashed, and then see where the data came from.
Try to work back as far as you can.

Information such as what you typed is relevant only if it helps you
do this backward analysis.

    What made it abort is the first condition.  In fact, in current_buffer:
     pt          = 17566287 (position)
     own_text.z  = 981      (BUF_Z)

Ok, so PT is wrong.  The question is, where did it get set wrong?
The value clearly relates to the size of the file

    The gap size is big (as it was in the previous crash)
        gpt = 970, 
        z = 981, 
        gpt_byte = 970, 
        z_byte = 981, 
        gap_size = 17571308, 

I suspect that the gap was made big in order to accommodate the file's
text, but then it did not all get inserted.  I suggest you take a look
at the code in Finsert_file_contents to see if there is a way it can
quit, setting PT based on the text it WOULD HAVE inserted.

Maybe you can insert some calls to abort at the places that can
QUIT in Finsert_file_contents, checking that PT is <= Z.
Then if this happens again it will abort earlier where you have
a chance of seeimg why;

reply via email to

[Prev in Thread] Current Thread [Next in Thread]