[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: |
Daniel Colascione |
Subject: |
Re: [Emacs-diffs] master 0a5b6e2: Fix aborts in GC under GC_CHECK_MARKED_OBJECTS |
Date: |
Wed, 21 Dec 2016 20:18:59 -0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) |
On Thu, Dec 22 2016, Eli Zaretskii wrote:
>> From: Stefan Monnier <address@hidden>
>> Cc: address@hidden
>> Date: Wed, 21 Dec 2016 17:52:47 -0500
>>
>> 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?
It's a problem because if you don't add thread objects to the tree,
conservative GC doesn't keep them alive and subsequent access to thread
objects can access freed memory. It's perfectly legitimate to hold a
reference to a dead thread --- just like it's perfectly legitimate to
hold a reference to a killed buffer.