Bug #51249
RecursionError in python bindings during exception handling
0%
Description
Hi,
while analyzing https://dev.entrouvert.org/issues/51248 I noticed a small bug in the python bindings:
======================================================================
ERROR: test14 (main.BindingTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "./binding_tests.py", line 336, in test14
assert isinstance(str(cm.exception), str)
File "../lasso.py", line 69, in str
return '<lasso.%s: %s>' % (self.__class__.__name__, self)
File "../lasso.py", line 69, in str
return '<lasso.%s: %s>' % (self.__class__.__name__, self)
File "../lasso.py", line 69, in str
return '<lasso.%s: %s>' % (self.__class__.__name__, self)
[Previous line repeated 489 more times]
File "../lasso.py", line 68, in str
if sys.version_info >= (3,):
RecursionError: maximum recursion depth exceeded in comparison
Thanks!
Fichiers
Révisions associées
Fix: python3 bindings (#51249)
The str method called itself, resulting in an RecursionError.
======================================================================
ERROR: test14 (main.BindingTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "./binding_tests.py", line 336, in test14
assert isinstance(str(cm.exception), str)
File "../lasso.py", line 69, in str
return '<lasso.%s: %s>' % (self.__class__.__name__, self)
File "../lasso.py", line 69, in str
return '<lasso.%s: %s>' % (self.__class__.__name__, self)
File "../lasso.py", line 69, in str
return '<lasso.%s: %s>' % (self.__class__.__name__, self)
[Previous line repeated 489 more times]
File "../lasso.py", line 68, in str
if sys.version_info >= (3,):
RecursionError: maximum recursion depth exceeded in comparison
Historique
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
Hi, thanks for the patch, please add License: MIT
to the end of your commit message, all contributions must be done under this license. Thank you.
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Assigné à changé de Benjamin Dauvergne à Jürn Brodersen
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Statut changé de Nouveau à Résolu (à déployer)
commit 2afb014ed1256a74bd66d5a94577a71f94f54c88 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Wed Feb 24 22:59:24 2021 +0100 Fix: python3 bindings (#51249) The __str__ method called itself, resulting in an RecursionError. ====================================================================== ERROR: test14 (__main__.BindingTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "./binding_tests.py", line 336, in test14 assert isinstance(str(cm.exception), str) File "../lasso.py", line 69, in __str__ return '<lasso.%s: %s>' % (self.__class__.__name__, self) File "../lasso.py", line 69, in __str__ return '<lasso.%s: %s>' % (self.__class__.__name__, self) File "../lasso.py", line 69, in __str__ return '<lasso.%s: %s>' % (self.__class__.__name__, self) [Previous line repeated 489 more times] File "../lasso.py", line 68, in __str__ if sys.version_info >= (3,): RecursionError: maximum recursion depth exceeded in comparison ----------------------------------------------------------------------
Mis à jour par Jürn Brodersen il y a environ 3 ans
Updated patch to include License: MIT
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Statut changé de Résolu (à déployer) à Fermé
Fix: python3 bindings (#51249)
The str method called itself, resulting in an RecursionError.
======================================================================
ERROR: test14 (main.BindingTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "./binding_tests.py", line 336, in test14
assert isinstance(str(cm.exception), str)
File "../lasso.py", line 69, in str
return '<lasso.%s: %s>' % (self.__class__.__name__, self)
File "../lasso.py", line 69, in str
return '<lasso.%s: %s>' % (self.__class__.__name__, self)
File "../lasso.py", line 69, in str
return '<lasso.%s: %s>' % (self.__class__.__name__, self)
[Previous line repeated 489 more times]
File "../lasso.py", line 68, in str
if sys.version_info >= (3,):
RecursionError: maximum recursion depth exceeded in comparison