Priority: Urgent
Current State: Duplicate
Released In: n/a
Target Release: major
Applies To: Engine
Component: configure
Branches:
For the first time in more than a year I am trying to setup a development environment for Foswiki to be used for Extension updates
I have a trunk checkout. I checked out the lot!
I have run pseudo-install -A developer
I have configured the webserver
chmod'ed the tree so Apache owns it
All the usual stuff
But configure will not run. It starts and hangs forever. I also tried to run it from command line. Same thing. Script hangs.
There is nothing in the Apache log or the Foswiki logs. Silence. Until the webserver times out and kills the hanging script.
I tried many things. The cure was to remove the darn -T from the configure shebang line because I have seen this -T cause trouble for me before.
I don't know how to debug this. I cannot run the script at all with -T in a way that it tells me what is going on.
Without the -T in configure I can run configure and get trunk to actually run.
--
KennethLavrsen - 29 Jul 2014
Any chance this is a duplicate of
Item12887. That seems to be a regex issue with perl 5.8.8. I didn't see if taint mode was involved. I'll try to recreate it when I get a chance.
--
GeorgeClark - 29 Jul 2014
I will report the exact Perl version when I am at work. It is the current Centos distro on a machine I built only a few months ago.
I can try and put an iterator or debug wrote into the loop that you suspect
--
KennethLavrsen - 29 Jul 2014
I confirmed it here Kenneth. I switched over to my 5.8.8 perlbrew, and removing -T fixes the loop; in
/lib/Foswiki/Configure/TemplateParser/SimpleFreeMarker.pm
. I tried replacing the
[[:space:]]
matches with a simple \s, but it had no impact. So it does appear to be the same issue reported in
Item12887. Good find on the Taint connection.
--
GeorgeClark - 30 Jul 2014
My perl is v5.10.1 so it is not a problem linked to a special 5.8.8
More likely to some locale issue in another yet not known Perl dependency.
--
KennethLavrsen - 30 Jul 2014
I've got a 5.10.1. perlbrew setup as well. It's the same loop:
Foswiki::Configure::TemplateParser::SimpleFreeMarker::parse(/var/www/foswiki/trunk/core/lib/Foswiki/Configure/TemplateParser/SimpleFreeMarker.pm:62):
62: if ( defined($1) ) {
DB<2> s
Foswiki::Configure::TemplateParser::SimpleFreeMarker::parse(/var/www/foswiki/trunk/core/lib/Foswiki/Configure/TemplateParser/SimpleFreeMarker.pm:65):
65: my ( $op, $expr ) = ( $1, $2 );
DB<2> s
Foswiki::Configure::TemplateParser::SimpleFreeMarker::parse(/var/www/foswiki/trunk/core/lib/Foswiki/Configure/TemplateParser/SimpleFreeMarker.pm:68):
68: push @open_blocks, [ $op, $expr, $-[0], $+[0] ];
DB<2> s
Foswiki::Configure::TemplateParser::SimpleFreeMarker::parse(/var/www/foswiki/trunk/core/lib/Foswiki/Configure/TemplateParser/SimpleFreeMarker.pm:62):
62: if ( defined($1) ) {
DB<2> s
Foswiki::Configure::TemplateParser::SimpleFreeMarker::parse(/var/www/foswiki/trunk/core/lib/Foswiki/Configure/TemplateParser/SimpleFreeMarker.pm:65):
65: my ( $op, $expr ) = ( $1, $2 );
DB<2> s
Foswiki::Configure::TemplateParser::SimpleFreeMarker::parse(/var/www/foswiki/trunk/core/lib/Foswiki/Configure/TemplateParser/SimpleFreeMarker.pm:68):
68: push @open_blocks, [ $op, $expr, $-[0], $+[0] ];
The While loop across all matches in a regex "gets stuck" returning the same match.
I think it would be reasonable to fix this by eliminating Taint checking in configure.
--
GeorgeClark - 30 Jul 2014
Marking this a dup. of
Item12887
--
GeorgeClark - 30 Jul 2014