Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Windows: parse/verify fail with timeout wrapper (AttributeError on local function pickling)

Abierto
#79 0 comentarios 0 reacciones 0 asignados Ver en GitHub

@dexhunter ya está trabajando en esto.

Desde el 13/7/2026.

  • #80 de @dexhunter — abierto

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

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(...) returns False

Related symptom sometimes appears from multiprocessing teardown on Windows:

OSError: [WinError 6] The handle is invalid
Expected
  • parse should return parsed candidates for valid boxed/math strings.
  • verify("4", "4", ...) should return True.
  • 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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de huggingface/Math-Verify

Todos los issues de huggingface/Math-Verify

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.