Projet

Général

Profil

Bug #51249

RecursionError in python bindings during exception handling

Ajouté par Jürn Brodersen il y a environ 3 ans. Mis à jour il y a plus de 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
Binding python
Version cible:
-
Début:
18 février 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

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

0004-Fix-python3-bindings.patch (1,89 ko) 0004-Fix-python3-bindings.patch Jürn Brodersen, 18 février 2021 13:39
0001-Fix-python3-bindings-51249.patch (1,91 ko) 0001-Fix-python3-bindings-51249.patch Jürn Brodersen, 25 février 2021 18:49

Révisions associées

Révision 2dbca5ed (diff)
Ajouté par Benjamin Dauvergne il y a environ 3 ans

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


Révision d28672da (diff)
Ajouté par Benjamin Dauvergne il y a environ 3 ans

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

#2

Mis à jour par Benjamin Dauvergne il y a environ 3 ans

  • Assigné à mis à Benjamin Dauvergne
#3

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.

#4

Mis à jour par Benjamin Dauvergne il y a environ 3 ans

  • Assigné à changé de Benjamin Dauvergne à Jürn Brodersen
#6

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

    ----------------------------------------------------------------------
#7

Mis à jour par Jürn Brodersen il y a environ 3 ans

Updated patch to include License: MIT

#8

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF