[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GUILE 2.2 progress
From: |
David Kastrup |
Subject: |
Re: GUILE 2.2 progress |
Date: |
Sat, 25 Jan 2020 15:49:57 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
David Kastrup <address@hidden> writes:
> Han-Wen Nienhuys <address@hidden> writes:
>
>> With https://codereview.appspot.com/551390047/
>
> That patch is papering over a problem rather than fixing it. It might
> be a reoccurence of something like
>
> commit c01a2a757e3c59727bdfa8d77568bf42525fbe05
> Author: Andy Wingo <address@hidden>
> Date: Thu Jun 23 11:47:42 2016 +0200
>
> Fix race between SMOB marking and finalization
>
> * libguile/smob.c (clear_smobnum): New helper.
> (finalize_smob): Re-set the smobnum to the "finalized smob" type
> before finalizing. Fixes #19883.
> (scm_smob_prehistory): Pre-register a "finalized smob" type, which has
> no mark procedure.
> * test-suite/standalone/test-smob-mark-race.c: New file.
> * test-suite/standalone/Makefile.am: Arrange to build and run the new
> test.
Actually, you may also be missing
commit c9910c604279f438728cd268272e1839cbc53835
Author: Andy Wingo <address@hidden>
Date: Mon Mar 13 15:47:51 2017 +0100
Fix finalizer resuscitation causing excessive GC
* libguile/finalizers.c (async_gc_finalizer):
(scm_i_register_async_gc_callback): Replace "weak gc callback"
mechanism with "async gc callback" mechanism. Very similar but the
new API is designed to be called a bounded number of times, to avoid
running afoul of libgc heuristics.
* libguile/weak-list.h: New internal header.
* libguile/Makefile.am (noinst_HEADERS): Add weak-list.h.
* libguile/weak-set.c (vacuum_all_weak_sets):
(scm_c_make_weak_set, scm_init_weak_set):
* libguile/weak-table.c (vacuum_all_weak_tables):
(scm_c_make_weak_table, scm_init_weak_table): Arrange to vacuum all
weak sets from a single async GC callback, and likewise for weak
tables.
Thanks to Ludovic Courtès for tracking this bug down!
in the version you have been using. That one looks like it could cause
trouble as well.
--
David Kastrup
- Re: GUILE 2.2 progress, (continued)
Re: GUILE 2.2 progress, David Kastrup, 2020/01/25
Re: GUILE 2.2 progress, Han-Wen Nienhuys, 2020/01/29
GUILE 2.2 progress, Han-Wen Nienhuys, 2020/01/26