Strict Standards: Non-static method Flyspray::absoluteURI() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/constants.inc.php on line 29 Strict Standards: Non-static method Flyspray::get_tmp_dir() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/constants.inc.php on line 77 Strict Standards: Non-static method Flyspray::base_version() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/header.php on line 29 Strict Standards: Non-static method Flyspray::base_version() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/header.php on line 29 Strict Standards: Non-static method Req::val() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/header.php on line 39 Strict Standards: Non-static method Req::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 26 Strict Standards: Non-static method Req::num() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/header.php on line 40 Strict Standards: Non-static method Req::val() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 32 Strict Standards: Non-static method Req::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 26 Strict Standards: Non-static method Filters::num() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 32 Strict Standards: Non-static method Req::num() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/header.php on line 42 Strict Standards: Non-static method Req::val() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 32 Strict Standards: Non-static method Req::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 26 Strict Standards: Non-static method Filters::num() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 32 Strict Standards: Non-static method Req::enum() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/index.php on line 20 Strict Standards: Non-static method Req::val() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 37 Strict Standards: Non-static method Req::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 26 Strict Standards: Non-static method Filters::enum() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 37 Strict Standards: Non-static method Req::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/index.php on line 26 Strict Standards: Non-static method Req::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/index.php on line 26 Strict Standards: Non-static method Cookie::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/index.php on line 33 Strict Standards: Non-static method Get::val() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/index.php on line 41 Strict Standards: Non-static method Get::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 100 Strict Standards: Non-static method Get::val() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/index.php on line 100 Strict Standards: Non-static method Get::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 100 Strict Standards: Non-static method Flyspray::requestDuplicated() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/index.php on line 109 Strict Standards: Non-static method Req::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/index.php on line 148 Strict Standards: Non-static method Req::num() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/scripts/details.php on line 15 Strict Standards: Non-static method Req::val() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 32 Strict Standards: Non-static method Req::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 26 Strict Standards: Non-static method Filters::num() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 32 Strict Standards: Non-static method Flyspray::GetTaskDetails() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/scripts/details.php on line 17 Strict Standards: Non-static method Flyspray::GetAssignees() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.flyspray.php on line 358 Strict Standards: Non-static method Get::val() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/scripts/details.php on line 34 Strict Standards: Non-static method Get::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 100 Strict Standards: Non-static method Post::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/scripts/details.php on line 34 Strict Standards: Non-static method TextFormatter::render() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/scripts/details.php on line 128 FS#41 : Ekd ne se lance pas correctement en arrière plan

EKD

Welcome on the EKD bug report site.
Liste des tâches

FS#41 - Ekd ne se lance pas correctement en arrière plan

Concerne le projet: EKD
Ouverte par Strict Standards: array_map() expects parameter 1 to be a valid callback, non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 281 Ptah (Ptah) - Strict Standards: Non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 613 mercredi, 24 février 2010, 20:51 GMT
Dernière édition par Ptah (Ptah) - Strict Standards: Non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 613 lundi, 29 mars 2010, 20:24 GMT
Type de tâche Bug Report
Catégorie Other
Etat Assigned
Assignée à Ptah (Ptah)
Système d'exploitation Linux
Sévérité Basse
Priorité Normale
Basée sur la version 1.9.5
Due pour la version Non décidé
Date d'échéance Non décidé
Pourcentage achevé: 90%
Votes 0
Privée Non

Détails

Sous Kde, on est obliger d'ajouter l'option Terminal=False dans le fichier .desktop de ekd.

Sans cette option, ekd ne se lance pas.

Visiblement Kde lance ekd en arrière plan, ce qui pose problème.
Il y a une incompatibilité entre subprocess.Popen de python et les QApplication. Si le QApplication est mis en arrière plan, les sous process le son également.

Pour corriger le problème, il semble que passer tous les subprocess.Popen à des QProcess permet de lancer ekd en arrière plan.
Cette tâche dépend de

Commentaire de Strict Standards: array_map() expects parameter 1 to be a valid callback, non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 281 Angelo (ekd) - Strict Standards: Non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 613 mercredi, 24 février 2010, 22:48 GMT
Non non ce n'est pas ça, il faut mettre l'option Terminal=true et non Terminal=false (et true ou false en minuscule et pas en majuscule).

Sous KDE:

Le problème exact est que dans la construction du paquet si on met l'option Terminal=false, au moment de démarrer EKD par Applications > Multimédia --> ekd ... il se lance bien (EKD démarre sans la console en arrière-plan, là c'est normal) mais si on essaye de faire un traitement vidéo et bien RIEN de RIEN --> pas de barre de progression et pas de traitement ! (comme si on avait pas les droits !).

==> Constatation très très importante: les traitements Image se passent bien !!!, les traitements audio semblent bien se passer aussi (il faudrait tout tester) ... MAIS AUCUN DES TRAITEMENTS VIDEO NE PEUT SE FAIRE !!!!!!!!!!!.

Par contre si on démarre EKD en tapant ekd dans le terminal (et toujours à partir du paquet construit avec Terminal=false) et bien tout fonctionne ! (traitements Vidéo, image et Musique-Son).

--> Si on construit le paquet avec l'option Terminal=true (EKD démarre avec la console en arrière-plan, là c'est normal) ... et qu'on démarre EKD par Applications > Multimédia --> ekd ... tout fonctionne parfaitement !!!!.

Il semblerait que EKD démarré sous Gnome ou sous XFCE (et avec le paquet construit avec Terminal=false) n'a pas tous ces problèmes (à vérifier !).

Voilà, voilà.
Commentaire de Ptah (Ptah) - Strict Standards: Non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 613 samedi, 27 février 2010, 18:14 GMT
J'ai changé l'intitulé du bug et son commentaire.

Visiblement le problème n'est pas vraiment lié à Kde, mais plutôt à la gestion de popen avec les QApplications.

Je suis en train de modifier le code pour prendre en compte ces modifications.
Commentaire de Ptah (Ptah) - Strict Standards: Non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 613 dimanche, 28 février 2010, 11:13 GMT
Attention pour ce problème, nous gérons ffmpeg avec Popen car ffmpeg utilise '\r' en fin de ligne de son output.
Je ne suis pas pervenu à utiliser QProcess pour parser correctement l'output de ffmpeg.

Donc je continue, quand c'est possible de passer à des QProcess.
Commentaire de Ptah (Ptah) - Strict Standards: Non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 613 dimanche, 28 février 2010, 14:02 GMT
Au final, j'ai trouvé ce qu'il n'allait pas dans nos appel à Popen.
Les processus générés pas Popen ne recevaient pas les signaux des parents, voir : http://www.doughellmann.com/PyMOTW/subprocess/ (Partie Process Groups / Sessions)
En ajoutant le paramètre : preexec_fn=os.setsid à l'appel à Popen, on créer un groupe de processus qui partageront les mêmes signaux.

A tester.
Commentaire de Angelo (ekd) - Strict Standards: Non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 613 dimanche, 28 février 2010, 14:37 GMT
Salut Aurélien,

Je lis dans le lien que tu viens de donner:

" Because of the way the process tree works under Unix " --> est ce que cela veut dire que preexec_fn=os.setsid ne fonctionnera que sous Linux ?, et pas sous win ?.

Si on arrive à s'en sortir, c'est excellent !.
Commentaire de Ptah (Ptah) - Strict Standards: Non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 613 dimanche, 28 février 2010, 15:14 GMT
Dans la doc python :
If preexec_fn is set to a callable object, this object will be called in the child process just before the child is executed. (Unix only)

Je ne sais pas si c'est ignoré sous Windows ou si ça provoque une erreur.

Il faudrait le tester, mais je pense que l'option est ignorée.
Commentaire de Ptah (Ptah) - Strict Standards: Non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 613 mardi, 02 mars 2010, 20:09 GMT
Angelo, tu me confirme qu'on peut clore cette tache et que le problème n'existe plus ?
Commentaire de Angelo (ekd) - Strict Standards: Non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 613 mardi, 02 mars 2010, 20:21 GMT
Je ne peux pas te confirmer ça tout de suite Aurélien. Il faut que je reteste la partie vidéo d'EKD avec un paquet deb construit avec Terminal=false. De plus il faut que je teste (aussi) en totalité cette partie vidéo sous windows.
Commentaire de Ptah (Ptah) - Strict Standards: Non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 613 lundi, 29 mars 2010, 20:24 GMT
Des tests supplémentaires ont montré qu'un autre problème liée à un problème d'encodage empêchait Ekd de se lancer sans l'option Terminal=true.
J'ai créé une fonction permettant de gérer ces problèmes de codage pour les messages affichés sur la console :
debug(message).

C'est, je l'espère, le dernier problème sur ce bug.
Il faut confirmer que la correction faite dans la révision 976 résoud le problème.

Il faudrait certainement éviter d'utiliser les exceptions avec :
try :
....
except Exception :
....
Car dans ce cas toutes les exception sont interceptées y compris celle qui a provoqué le problème.
Il faudrait selectionner les Exceptions qui nous interressent plutôt que de toute les intercepter.

Chargement...