You are here: Foswiki>Tasks Web>Item12887 (18 Sep 2014, GeorgeClark)Edit Attach

Item12887: Configure loops on some versions of perl

pencil
Priority: Urgent
Current State: No Action Required
Released In: 1.2.0
Target Release: minor
Applies To: Engine
Component: Configure
Branches:
Reported By: GeorgeClark
Waiting For:
Last Change By: GeorgeClark
The issue appears to have been created in distro:2b58221be313.

The perl debugger narrowed the code down to a while loop in lib/Foswiki/Configure/TemplateParser/SimpleFreeMarker.pm Perlbrew 5.8.8, configure loops. It appears as though the while loop here:

    while (
        $_[1] =~ m{
      (?:
...
    }gx
      )
    {
        if ( defined($1) ) {

loops forever because the position within the regex never advances. Debugger shows the same line pushed over and over into an array until the server runs out of memory.

It appears to be specific to 5.8.8 built with perlbrew.

-- GeorgeClark - 05 May 2014

See Item12976. This appears to be the same loop. Running with Taint mode disabled also prevents the loop.

-- GeorgeClark - 30 Jul 2014

Also loops with perl 5.10.1. It seems reasonable to remove taint checking from configure.

-- GeorgeClark - 30 Jul 2014

Closing this as no action. Crawford's rewritten configure no longer uses the SimpleFreeMarker template engine.

-- GeorgeClark - 18 Sep 2014
 

ItemTemplate edit

Summary Configure loops on some versions of perl
ReportedBy GeorgeClark
Codebase trunk
SVN Range
AppliesTo Engine
Component Configure
Priority Urgent
CurrentState No Action Required
WaitingFor
Checkins
TargetRelease minor
ReleasedIn 1.2.0
CheckinsOnBranches
trunkCheckins
masterCheckins
ItemBranchCheckins
Release01x01Checkins
Topic revision: r6 - 18 Sep 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