[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#8472: 24.0.50; weird emacs bugs causing data lossage
From: |
joakim |
Subject: |
bug#8472: 24.0.50; weird emacs bugs causing data lossage |
Date: |
Mon, 11 Apr 2011 11:25:23 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
Eli Zaretskii <eliz@gnu.org> writes:
>> From: joakim@chopper.i-did-not-set--mail-host-address--so-tickle-me
>
> you-did-not-set--mail-host-address--so-i'm-tickling-you
Thanks
>
>> Date: Sun, 10 Apr 2011 21:39:55 +0200
>> Cc:
>>
>> Emacs ask if I really want to edit the buffer and I say
>> no. Then Emacs redisplay seems to hang.
>>
>> This happened several times. Most times I had to kill emacs and loose
>> my work. This time I tried more debugging. Lately I run Emacs in a
>> debugger. Weirdly gdb refused to break itho a prompt. ctrl z and fg
>> woke up gdb.
>
> That might mean that Emacs was stuck in a system call. But the fact
> that it responded to emacsclient eliminates this possibility, I think.
I was unclear. I only tried emacsclient after I had get gdb working
again.
I got it working by suspending gdb and resuming it again. and sending
signals to Emacs (I was a bit furious so this part is a bit hazy)
> I would try delivering a fatal signal to Emacs ("kill -TERM", for
> example) from the shell prompt. Detaching the debugger under which
> you ran Emacs and attaching another instance of GDB is another thing
> to try.
see above.
>> it occured to me that maybe Emacs wasnt totaly hung maybe just
>> redisplay.
>
> I don't see how this can be true. If redisplay infloops, it will
> never return, and the rest of Emacs will never get to do anything,
> including the calls to `select' that you saw in strace.
Ok. So the hang happens somewhere else. The symptom is that nothing
happens on the display but emacsclient can communicate.
Also, whenever I manage to break into the process with gdb the backtrace
shows Emacs is in the select call. With strace I see that Emacs is not
stuck there but loops. So I figure theres some poll loop running closely
around the select. Or something. Maybe its my constant changing of
network interfaces that invalidates sockets or something.
>> So I tested emacs client and I could recover data like
>> this:
>>
>> emacsclient -e "(let ((b (set-buffer \"journal.org\")) (text
>> (buffer-string))) (set-text-properties 0 (length text) nil text)text)"
>
> Now I don't understand how come you couldn't break into it from GDB.
See above. I only tried this after getting gdb to work again.
>> There are two weird things here:
>> - the file was truncated. Maybe this is due to a combination of
>> narrowing and automatic save.
>
> Can't happen, auto-save forces temporary widening of the buffer (as
> you'd expect ;-).
Well. The funny thing is that the truncated content of the file is the
exact same content I see in the narrowed buffer on screen.
Org narrows in another window and buffer somehow. Could that interfere?
I dont know the term for what it does yet. "indirect buffer" maybe?
>> - redisplay hangs in minibuffer input. I have no idea about why this
>> happens.
>
> Doesn't seem to be the case, see above.
Ok.
> Best thing to try next time is somehow to stop Emacs, and then use the
> procedure described in etc/DEBUG under "If the symptom of the bug is
> that Emacs fails to respond".
Ok thanks.
--
Joakim Verona