Projet

Général

Profil

Bug #14881

phantomjs: erreur occasionelle lors de l'ouverture des pages web

Ajouté par Serghei Mihai il y a environ 7 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Josué Kouka
Catégorie:
-
Version cible:
-
Début:
03 février 2017
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

De temps en temps sur les portail Mediatheque de Montpel et portail Famille de Meyzieu, phantomjs affiche en sortie standart:

Blocked a frame with origin "file://" from accessing a frame with origin "null".  The frame requesting access has a protocol of "file", the frame being accessed has a protocol of "about". Protocols must match.

après le json produit par do_login.js. Cela provoque des erreurs de parsing json, alors que l'authentification se passe bien.

Je lance à la main la commande suivante :

$ phantomjs  --ignore-ssl-errors=yes --ssl-protocol=any --debug=yes mandayejs/do_login.js < meyzieu.famille.json

avec le json joint.

Les deux utilisent Google Analytics et à croire les logs de debug cela pourrait en être la cause

2017-02-03T16:43:37 [DEBUG] Network - Resource request error: QNetworkReply::NetworkError(OperationCanceledError) ( "Operation canceled" ) URL: "http://www.google-analytics.com/__utm.gif?utmwv=5.6.7&utms=2&utmn=1901876124&utmhn=meyzieu.portail-familles.com&utmcs=UTF-8&utmsr=1366x768&utmvp=1280x1024&utmsc=24-bit&utmul=en-gb&utmje=0&utmfl=11.2%20r202&utmdt=MEYZIEU%20-%20Authentification&utmhid=1342922132&utmr=0&utmp=%2Fmeyzieu%2Fpage%2Fteamnetauth%2Faction%2Flogin%2Ferror%2Finvalid%2Ferror_msg%2FL'identifiant%252520et%2Fou%252520le%252520mot%252520de%252520passe%252520que%252520vous%252520avez%252520saisi%252520est%252520incorrect.&utmht=1486136616201&utmac=UA-56731803-1&utmcc=__utma%3D121734295.871330394.1486136616.1486136616.1486136616.1%3B%2B__utmz%3D121734295.1486136616.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B&utmjid=&utmu=qAAAAAAAAAAAAAAAAAAAAAAE~" 

Fichiers

Révisions associées

Révision 7030f3e5 (diff)
Ajouté par Josué Kouka il y a environ 7 ans

only get stdout enclosed by <mandayejs> tag (#14881)

Historique

#1

Mis à jour par Serghei Mihai il y a environ 7 ans

Suggestion lors de la discussion sur la conf: mettre la sortie JSON produite par do_login.js dans un block (genre === OUTPUT=== ou whatever) afin de la séparer des erreurs possibles de phantomjs et ne parser que ce contenu dans le code python.

#2

Mis à jour par Frédéric Péters il y a environ 7 ans

Dans phantomjs 2.1.1, cette ligne "Network - Resource request error" est envoyée sur qDebug() ("The Qt implementation of these macros prints to the stderr output under Unix/X11"). Aussi, ça semble pouvoir êtré contrôlé par QT_LOGGING_RULES, et faire un QT_LOGGING_RULES="*.debug=false" pourrait permettre de cacher ça. Alternatiivement il y a aussi QT_MESSAGE_PATTERN qui pourrait être utile pour préfixer ces messages de manière particulière.

#4

Mis à jour par Josué Kouka il y a environ 7 ans

Ce patch est basé sur master.

#6

Mis à jour par Frédéric Péters il y a environ 7 ans

function mandaye_log(message){
    mandaye_log('<mandayejs>'+message+'</mandayejs>')
}

Tu récupères ainsi le message de mandayejs au milieu de la trace qui dit que la pile a explosé ?

#7

Mis à jour par Josué Kouka il y a environ 7 ans

Frédéric Péters a écrit :

[...]

Tu récupères ainsi le message de mandayejs au milieu de la trace qui dit que la pile a explosé ?

Oui. Peut importe ce qui arrive, je ne récupère que ce qui se trouve entre les balises.

#8

Mis à jour par Frédéric Péters il y a environ 7 ans

Ok, mon message n'était pas clair.

function mandaye_log(message){
    mandaye_log('<mandayejs>'+message+'</mandayejs>')
}

mandaye_log appelle mandaye_log pour logguer. Ainsi de suite. Explosion de la pile. mandaye_log devrait utiliser autre chose pour écrire.

#9

Mis à jour par Josué Kouka il y a environ 7 ans

Frédéric Péters a écrit :

Ok, mon message n'était pas clair.

[...]

mandaye_log appelle mandaye_log pour logguer. Ainsi de suite. Explosion de la pile. mandaye_log devrait utiliser autre chose pour écrire.

Oui t'as raison désole.

#10

Mis à jour par Frédéric Péters il y a environ 7 ans

En fait, c'est plutôt un "voici la réponse mandaye" et rien ne pourra venir derrière, il y a systématiquement un phantom.exit() tapé derrière l'appel d'ailleurs. Plutôt l'intégrer.

#11

Mis à jour par Frédéric Péters il y a environ 7 ans

(genre appeler ça mandaye_exit()).

#12

Mis à jour par Frédéric Péters il y a environ 7 ans

re.search('<mandayejs>(.*?)</mandayejs>', stdout) on peut très bien avoir des retours à la ligne dans le json; utiliser re.DOTALL.

#13

Mis à jour par Josué Kouka il y a environ 7 ans

Frédéric Péters a écrit :

En fait, c'est plutôt un "voici la réponse mandaye" et rien ne pourra venir derrière, il y a systématiquement un phantom.exit() tapé derrière l'appel d'ailleurs. Plutôt l'intégrer.

+1

re.search('<mandayejs>(.*?)</mandayejs>', stdout) on peut très bien avoir des retours à la ligne dans le json; utiliser re.DOTALL.

Done

#14

Mis à jour par Josué Kouka il y a environ 7 ans

Mauvais patch, je re-upload

#16

Mis à jour par Serghei Mihai il y a environ 7 ans

Toujours le mauvais patch? Il manque le re.DOTALL

#17

Mis à jour par Josué Kouka il y a environ 7 ans

Serghei Mihai a écrit :

Toujours le mauvais patch? Il manque le re.DOTALL

#18

Mis à jour par Serghei Mihai il y a environ 7 ans

Dans le test, tu peux rajouter une representation JSON sur plusieures lignes pour être sûr que le re.DOTALL fonctionne ?

#19

Mis à jour par Josué Kouka il y a environ 7 ans

Serghei Mihai a écrit :

Dans le test, tu peux rajouter une representation JSON sur plusieures lignes pour être sûr que le re.DOTALL fonctionne ?

Done

#20

Mis à jour par Serghei Mihai il y a environ 7 ans

Ock.

#21

Mis à jour par Josué Kouka il y a environ 7 ans

  • Statut changé de En cours à Résolu (à déployer)
  • % réalisé changé de 0 à 100
#22

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF