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

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

Re: Asynchronous bug


From: Stefan Monnier
Subject: Re: Asynchronous bug
Date: Thu, 01 May 2003 13:20:36 -0400

> > From: "Stefan Monnier" <monnier+gnu/emacs/address@hidden>
> > Date: Thu, 01 May 2003 11:53:12 -0400
> > > > 
> > > > I've been getting random crashes for a while and finally tracked it
> > > > down to something useful.  The way it manifests itself is typically
> > > > by a crash in mark_object, most of the time because the value of
> > > > `nil' is garbage pointing to nowhereland.
> > > 
> > > Please show the value of `nil' (in hex) in a normal session and its
> > > garbled value when this problem happens.
> > 
> > I don't think this is relevant.
> > The problem is asynchrony.
> 
> Sorry if I'm being not useful, but I just thought that the value of
> `nil' should _never_ change, ever.

It is changed in unbind_to because unbind_to does not
re-check whether the bound variable is constant or not.
We have code like:

   if (NILP (specpdl_ptr->symbol))
      ...do something...
   else
      set_internal (specpdl_ptr->symbol, ...)

Now, if specpdl_ptr->symbol gets overwritten with Qnil (by an async
signal) just between the if and the call to set_internal we end up
changing the value of `nil'.


        Stefan





reply via email to

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