Bug #75580
RecursionError: maximum recursion depth exceeded while calling a Python object
Status:
Nouveau
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
17 March 2023
Due date:
% Done:
0%
Estimated time:
Patch proposed:
No
Planning:
No
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/108299/
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x91 in position 0: invalid start byte File "django/utils/encoding.py", line 62, in force_str s = str(s, encoding, errors) DjangoUnicodeDecodeError: 'utf-8' codec can't decode byte 0x91 in position 0: invalid start byte. You passed in b'\x91\xb2\xfe\xe7\xc9\xd5\xa0\x01\xf0\xc9[\xfd\xdc\x19\x8e\xed\xc3\xc79\xdd\x00gn\x1d' (<class 'bytes'>) (3 additional frame(s) were not displayed) ... File "django/views/generic/base.py", line 98, in dispatch return handler(request, *args, **kwargs) File "django/views/generic/base.py", line 159, in get context = self.get_context_data(**kwargs) File "combo/apps/lingo/views.py", line 828, in get_context_data item_id = aes_hex_decrypt(settings.SECRET_KEY, kwargs['item_crypto_id']) File "combo/utils/crypto.py", line 57, in aes_hex_decrypt return force_str(aes.decrypt(crypted), 'utf-8') File "django/utils/encoding.py", line 66, in force_str raise DjangoUnicodeDecodeError(s, *e.args) AttributeError: 'SessionStore' object has no attribute '_session_cache' File "django/contrib/sessions/backends/base.py", line 233, in _get_session return self._session_cache BadSignature: Signature "oYGUcdxMsgOpes15UGKPrcmow2YNv258VGavSLf5ZfA" does not match File "django/contrib/sessions/backends/base.py", line 121, in decode return signing.loads(session_data, salt=self.key_salt, serializer=self.serializer) File "django/core/signing.py", line 119, in loads return TimestampSigner(key, salt=salt).unsign_object(s, serializer=serializer, max_age=max_age) File "django/core/signing.py", line 190, in unsign_object base64d = self.unsign(signed_obj, **kwargs).encode() File "django/core/signing.py", line 215, in unsign result = super().unsign(value) File "django/core/signing.py", line 160, in unsign raise BadSignature('Signature "%s" does not match' % sig) Error: Incorrect padding File "django/contrib/sessions/backends/base.py", line 128, in decode return self._legacy_decode(session_data) File "django/contrib/sessions/backends/base.py", line 144, in _legacy_decode encoded_data = base64.b64decode(session_data.encode('ascii')) File "base64.py", line 87, in b64decode return binascii.a2b_base64(s) AttributeError: 'SessionStore' object has no attribute '_session_cache' File "django/contrib/sessions/backends/base.py", line 233, in _get_session return self._session_cache BadSignature: Signature "oYGUcdxMsgOpes15UGKPrcmow2YNv258VGavSLf5ZfA" does not match File "django/contrib/sessions/backends/base.py", line 121, in decode return signing.loads(session_data, salt=self.key_salt, serializer=self.serializer) File "django/core/signing.py", line 119, in loads return TimestampSigner(key, salt=salt).unsign_object(s, serializer=serializer, max_age=max_age) File "django/core/signing.py", line 190, in unsign_object base64d = self.unsign(signed_obj, **kwargs).encode() File "django/core/signing.py", line 215, in unsign result = super().unsign(value) File "django/core/signing.py", line 160, in unsign raise BadSignature('Signature "%s" does not match' % sig) ...
History
Updated by Corentin Séchet 3 days ago
- Project changed from Suivi des traces to Hobo
- Description updated (diff)
Si on change le paramètre SECRET_KEY, accéder à une page avec une session construite avec l'ancienne clé fait crasher Hobo.