[Top][All Lists]
[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
- Re: Asynchronous bug, Stefan Monnier, 2003/05/01
- Re: Asynchronous bug, Richard Stallman, 2003/05/01
- Re: Asynchronous bug, Stefan Monnier, 2003/05/01
- Re: Asynchronous bug, Richard Stallman, 2003/05/02
- Re: Asynchronous bug, Stefan Monnier, 2003/05/02
- Re: Asynchronous bug, Richard Stallman, 2003/05/03
- Re: Asynchronous bug, Stefan Monnier, 2003/05/03
- Re: Asynchronous bug, Richard Stallman, 2003/05/05