Bonjour. Ce script plante perl.exe lorsqu'il est en mode taint. Je n'ai
aucun message dans le error log.
#!/usr/bin/perl -T
print "Content-type: text/html\n\n";
my $pid = fork();
die "fork: $!\n" unless defined $pid;
if (!$pid){
print "fils ok<br>";
exit 0;}
print "perroquet<br>";
exit 0;
Il semble que le problème survienne dès la ligne "my $pid = fork();"
puisque lorsque j'arrête le script juste après via un "exit 0;", ça
plante de la même façon.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Emmanuel Florac
Le Wed, 05 Apr 2006 18:16:49 +0200, Asterbing a écrit :
Il semble que le problème survienne dès la ligne "my $pid = fork();" puisque lorsque j'arrête le script juste après via un "exit 0;", ça plante de la même façon.
Ça marche chez moi. C'est plutôt un problème de configuration apache, tu es bien en mode CGI (PAS mod_perl?)?
Par ailleurs, ajoute "use strict; use warnings;" ça rajoutera des informations.
-- Writing about music is like dancing about architecture. Frank Zappa
Le Wed, 05 Apr 2006 18:16:49 +0200, Asterbing a écrit :
Il semble que le problème survienne dès la ligne "my $pid = fork();"
puisque lorsque j'arrête le script juste après via un "exit 0;", ça
plante de la même façon.
Ça marche chez moi. C'est plutôt un problème de configuration apache,
tu es bien en mode CGI (PAS mod_perl?)?
Par ailleurs, ajoute "use strict; use warnings;" ça rajoutera des
informations.
--
Writing about music is like dancing about architecture.
Frank Zappa
Le Wed, 05 Apr 2006 18:16:49 +0200, Asterbing a écrit :
Il semble que le problème survienne dès la ligne "my $pid = fork();" puisque lorsque j'arrête le script juste après via un "exit 0;", ça plante de la même façon.
Ça marche chez moi. C'est plutôt un problème de configuration apache, tu es bien en mode CGI (PAS mod_perl?)?
Par ailleurs, ajoute "use strict; use warnings;" ça rajoutera des informations.
-- Writing about music is like dancing about architecture. Frank Zappa
Asterbing
In article , says...
tu es bien en mode CGI (PAS mod_perl?)?
J'ai testé sur une machine toute neuve sur laquelle j'ai installé Apache2, puis juste ajouté un serveur virtuel avec la directive ScriptAlias pour /cgi-bin/ vers le path ad hoc sur disque. Rien de plus.
Sinon, le crash est une exception qui se produit dans PERL58.DLL, je n'en sais pas plus.
Par ailleurs, ajoute "use strict; use warnings;" ça rajoutera des informations.
Oui, je les met systématiquement mais c'était pour réduire le script au max. Sinon, en l'état des lieus, avec script ci-après, j'ai toujours crash perl.exe et la sortie navigateur avant le fork se fait bien. Pas d'erreur explicite.
#!/usr/bin/perl -T use strict; use warnings; use CGI::Carp qw/fatalsToBrowser/; print "Content-type: text/htmlnn"; print "avant fork ok<br>"; my $pid = fork(); die "fork: $!n" unless defined $pid; if (!$pid){ print "fils ok<br>"; exit 0;} print "perroquet<br>"; exit 0;
In article <pan.2006.04.05.20.36.39.254986@imaginet.fr>,
eflorac@imaginet.fr says...
tu es bien en mode CGI (PAS mod_perl?)?
J'ai testé sur une machine toute neuve sur laquelle j'ai installé
Apache2, puis juste ajouté un serveur virtuel avec la directive
ScriptAlias pour /cgi-bin/ vers le path ad hoc sur disque. Rien de plus.
Sinon, le crash est une exception qui se produit dans PERL58.DLL, je
n'en sais pas plus.
Par ailleurs, ajoute "use strict; use warnings;" ça rajoutera des
informations.
Oui, je les met systématiquement mais c'était pour réduire le script au
max. Sinon, en l'état des lieus, avec script ci-après, j'ai toujours
crash perl.exe et la sortie navigateur avant le fork se fait bien. Pas
d'erreur explicite.
#!/usr/bin/perl -T
use strict;
use warnings;
use CGI::Carp qw/fatalsToBrowser/;
print "Content-type: text/htmlnn";
print "avant fork ok<br>";
my $pid = fork();
die "fork: $!n" unless defined $pid;
if (!$pid){
print "fils ok<br>";
exit 0;}
print "perroquet<br>";
exit 0;
J'ai testé sur une machine toute neuve sur laquelle j'ai installé Apache2, puis juste ajouté un serveur virtuel avec la directive ScriptAlias pour /cgi-bin/ vers le path ad hoc sur disque. Rien de plus.
Sinon, le crash est une exception qui se produit dans PERL58.DLL, je n'en sais pas plus.
Par ailleurs, ajoute "use strict; use warnings;" ça rajoutera des informations.
Oui, je les met systématiquement mais c'était pour réduire le script au max. Sinon, en l'état des lieus, avec script ci-après, j'ai toujours crash perl.exe et la sortie navigateur avant le fork se fait bien. Pas d'erreur explicite.
#!/usr/bin/perl -T use strict; use warnings; use CGI::Carp qw/fatalsToBrowser/; print "Content-type: text/htmlnn"; print "avant fork ok<br>"; my $pid = fork(); die "fork: $!n" unless defined $pid; if (!$pid){ print "fils ok<br>"; exit 0;} print "perroquet<br>"; exit 0;
Asterbing
In article , says...
#!/usr/bin/perl -T use strict; use warnings; use CGI::Carp qw/fatalsToBrowser/; print "Content-type: text/htmlnn"; print "avant fork ok<br>"; my $pid = fork(); die "fork: $!n" unless defined $pid; if (!$pid){ print "fils ok<br>"; exit 0;} print "perroquet<br>"; exit 0;
Bonne nouvelle : il s'agissait certainement d'un bug ActiveState ActivePerl 5.8.7.815 for Win32, parce qu'en mettant à jour vers ActiveState ActivePerl 5.8.7.817, tout est ok ! Juste testé avec le script ci-dessus (pas encore dans les scripts réels qui utilisent fork en mode taint), mais pas de raison que ce soit différent :-)
In article <MPG.1ea0eb61d22a9dd59897db@news.tiscali.fr>, no@thanks.com
says...
#!/usr/bin/perl -T
use strict;
use warnings;
use CGI::Carp qw/fatalsToBrowser/;
print "Content-type: text/htmlnn";
print "avant fork ok<br>";
my $pid = fork();
die "fork: $!n" unless defined $pid;
if (!$pid){
print "fils ok<br>";
exit 0;}
print "perroquet<br>";
exit 0;
Bonne nouvelle : il s'agissait certainement d'un bug ActiveState
ActivePerl 5.8.7.815 for Win32, parce qu'en mettant à jour vers
ActiveState ActivePerl 5.8.7.817, tout est ok ! Juste testé avec le
script ci-dessus (pas encore dans les scripts réels qui utilisent fork
en mode taint), mais pas de raison que ce soit différent :-)
#!/usr/bin/perl -T use strict; use warnings; use CGI::Carp qw/fatalsToBrowser/; print "Content-type: text/htmlnn"; print "avant fork ok<br>"; my $pid = fork(); die "fork: $!n" unless defined $pid; if (!$pid){ print "fils ok<br>"; exit 0;} print "perroquet<br>"; exit 0;
Bonne nouvelle : il s'agissait certainement d'un bug ActiveState ActivePerl 5.8.7.815 for Win32, parce qu'en mettant à jour vers ActiveState ActivePerl 5.8.7.817, tout est ok ! Juste testé avec le script ci-dessus (pas encore dans les scripts réels qui utilisent fork en mode taint), mais pas de raison que ce soit différent :-)