Bug #5394
L'envoi de certaines tracebacks échoue
100%
Description
Il arrive que dans le cas d'une traceback avec des caractères un peu spéciaux que le mail ne parte pas.
C'est ce qui est arrivé avec la trace :
CookieError: Illegal key value: SearchLabel:''))&SC
Fichiers
Révisions associées
response: fix traceback email title
Closes #5394
Historique
Mis à jour par Jérôme Schneider il y a plus de 9 ans
- Fichier 0001-response-don-t-hide-email-traceback-when-the-sent-fa.patch 0001-response-don-t-hide-email-traceback-when-the-sent-fa.patch ajouté
- Priorité changé de Haut à Bas
- Version cible
0.10supprimé - Patch proposed changé de Non à Oui
Je viens de faire le tour des traces à Montpellier et l'erreur d'envoie du mail est caché et je n'arrive pas à la reproduire. Voici un patch qui permet de ne plus la cacher.
Mis à jour par Jérôme Schneider il y a plus de 9 ans
- Fichier 0001-test-if-pdftk-binary-exists-before-using-it.patch ajouté
Mis à jour par Jérôme Schneider il y a plus de 9 ans
- Fichier
0001-test-if-pdftk-binary-exists-before-using-it.patchsupprimé
Mis à jour par Jérôme Schneider il y a plus de 9 ans
- Fichier 0001-response-don-t-hide-email-traceback-when-the-sent-fa.patch 0001-response-don-t-hide-email-traceback-when-the-sent-fa.patch ajouté
Nouveau patch suite à une discussion que j'avais eu avec Benj.
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Sujet changé de L'envoie de certaine tracebacks échouent à L'envoi de certaines tracebacks échoue
Mis à jour par Frédéric Péters il y a plus de 9 ans
Le patch, il ne va pas permettre l'envoi des traces qui échouaient, il va juste envoyer une nouvelle trace d'échec d'envoi de mail; ça peut être utile pour le debug du problème d'envoi de trace (mais le logger.exception enregistrait déjà tout, j'aurais pensé ça suffisant), mais la correction qu'il faudrait, c'est l'envoi initial.
Tu as plus d'infos sur la trace "CookieError: Illegal key value: SearchLabel:''))&SC" que tu évoques ?
Mis à jour par Benjamin Dauvergne il y a plus de 9 ans
Il me semble bien le nouveau patch, il log l'exception en cours, et si l'envoie du mail foire, il log l'exception sur le mail. Le premier patch corrige bien le fait qu'une erreur sur l'envoi du mail pouvait empêcher qu'on puisse suivre l'exception dans le journal mais ne journaliser pas l'erreur sur l'envoi du mail elle-même.
Mis à jour par Frédéric Péters il y a plus de 9 ans
"L'envoi de certaines tracebacks échoue", peu importe le patch, ce sera toujours le cas, non ? (mais bon peut-être que ce n'est pas ça qu'on veut corriger)
Mis à jour par Benjamin Dauvergne il y a plus de 9 ans
Disons que le titre manque de précision, ce serait plutôt "Certains tracebacks sont totalement perdus parce que l'envoi du mail échoue". J'avoue être avantagé d'avoir eu le développeur à coté quand le problème initial s'est posé.
Mis à jour par Frédéric Péters il y a plus de 9 ans
Très bien, donc ça va permettre ensuite de comprendre pourquoi l'envoi initial échoue, puis de corriger ça, cool.
Mis à jour par Jérôme Schneider il y a plus de 9 ans
Oui c'est un patch autour du bug. Comme je le disais dans mon premier commentaire je n'ai pas réussi à le reproduire ni à avoir une traceback. Bon je le pousse.
Mis à jour par Benjamin Dauvergne il y a plus de 9 ans
Pour discuter du bug initial il me semble que les caractères hors ASCII sont illégaux dans les entête de mail (dont le sujet). Ici le sujet est construit comme ceci:
'internal server error %s' % exception
pour éviter que des caractères interdits ne se retrouvent dans le sujet je mettrai plutôt:
'internal server error %r' % str(exception)
À tester bien sûr pour voir si c'est bien le souci; un raise Exception('\xc3\xa9')
ajouter n'importe où dans le code devrait suffire.
Mis à jour par Jérôme Schneider il y a plus de 9 ans
- Fichier 0001-response-fix-traceback-email-title.patch 0001-response-fix-traceback-email-title.patch ajouté
- Statut changé de Nouveau à En cours
Ce n'était pas vraiment ça. Le soucis c'est lorsque j'ai une chaine en unicode dans l'exption (exemple raise Exception(u"é"). Ca me donne :
email.sent('internal server error %s' % exception, mandaye/server.py UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 0: ordinal not in range(128)
Je joins un patch qui corrige le soucis.
Mis à jour par Jérôme Schneider il y a plus de 9 ans
- Statut changé de En cours à Résolu (à déployer)
- % réalisé changé de 0 à 100
Appliqué par commit commit:1bb12cd2ea7b8e6cc492ba6e7bb48ae850068f0c.
Mis à jour par Jérôme Schneider il y a plus de 9 ans
- Statut changé de Résolu (à déployer) à Fermé
response: don't hide email traceback when the sent failed
Refs #5394