emacs-devel
[Top][All Lists]
Advanced

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

Re: Tramp with global-auto-revert-mode.


From: Kim F. Storm
Subject: Re: Tramp with global-auto-revert-mode.
Date: 17 May 2004 17:22:03 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50

Luc Teirlinck <address@hidden> writes:

> Kim Storm wrote:
> 
>    And I have studied the cause a little further and found at least one
>    reason for the crash -- trying to mark a Lisp_Misc_Free object, most
>    likely resulting from freeing a marker which is still present on
>    some undo list.
> 
> Unless I am misunderstanding, it would seem that freeing a marker
> which is still referenced on an undo list is a bug.  Is disabling undo
> in Tramp work buffers sufficient to avoid this kind of problem or is
> there still a bug in the C code?

In any case, the problem seems to be aggrevated by tramp as it has a
marker which was put on the undo-list MANY MANY times ...   But I
guess it could happen with any code involving markers (which may explain
some of the less frequent crashes in mark_object.)

> 
>    I have installed a fix for this; I don't know if it has any
>    bad effects, but at least it solves the crash for me.
> 
> Clearly any bad effects will only occur in situations were Emacs would
> have crashed earlier without your fix.  An obvious bad effect is the
> one you mentioned yourself in the comment to your fix: unpredictable
> behavior if the user does `undo'.

If the marker isn't reused, it boils down to checking that undo on
a Lisp_Misc_Free object is a noop.

My latest fix didn't mark the Lisp_Misc_Free cell as used -- I just
committed another change to do that.

It seems that primitive-undo just ignores a Lisp_Misc_Free object,
so there doesn't seem to be a reason to worry about undefined behaviour.

-- 
Kim F. Storm <address@hidden> http://www.cua.dk





reply via email to

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