On Sun, May 17, 2020 at 3:43 PM Jun Omae <jun6...@gmail.com> wrote: > > On Sat, May 16, 2020 at 9:13 PM Johan Corveleyn <jcor...@gmail.com> wrote: > > If I apply your patch, I get this assertion with Python 3.8.2 and SWIG > > 3.0.12: > > > > [[[ > > C:\research\svn\dev\trunk>python win-tests.py --log-level=DEBUG > > --debug --swig=python R:\test_py > > Testing Debug configuration on local repository. > > -- Running Swig Python tests -- > > Assertion failed: PyTuple_Check(args), file > > d:\a\1\s\objects\typeobject.c, line 3707 > > [Test runner reported failure] > > ]]] > > > > I don't see the other assertion that you got with SWIG 3.0.12. Perhaps > > because I'm using Python 3.8.2? Or because I'm using the 32-bit > > builds? I don't know. > > PyTuple_Check(args) asserts when Python 3.7.x - 3.8.x with SWIG 3.0.12. > The issue is due to SWIG 3.0.x and has been fixed in SWIG 4.0.1. > ref. https://github.com/swig/swig/issues/1321 > > Assertion for negative ref count is raised from test_conflict > (client.SubversionClientTestCase). > 1.10.x through trunk have the issue. > > Summary tested with Python debug builds on Linux amd64: > > | Source | Python | SWIG | Result > |--------|--------|--------|-------- > | trunk | 3.8.3 | 4.0.1 | _Py_NegativeRefcount: Assertion failed: > object has negative ref count > | trunk | 3.8.3 | 3.0.12 | excess_args: Assertion `PyTuple_Check(args)' > failed > | trunk | 3.7.7 | 4.0.1 | Fatal Python error: > ../Objects/dictobject.c:1905 object at ... has negative ref count -... > | trunk | 3.7.7 | 3.0.12 | excess_args: Assertion `PyTuple_Check(args)' > failed > | trunk | 3.6.10 | 4.0.1 | Fatal Python error: > ../Objects/dictobject.c:2017 object at ... has negative ref count -... > | trunk | 3.6.10 | 3.0.12 | Fatal Python error: > ../Objects/dictobject.c:2017 object at ... has negative ref count -... > | trunk | 3.5.2 | 4.0.1 | Fatal Python error: > ../Objects/dictobject.c:354 object at ... has negative ref count -... > | trunk | 3.5.2 | 3.0.12 | Fatal Python error: > ../Objects/dictobject.c:354 object at ... has negative ref count -... > | trunk | 2.7.12 | 3.0.12 | Fatal Python error: > subversion/bindings/swig/python/svn_client.c:28085 object at ... has > negative ref count -... > | 1.13.x | 2.7.12 | 3.0.12 | Fatal Python error: > subversion/bindings/swig/python/svn_client.c:28085 object at ... has > negative ref count -... > | 1.10.x | 2.7.12 | 3.0.12 | Fatal Python error: > subversion/bindings/swig/python/svn_client.c:26916 object at ... has > negative ref count -... > > > trunk on Python 3.8.3 with SWIG 4.0.1 > ======== > .............................../Include/object.h:541: > _Py_NegativeRefcount: Assertion failed: object has negative ref count > <object at 0x7f9efefb1050 is freed> > Fatal Python error: _PyObject_AssertFailed > Python runtime state: initialized > > > trunk on Python 3.8.3 with SWIG 3.0.12 > ======== > python3.8-dbg: ../Objects/typeobject.c:3707: excess_args: Assertion > `PyTuple_Check(args)' failed. > > > trunk on Python 3.7.7 with SWIG 4.0.1 > ======== > .............................Fatal Python error: > ../Objects/dictobject.c:1905 object at 0x7f8f739ced10 has negative ref > count -2459565876494606884 > > > trunk on Python 3.7.7 with SWIG 3.0.12 > ======== > python3.7-dbg: ../Objects/typeobject.c:3670: excess_args: Assertion > `PyTuple_Check(args)' failed. > > > trunk on Python 3.6.10 with SWIG 4.0.1 > ======== > .............................Fatal Python error: > ../Objects/dictobject.c:2017 object at 0x7f9c30277878 has negative ref > count -2604246222170760230 > > > trunk on Python 3.6.10 with SWIG 3.0.12 > ======== > .............................Fatal Python error: > ../Objects/dictobject.c:2017 object at 0x7f83bf511400 has negative ref > count -2604246222170760230 > > > trunk on Python 3.5.2 with SWIG 4.0.1 > ======== > .............................Fatal Python error: > ../Objects/dictobject.c:354 object at 0x7fbd5b50d608 has negative ref > count -2604246222170760230 > > > trunk on Python 3.5.2 with SWIG 3.0.12 > ======== > .............................Fatal Python error: > ../Objects/dictobject.c:354 object at 0x7f77710cff60 has negative ref > count -2604246222170760230 > > > trunk on Python 2.7.12 with SWIG 3.0.12 > ======== > ........................Fatal Python error: > subversion/bindings/swig/python/svn_client.c:28085 object at > 0x7f43a91de0d8 has negative ref count -2604246222170760230 > > > branches/1.13.x on Python 2.7.12 with SWIG 3.0.12 > ======== > ........................Fatal Python error: > subversion/bindings/swig/python/svn_client.c:28085 object at > 0x7fd02bba81c8 has negative ref count -2604246222170760230 > > > branches/1.10.x on Python 2.7.12 with SWIG 3.0.12 > ======== > ........................Fatal Python error: > subversion/bindings/swig/python/svn_client.c:26916 object at > 0x7fe73b53a150 has negative ref count -2604246222170760230 > > -- > Jun Omae <jun6...@gmail.com> (大前 潤)
Thank you for the thorough research! I'm not sure what can be done further about this. Perhaps others can chime in here. -- Johan