Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#79 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

@dexhunter ci sta già lavorando.

Dal 13/7/2026.

  • #80 di @dexhunter — aperta

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
52/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
python

Direzione di ricerca

Inizia con l’implementazione del timeout usata da math_verify.parse e math_verify.verify, quindi esegui la riproduzione minima su Windows con Python 3.13 e timeout_seconds=1. Traccia come il wrapper del timeout viene inviato con multiprocessing spawn. Il lavoro è completo quando un input boxed valido viene analizzato, verify("4", "4", strict=True, timeout_seconds=1) restituisce True e gli errori non vengono convertiti silenziosamente in risultati vuoti o falsi negativi.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
Python
Stelle
1.2k
Fork
65
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di huggingface/Math-Verify

Tutte le issue di huggingface/Math-Verify

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.