Pourquoi le processus principal peut-il attendre indéfiniment lorsqu’un thread de travail en arrière-plan rencontre une erreur ? Reth PR
#28313 explique que, lorsqu’une tâche de preuve déclenche une panique, aucun résultat n’est envoyé. Comme le coordinateur détient encore lui-même l’extrémité émettrice, le canal ne se ferme pas naturellement et les threads en attente ne reçoivent aucun signal clair de fin. La solution consiste à convertir la panique de chaque tâche en ProofJobError::Panicked, puis à envoyer un résultat une seule fois par un point de sortie commun, afin que le thread de travail puisse continuer à traiter les tâches. Attention à la portée : cette correction ne couvre pas les paniques qui surviennent avant qu’un thread ne récupère une tâche ou lors de l’ouverture du provider. Pour les nœuds
$ETH ou les services qui dépendent de leurs résultats, les accusés de réception d’erreur doivent suivre le même chemin complet que les accusés de réception de réussite.