Hi, On Wed, Apr 28, 2021 at 5:39 PM Rick van der Zwet <i...@rickvanderzwet.nl> wrote: > > Ack, but the backtrace does go through Subversion's swig-py bindings and > > libsvn_fs_fs, so we might be involved nevertheless. > > ... > > error which seems to be related to the Trac code, I filled it over > there: https://trac.edgewall.org/ticket/13401
The root cause is that sub pool is doubly destroyed because weakref's callback is not invoked when the pools are finalized by cyclic garbage collector in Python 3. See also https://bugs.python.org/issue40312 Proposed patch is attached. [[[ swig-py: Fix doubly destroying memory pool because weakref's callback is not invoked when it is finalized by cyclic garbage collector. * subversion/bindings/swig/include/proxy_apr.swg (apr_pool_t.valid): Check whether parent pool is valid. * subversion/bindings/swig/python/tests/pool.py (PoolTestCase): Add tests for pools referred from circular reference. }}} -- Jun Omae <jun6...@gmail.com> (大前 潤)
pools-in-circular-ref.diff
Description: Binary data