You are here: Foswiki>Tasks Web>Item12976 (30 Jul 2014, GeorgeClark)Edit Attach

Item12976: Configure in trunk will not run at all with -T in shebang

pencil
Priority: Urgent
Current State: Duplicate
Released In: n/a
Target Release: major
Applies To: Engine
Component: configure
Branches:
Reported By: KennethLavrsen
Waiting For:
Last Change By: GeorgeClark
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
 

ItemTemplate edit

Summary Configure in trunk will not run at all with -T in shebang
ReportedBy KennethLavrsen
Codebase trunk
SVN Range
AppliesTo Engine
Component configure
Priority Urgent
CurrentState Duplicate
WaitingFor
Checkins
TargetRelease major
ReleasedIn n/a
CheckinsOnBranches
trunkCheckins
Release01x01Checkins
Topic revision: r6 - 30 Jul 2014, GeorgeClark
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy