emacs-devel
[Top][All Lists]
Advanced

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

Re: [Emacs-diffs] master 0a5b6e2: Fix aborts in GC under GC_CHECK_MARKED


From: Stefan Monnier
Subject: Re: [Emacs-diffs] master 0a5b6e2: Fix aborts in GC under GC_CHECK_MARKED_OBJECTS
Date: Wed, 21 Dec 2016 22:45:43 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

>> AFAIK `make-thread` returns a thread object, which you can store
>> anywhere you like.  So even if you remove the thread object from
>> all_threads, it may still be referenced from all kinds of other place.
> And why is that a problem, both in general and wrt to the change I
> installed that only matters if GC_CHECK_MARKED_OBJECTS is used?

That there might be on the stack a Lisp_Object variable which holds
a Lisp_Vectorlike references which is really a reference to a thread
object, so the conservative GC would need to be able to recognize them,
AFAICT.  So your code doesn't make things worse, but I think that the
problem detected by GC_CHECK_MARKED_OBJECTS needs to be fixed by adding
thread objects to the red-black tree.


        Stefan



reply via email to

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