Bug #30754
création de document : sur une situation d'erreur libreoffice, on peut se trouver avec False comme file descriptor
Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
19 février 2019
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Description
Dans #30749 il est question de libreoffice pas installé, et il y a eu mise à jour derrière qui empêche une analyse plus poussée, mais dans l'hypothèse que le problème était plus compliqué que ça, qu'un exécutable libreoffice existait bel et bien déjà, on va se trouver avec transform_to_pdf appelé, et un crash sur l'appel qui donnera ça :
except subprocess.CalledProcessError: return False
et de là False qui sera retourné par apply_template_to_formdata,
if self.convert_to_pdf: if transform_to_pdf is None: raise Exception('libreoffice is missing') return transform_to_pdf(outstream)
puis une tentative d'enregistrement,
if self.attach_to_history: evo.add_part(AttachmentEvolutionPart( filename, outstream, content_type=content_type, varname=self.varname)) formdata.store()
et l'AttachmentEvolutionPart avec False comme outstream, plutôt qu'un file descriptor, ça va faire
Exception: type = '<type 'exceptions.AttributeError'>', value = ''bool' object has no attribute 'seek'' Stack trace (most recent call first): File "/usr/lib/python2.7/dist-packages/wcs/qommon/misc.py", line 571, in file_digest 569 def file_digest(content, chunk_size=100000): 570 digest = hashlib.sha256() > 571 content.seek(0) 572 573 def read_chunk(): locals: chunk_size = 100000 content = False digest = <sha256 HASH object @ 0x7f28200a6800> File "/usr/lib/python2.7/dist-packages/wcs/workflows.py", line 202, in __getstate__ 200 201 if not 'filename' in odict: > 202 filename = file_digest(self.fp) 203 dirname = os.path.join(dirname, filename[:4]) 204 if not os.path.exists(dirname):
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a environ 5 ans
- Fichier 0001-workflows-fail-if-libreoffice-is-failing-30754.patch 0001-workflows-fail-if-libreoffice-is-failing-30754.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Pour crasher de manière intelligible.
Mis à jour par Emmanuel Cazenave il y a environ 5 ans
- Statut changé de Solution proposée à Solution validée
J'aime les crashs explicites.
Mis à jour par Frédéric Péters il y a environ 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 3ccd6f4cc945fe1b654b8a070731d45ea05527b7 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Tue Feb 19 12:05:17 2019 +0100 workflows: fail if libreoffice is failing (#30754)
Mis à jour par Frédéric Péters il y a environ 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
workflows: fail if libreoffice is failing (#30754)