Bonjour l’équipe,
J’ai migré un site v3 vers la v4-beta et j’ai un soucis en Production quand je lance l’impression.
En dév cela marche.
En production, ça plante : mais ça n’affiche aucun bug, aucune erreur. J’ai juste une espère de feuille blanche avec un son derrière qui signale sûrement l’erreur. Dans mon inspecteur JS j’ai cela :
GET
wss://xxxxx/socket.io/?EIO=4&transport=websocket&sid=G7bcprY3mt7qR_hoAAA-
Firefox ne peut établir de connexion avec le serveur à l’adresse wss://xxxxx/socket.io/?EIO=4&transport=websocket&sid=G7bcprY3mt7qR_hoAAA-. websocket.js:43:26
XHRPOST
https://xxxxx/api/method/frappe.www.printview.get_html_and_style
[HTTP/2 500 Internal Server Error 112ms]
La lecture automatique n’est autorisée que lorsqu’elle a été approuvée par l’utilisateur, que le site est activé par l’utilisateur, ou que le média est muet. utils.js:838:9
Unable to handle failed response request.js:362:12
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Déjà ma première question serait de savoir où sont enregistrés les erreurs sur le chargement de l’impression.
Par contre lorsque je clique sur le bouton PDF, ça me sort bien le PDF sans erreur…
Merci 
Ludovic
Bonjour Ludovic,
Je n’ai pas le problème en production de mon côté c’est curieux. Dans l’inspecteur de Firefox, onglet Réseau, tu peux voir la réponse du serveur en cliquant sur la ligne de requête en erreur.
Peut-être y a-t-il des messages d’erreurs liés dans dokos-bench/logs/web.error.log
?
Le message « SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data » est typique, ça veut dire que le serveur a renvoyé « Internal Server Error », ou, encore mieux, un traceback complet.
Corentin
Éventuellement, une erreur dans le template Jinja utilisé. As-tu testé sur un document simple comme ton propre User
?
Je n’ai aucun log qui apparaît dans dokos-bench/logs/web.error.log
. Il y a un niveau de debug Ă activer quelque part ?
Avec d’autres modèles, cela marche bien.
J’ai peut être trouvé une piste qui apparaît sur la console si je lance un bench start
manuellement en prod :
frappe-bench/apps/frappe/frappe/utils/html_utils.py:162: MarkupResemblesLocatorWarning: The input looks more like a filename than markup. You may want to open this file and pass the filehandle into Beautiful Soup.
if not bool(BeautifulSoup(html, "html.parser").find()):
J’ai regardé dans les logs de Nginx, j’ai cette erreur. Je continue à chercher, sans doute un problème de permissions tout bête…
2023/11/27 17:35:17 [crit] 2957428#2957428: *39380 open() "/var/lib/nginx/tmp/client_body/0000000088" failed (13: Permission denied), client: 127.0.0.1, server: app.ipcem.org, request: "POST /api/method/frappe.www.printview.get_html_and_style HTTP/1.1", host: "xxxx"
Bon j’ai trouvé : il s’agit d’un problème sur NGinx.
La taille du buffer POST envoyé était trop petite au regard des données à envoyer. Le rapport que je génère est un rapport qui contient beaucoup d’images.
Il suffit de régler le paramètre client_body_buffer_size
dans la config NGinx en augmentant la valeur (par défaut 8K ou 16K), on redémarre le service et le tour est joué.
Merci Ludovic
et merci Corentin pour tes remarques.
2 « J'aime »