incorrect "http.cookiejar bug" when catching exception
Abierto
Nadie ha tomado este issue todavía.
stdlib
type-bug
- Lenguaje dominante
- Python
- Estrellas
- 77.2k
- Forks
- 36k
- Merge medio
- 1 d 9 h
- PR fusionados (30 d)
- 558
Descripción
Bug report
catching certain exceptions from the http.cookiejar module incorrectly triggers an "unhandled exception" warning:
#!/usr/bin/env python3
import logging
from http.cookiejar import LoadError, MozillaCookieJar
from tempfile import NamedTemporaryFile
logging.basicConfig()
log = logging.getLogger()
with NamedTemporaryFile(mode="w") as tmp:
tmp.write("# Netscape HTTP Cookie File\n%3D\n")
tmp.seek(0)
jar = MozillaCookieJar(tmp.name)
try:
jar.load()
except LoadError:
log.warning("Failed to load cookies")
alexia@cadoth ~ > ./http_cookiejar_bug.py
/home/alexia/.local/share/pyenv/versions/3.11.0/lib/python3.11/http/cookiejar.py:2080: UserWarning: http.cookiejar bug!
Traceback (most recent call last):
File "/home/alexia/.local/share/pyenv/versions/3.11.0/lib/python3.11/http/cookiejar.py", line 2041, in _really_load
domain, domain_specified, path, secure, expires, name, value = \
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: not enough values to unpack (expected 7, got 1)
_warn_unhandled_exception()
WARNING:root:Failed to load cookies
Your environment
- CPython versions tested on: 3.9.2, 3.10.8, 3.11.0
- Operating system and architecture: Debian 11 amd64
Linked PRs
- gh-99676
- gh-139395
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Empieza en Lib/http/cookiejar.py, en _really_load y _warn_unhandled_exception, usando el reproducer del issue para observar la advertencia al capturar LoadError. Revisa las PRs vinculadas gh-99676 y gh-139395 y después añade o actualiza una prueba de regresión que muestre que este caso gestionado de cookie malformada ya no produce la advertencia incorrecta.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- networking
- Tipo de issue
- Error
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 35/100