emacs-pretest-bug
[Top][All Lists]
Advanced

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

Re: Ediff frequently crashes emacs.


From: Peter Seibel
Subject: Re: Ediff frequently crashes emacs.
Date: Fri, 12 Nov 2004 15:31:14 -0800
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3.50 (gnu/linux)

address@hidden (Kim F. Storm) writes:

> Peter Seibel <address@hidden> writes:
>
>> Richard Stallman <address@hidden> writes:
>>
>>> Please follow the advice in etc/DEBUG for what to do when Emacs is
>>> looping.
>>
>> Okay, I tried. My lack of facility with gdb may mean this is still not
>> quite what you want--I invoked gdb from within another Emacs (i.e. M-x
>> gdb) to attach to the hung Emacs process (gdb -pid=xxxxx). Which
>> seemed to work fine. Then I used `finish' as suggested to find the
>> frame which did not return. From there it was not entirely clear how
>> to get back to the gdb prompt so I could step. I flailed around and
>> managed to get back to the prompt but may have dorked something up in
>> the meantime. Anyway, once I got the prompt back stepping with C-c C-n
>> seemed to indicate that the loop hopped between the three lines marked
>> with >>> in wait_reading_process_output as shown below:
>
> If you do:
>
> p channel
> p max_process_desc
>
> you will see that those lines are inside a loop which is supposed
> to be repeated a (finite) number of times.  So I would be surprised
> if you have found the right loop.

Okay, but it should be in that function right since that's the one for
which "finish" didn't return in any reasonable amount of time? Is
there some easy way to tell it to finish that loop other than stepping
through it max_process_desc times?

>>       for (channel = 0; channel <= max_process_desc; channel++)
>>      {
>>>>>>    if (FD_ISSET (channel, &Available) ...
>>>>>>    if (check_connect && FD_ISSET (channel, &Connecting) ...
>>>>>   }

Anyway, I've now got emacs running from emacs/src in gdb so I should
be all set next time this happens (or if it crashes which it also does
from time to time when starting ediff). (Though I did try a bunch of
ediffs after I started emacs in gdb and didn't have any problem. Which
is good for me in the short term but not so good for finding the
problem.)

-Peter

-- 
Peter Seibel                                      address@hidden

         Lisp is the red pill. -- John Fraser, comp.lang.lisp




reply via email to

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