Windows: parse/verify fail with timeout wrapper (AttributeError on local function pickling)
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- python
- Área
- backend, operating-systems
Línea de trabajo
Comienza con la implementación del tiempo de espera utilizada por math_verify.parse y math_verify.verify, y después ejecuta la reproducción mínima en Windows con Python 3.13 y timeout_seconds=1. Rastrea cómo se envía el wrapper de tiempo de espera bajo multiprocessing spawn. Se considera completado cuando una entrada boxed válida se analiza correctamente, verify("4", "4", strict=True, timeout_seconds=1) devuelve True y los fallos no se convierten silenciosamente en resultados vacíos o falsos negativos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
On Windows, math_verify.parse and math_verify.verify fail when timeout handling is enabled.
With default raise_on_error=False, failures are swallowed and parse returns [], which can
silently degrade correctness checks.
Environment
- OS: Windows 11
- Python: 3.13.3
- math-verify: 0.9.0
Minimal Repro
import math_verify
print(math_verify.parse(r"\\boxed{4}", raise_on_error=True))
print(math_verify.verify("4", "4", strict=True, timeout_seconds=1, raise_on_error=True))
Observed
AttributeError: Can't get local object 'timeout.<locals>.decorator.<locals>.wrapper.<locals>.run_func'
When raise_on_error=False (default):
math_verify.parse(...)returns[]math_verify.verify(...)returnsFalse
Related symptom sometimes appears from multiprocessing teardown on Windows:
OSError: [WinError 6] The handle is invalid
Expected
parseshould return parsed candidates for valid boxed/math strings.verify("4", "4", ...)should returnTrue.- Timeout handling should work (or fail loudly with a clear platform-specific message), rather than
silently returning empty parse results / false negatives.
Notes
The failure appears to be tied to the timeout implementation and Windows spawn multiprocessing,
where a local function used by the timeout wrapper is not picklable.
- Lenguaje dominante
- Python
- Estrellas
- 1.2k
- Forks
- 65
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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.
Más de huggingface/Math-Verify
-
verify() raises ValueError comparing chained relations of different lengthPosiblemente ocupada @chetana1410 la tomó hace 2 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
huggingface/Math-Verify#93 ·
-
A period inside the math delimiters (`$\frac{1}{3}.$`) makes correct answers fail and can make wrong ones passPosiblemente ocupada @MohammadHijjawi97 la tomó hace 25 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
huggingface/Math-Verify#85 ·
-
evaluate_model_outputs.py: rows whose gold cannot be extracted are dropped from the accuracy denominator, so the printed accuracy disagrees with the is_correct column the script writesPosiblemente ocupada @shaurya416 la tomó hace 30 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
huggingface/Math-Verify#83 ·
-
verify() rejects a not-equal written in the other orderPosiblemente ocupada @chetana1410 la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
huggingface/Math-Verify#100 ·
-
verify() rejects an absolute-value inequality that is the same intervalPosiblemente ocupada @chetana1410 la tomó hace 2 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
huggingface/Math-Verify#98 ·
Todos los issues de huggingface/Math-Verify
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
nansencenter/geodataset#39 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
awslabs/visual-asset-management-system#804 ·
Los mantenedores suelen responder en 1 día
-
follow-up
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
[18.0] werkzeug: AttributeErrorAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
odoo/odoo#297927 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
link-rot
Dificultad 1/5 Menos de una hora Aptitud para principiantes 67/100