This question about Installation of Foswiki: More info required

Undefined subroutine &Foswiki::Response

Software error:

Undefined subroutine &Foswiki::Response called at C:/foswiki/wwwroot/lib/Foswiki/Engine.pm line 116.
 at C:/foswiki/wwwroot/lib/Foswiki/Engine.pm line 116.
   Foswiki::Engine::prepare(Foswiki::Engine::CGI=HASH(0x2519e10)) called at C:/foswiki/wwwroot/lib/Foswiki/Engine/CGI.pm line 77
   Foswiki::Engine::CGI::run(Foswiki::Engine::CGI=HASH(0x2519e10)) called at C:\foswiki\wwwroot\bin\configure.pl line 29

Any ideas how to solve the problem?


We need a bit more context.

What web server? (Apache?) and is this a new Foswiki install, or one that is/was working? Is everything failing with this error, or just one particular URL?

If it's a new install, (or everything is working except configure), Foswiki 2.1.3 has an architectural error that prevents installation on Windows. There is a filename that is "reserved" on windows. This is fixed in 2.1.6, which we released yesterday. (It was actually fixed in 2.1.5, but there is a security issue with 2.1.5 and older)

So my suggestion is to:
  • If there is any chance that pieces of 2.1.3 were installed, please install 2.1.6. It may indeed be caused by the badly named AUX filename. Configure uses it.
  • If after that it's still failing in the same place, we need more information.

That particular line (116 in Engine.pm) is in an error handler, trying to report a prior failure, which is masked by this error. You might need to make a code change to try to figure out what's going on. Try the following patch. It should dump a different error message:

    catch Foswiki::EngineException with {
        my $e   = shift;
        require Data::Dumper;                        <== add these two lines
        print STDERR Data::Dumper::Dumper( \$e );    <===  ...  (but without these <== comments)
        my $res = $e->{response};
        unless ( defined $res ) {
            $res = new Foswiki::Response();                                  <==  This is the original line 116
            $res->header( -type => 'text/html', -status => $e->{status} );
            my $html = CGI::start_html( $e->{status} . ' Bad Request' );
            $html .= CGI::h1( {}, 'Bad Request' );
            $html .= CGI::p( {}, $e->{reason} );
            $html .= CGI::end_html();
            $res->print($html);
        }

-- Main.GeorgeClark - 03 Mar 2018 - 16:01

 

QuestionForm edit

Subject Installation of Foswiki
Extension
Version Foswiki 2.1.2
Status More info required
Related Topics
Topic revision: r3 - 03 Mar 2018, GeorgeClark - This page was cached on 13 Dec 2018 - 09:57.

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