Skip Menu |

This queue is for tickets about the SVN-Web CPAN distribution.

Report information
The Basics
Id: 20170
Status: resolved
Priority: 0/
Queue: SVN-Web

People
Owner: Nobody in particular
Requestors: fiajro [...] cy.ath.cx
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: (no value)
Fixed in: (no value)



Subject: 500 internal server - (can't find script in %1)
Setting up Apache 1.3 for mod_perl as per http://search.cpan.org/~nikc/SVN-Web/lib/SVN/Web.pm It would display a repository ok. But I get an "[error] (can't find script in %1)" in my apache error log everytime i click on a repo. In the browser, I get a internal server error 500. [Wed Jun 28 01:22:55 2006] [error] (can't find script in %1) [Wed Jun 28 01:23:14 2006] [error] (can't find script in %1) [Wed Jun 28 01:23:29 2006] [error] (can't find script in %1) [Wed Jun 28 01:24:55 2006] [error] (can't find script in %1) [Wed Jun 28 01:25:07 2006] [error] (can't find script in %1) [Wed Jun 28 01:25:10 2006] [error] (can't find script in %1) The following is the only thing I changed in the entire setup. If I changed the PerlHandler from SVN::Web to Apache::Registry, the 500 internal server goes away and the scripts works wonderfully. here my apache 1.3.x conf portion: <Directory /var/www/svnweb> #PerlHandler SVN::Web PerlHandler Apache::Registry SetHandler perl-script Options +ExecCGI </Directory> <Directory /var/www/svnweb/css> SetHandler default-handler </Directory> System Info: SVN::Web 0.47 Kernel 2.6.15-25-k7 (ubuntu dapper 6.06) Perl 5.8.7
Subject: config.yaml
# Actions, and the classes that implement them. actions: browse: class: SVN::Web::Browse checkout: class: SVN::Web::Checkout diff: class: SVN::Web::Diff list: class: SVN::Web::List log: class: SVN::Web::Log revision: class: SVN::Web::Revision rss: class: SVN::Web::RSS view: class: SVN::Web::View # Suggested minimum filters to run log messages through. Note that # it is not fatal if one of these filters is not installed. log_msg_filters: - name: standard filter: html - name: standard filter: html_line_break # If you have Template::Plugin::Clickable or # Template::Plugin::Clickable::Email installed then these are very # useful too. # # To use them, delete this comment block, remove the comments from the # start of the next lines, and make sure they follow on immediately # from the last non-blank line above. # - name: Clickable # filter: clickable # - name: Clickable::Email # filter: filter # set your repository path below: # #repos: # test: '/tmp/svnweb-test' # test2: '/tmp/svnweb-test2' repos: repo1: '/svn' # # or a parent path contains repositories # #reposparent: '/path/to/repositories' # # if you set a parent you can block specific repositories # like this: # #block: # - 'blocked1' # - 'blocked2' #
From: fiajro [...] cy.ath.cx
I just wanted to add that while it runs fine with the Apache::Registry handler, there are segmentation fault errors recorded in the error.log. [Wed Jun 28 10:03:09 2006] [notice] child pid 13035 exit signal Segmentation fault (11) [Wed Jun 28 10:03:29 2006] [notice] child pid 13036 exit signal Segmentation fault (11) [Wed Jun 28 10:03:29 2006] [notice] child pid 13040 exit signal Segmentation fault (11) [Wed Jun 28 10:04:01 2006] [notice] child pid 13039 exit signal Segmentation fault (11) [Wed Jun 28 10:04:01 2006] [notice] child pid 13052 exit signal Segmentation fault (11) [Wed Jun 28 10:04:01 2006] [notice] child pid 13055 exit signal Segmentation fault (11) On Wed Jun 28 16:17:00 2006, guest wrote: Show quoted text
> Setting up Apache 1.3 for mod_perl as per > http://search.cpan.org/~nikc/SVN-Web/lib/SVN/Web.pm > > It would display a repository ok. But I get an "[error] (can't find > script in %1)" in my apache error log everytime i click on a repo. In > the browser, I get a internal server error 500. > > [Wed Jun 28 01:22:55 2006] [error] (can't find script in %1) > [Wed Jun 28 01:23:14 2006] [error] (can't find script in %1) > [Wed Jun 28 01:23:29 2006] [error] (can't find script in %1) > [Wed Jun 28 01:24:55 2006] [error] (can't find script in %1) > [Wed Jun 28 01:25:07 2006] [error] (can't find script in %1) > [Wed Jun 28 01:25:10 2006] [error] (can't find script in %1) > > The following is the only thing I changed in the entire setup. If I > changed the PerlHandler from SVN::Web to Apache::Registry, the 500 > internal server goes away and the scripts works wonderfully. > > here my apache 1.3.x conf portion: > <Directory /var/www/svnweb> > #PerlHandler SVN::Web > PerlHandler Apache::Registry > SetHandler perl-script > Options +ExecCGI > </Directory> > > <Directory /var/www/svnweb/css> > SetHandler default-handler > </Directory> > > System Info: > SVN::Web 0.47 > Kernel 2.6.15-25-k7 (ubuntu dapper 6.06) > Perl 5.8.7
On Wed Jun 28 16:17:00 2006, guest wrote: Show quoted text
> Setting up Apache 1.3 for mod_perl as per > http://search.cpan.org/~nikc/SVN-Web/lib/SVN/Web.pm > > It would display a repository ok. But I get an "[error] (can't find > script in %1)" in my apache error log everytime i click on a repo. In > the browser, I get a internal server error 500. > > [Wed Jun 28 01:22:55 2006] [error] (can't find script in %1) > [Wed Jun 28 01:23:14 2006] [error] (can't find script in %1) > [Wed Jun 28 01:23:29 2006] [error] (can't find script in %1) > [Wed Jun 28 01:24:55 2006] [error] (can't find script in %1) > [Wed Jun 28 01:25:07 2006] [error] (can't find script in %1) > [Wed Jun 28 01:25:10 2006] [error] (can't find script in %1) > > The following is the only thing I changed in the entire setup. If I > changed the PerlHandler from SVN::Web to Apache::Registry, the 500 > internal server goes away and the scripts works wonderfully. > > here my apache 1.3.x conf portion: > <Directory /var/www/svnweb> > #PerlHandler SVN::Web > PerlHandler Apache::Registry > SetHandler perl-script > Options +ExecCGI > </Directory> > > <Directory /var/www/svnweb/css> > SetHandler default-handler > </Directory> > > System Info: > SVN::Web 0.47 > Kernel 2.6.15-25-k7 (ubuntu dapper 6.06) > Perl 5.8.7
Do you have an "Alias" directive in your Apache configuration that maps /var/www/svnweb to a URL? If so, what is it? What's the URL on your server that causes the problem? Do you still have the problem with (very recently released) 0.48. I made some changes to this area of the code, which may fix things for you. N
From: fiajro [...] cy.ath.cx
My www root already is /var/www so I don't believe it is not necessary to map another alias to svnweb when it is already accessible and executable @ http://server/svnweb/ via the Directory directive. But if it will help, I'll add an scripalias to it. Definitely will try 0.48 tomorrow. BTW, running 0.47 in CGI mode works flawlessly with no errors logged. Thank you for your quick reply! On Thu Jun 29 01:59:53 2006, NIKC wrote: Show quoted text
> On Wed Jun 28 16:17:00 2006, guest wrote:
> > Setting up Apache 1.3 for mod_perl as per > > http://search.cpan.org/~nikc/SVN-Web/lib/SVN/Web.pm > > > > It would display a repository ok. But I get an "[error] (can't find > > script in %1)" in my apache error log everytime i click on a repo. In > > the browser, I get a internal server error 500. > > > > [Wed Jun 28 01:22:55 2006] [error] (can't find script in %1) > > [Wed Jun 28 01:23:14 2006] [error] (can't find script in %1) > > [Wed Jun 28 01:23:29 2006] [error] (can't find script in %1) > > [Wed Jun 28 01:24:55 2006] [error] (can't find script in %1) > > [Wed Jun 28 01:25:07 2006] [error] (can't find script in %1) > > [Wed Jun 28 01:25:10 2006] [error] (can't find script in %1) > > > > The following is the only thing I changed in the entire setup. If I > > changed the PerlHandler from SVN::Web to Apache::Registry, the 500 > > internal server goes away and the scripts works wonderfully. > > > > here my apache 1.3.x conf portion: > > <Directory /var/www/svnweb> > > #PerlHandler SVN::Web > > PerlHandler Apache::Registry > > SetHandler perl-script > > Options +ExecCGI > > </Directory> > > > > <Directory /var/www/svnweb/css> > > SetHandler default-handler > > </Directory> > > > > System Info: > > SVN::Web 0.47 > > Kernel 2.6.15-25-k7 (ubuntu dapper 6.06) > > Perl 5.8.7
> > Do you have an "Alias" directive in your Apache configuration that maps > /var/www/svnweb to a URL? If so, what is it? > > What's the URL on your server that causes the problem? > > Do you still have the problem with (very recently released) 0.48. I > made some changes to this area of the code, which may fix things for you. > > N
Subject: Re: [rt.cpan.org #20170] 500 internal server - (can't find script in %1)
Date: Thu, 29 Jun 2006 07:38:03 +0100
To: bug-SVN-Web [...] rt.cpan.org
From: Nik Clayton <nik [...] ngo.org.uk>
Guest via RT wrote: Show quoted text
> Queue: SVN-Web > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=20170 > > > I just wanted to add that while it runs fine with the Apache::Registry > handler, there are segmentation fault errors recorded in the error.log. > > [Wed Jun 28 10:03:09 2006] [notice] child pid 13035 exit signal > Segmentation fault (11) > [Wed Jun 28 10:03:29 2006] [notice] child pid 13036 exit signal > Segmentation fault (11) > [Wed Jun 28 10:03:29 2006] [notice] child pid 13040 exit signal > Segmentation fault (11) > [Wed Jun 28 10:04:01 2006] [notice] child pid 13039 exit signal > Segmentation fault (11) > [Wed Jun 28 10:04:01 2006] [notice] child pid 13052 exit signal > Segmentation fault (11) > [Wed Jun 28 10:04:01 2006] [notice] child pid 13055 exit signal > Segmentation fault (11)
That is (probably) the fault of SVN::Core. It can core dump if it's not shutdown properly, and I expect Apache::Registry is tickling that bug. You can reproduce this on the command line. perl -c -MSVN::Core -e 1 will dump core. N
From: fiajro [...] cy.ath.cx
On Thu Jun 29 16:13:01 2006, nik@ngo.org.uk wrote: Show quoted text
> Guest via RT wrote:
> > Queue: SVN-Web > > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=20170 > > > > > I just wanted to add that while it runs fine with the Apache::Registry > > handler, there are segmentation fault errors recorded in the error.log. > > > > [Wed Jun 28 10:03:09 2006] [notice] child pid 13035 exit signal > > Segmentation fault (11) > > [Wed Jun 28 10:03:29 2006] [notice] child pid 13036 exit signal > > Segmentation fault (11) > > [Wed Jun 28 10:03:29 2006] [notice] child pid 13040 exit signal > > Segmentation fault (11) > > [Wed Jun 28 10:04:01 2006] [notice] child pid 13039 exit signal > > Segmentation fault (11) > > [Wed Jun 28 10:04:01 2006] [notice] child pid 13052 exit signal > > Segmentation fault (11) > > [Wed Jun 28 10:04:01 2006] [notice] child pid 13055 exit signal > > Segmentation fault (11)
> > That is (probably) the fault of SVN::Core. It can core dump if it's not > shutdown properly, and I expect Apache::Registry is tickling that bug.
You Show quoted text
> can reproduce this on the command line. > > perl -c -MSVN::Core -e 1 > > will dump core. > > N >
You are correct. I get the following when running the above command line: Use of uninitialized value in string eq at /usr/lib/perl5/SVN/Core.pm line 410 during global destruction. Segmentation fault As for 0.48, there are a couple new perl module requirements. Installed those. BTW, the required modules only show up when I ran it the first time. Then got the following summary with make test: t/2basic.............dubious Test returned status 130 (wstat 33280, 0x8200) DIED. FAILED tests 8, 11, 14, 17, 20, 26, 29, 32, 38, 41, 44, 47, 50, 53, 56, 59, 62, 68, 71, 74, 84, 87, 90, 93, 96, 99, 102, 105, 108, 111, 114, 117, 120, 125, 128, 131, 134, 139, 142, 147, 150, 155, 158, 161, 164, 167, 170, 173, 176, 181, 184, 187, 190, 193, 198, 201, 204, 207, 212, 215, 220, 223, 228, 231, 236, 239, 242, 245, 248, 253, 256, 259, 262, 267, 270, 275, 278, 283, 286, 289, 292, 297, 300, 305, 308, 315, 318, 321, 324, 327, 330, 336, 339, 347, 350, 358, 361, 369, 372, 378, 381, 387, 390, 396, 399, 407, 410, 416, 419, 427, 430, 438, 441, 449, 452, 460, 463, 469, 472, 478, 481, 487, 490, 498, 501, 509, 512, 515, 518, 521 Failed 130/521 tests, 75.05% okay t/3svnweb-install....bin/svnweb-install syntax OK t/3svnweb-install....ok t/cache..............Created /tmp/TLZmS6pooU # First walk # Second walk, no caching t/cache..............ok 178/546# Third walk, priming cache t/cache..............ok 339/546# Fourth walk, using cache t/cache..............ok t/cgi................Created /tmp/X5W87yBkM6 [Thu Jun 29 17:14:16 2006] [alert] apache-ssl: Could not determine the server's fully qualified domain name, using 127.0.1.1 for ServerName Could not get 200 response from server on port 8080 # Looks like your test died before it could output anything. t/cgi................dubious Test returned status 255 (wstat 65280, 0xff00) t/mod_perl...........Created /tmp/OUm8uNcWM4 Syntax error on line 12 of /tmp/OUm8uNcWM4/httpd.conf: Cannot load /usr/local/libexec/apache/libperl.so into server: /usr/local/libexec/apache/libperl.so: cannot open shared object file: No such file or directory Could not get 200 response from server on port 8080 # Looks like your test died before it could output anything. t/mod_perl...........dubious Test returned status 255 (wstat 65280, 0xff00) t/svnweb-server......Created /tmp/IKSqGi0Imq t/svnweb-server......ok 1/0Use of uninitialized value in concatenation (.) or string at /usr/local/share/perl/5.8.7/HTTP/Cookies.pm line 260. t/svnweb-server......ok t/timedate_format....ok Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/2basic.t 130 33280 521 130 24.95% 8 11 14 17 20 26 29 32 38 41 44 47 50 53 56 59 62 68 71 74 84 87 90 93 96 99 102 105 108 111 114 117 120 125 128 131 134 139 142 147 150 155 158 161 164 167 170 173 176 181 184 187 190 193 198 201 204 207 212 215 220 223 228 231 236 239 242 245 248 253 256 259 262 267 270 275 278 283 286 289 292 297 300 305 308 315 318 321 324 327 330 336 339 347 350 358 361 369 372 378 381 387 390 396 399 407 410 416 419 427 430 438 441 449 452 460 463 469 472 478 481 487 490 498 501 509 512 515 518 521 t/cgi.t 255 65280 ?? ?? % ?? t/mod_perl.t 255 65280 ?? ?? % ?? Failed 3/8 test scripts, 62.50% okay. 130/1273 subtests failed, 89.79% okay. make: *** [test] Error 255 Before t/2basic, the test script was printing out massive amount of html code. So I left it out. The test script was looking for the modules at the wrong directory. So I did a quick sym dir link. But my mod_perl shared obj is called mod_perl.so so it couldn't find it. So I gave up and went straight to my own testing. And you know what, it is running along smoothly with SVN::Web now. No more 500 or can't find script errors or segmentation faults. Yay!!
Subject: Re: [rt.cpan.org #20170] 500 internal server - (can't find script in %1)
Date: Fri, 30 Jun 2006 09:16:26 +0100
To: bug-SVN-Web [...] rt.cpan.org
From: Nik Clayton <nik [...] ngo.org.uk>
Guest via RT wrote: Show quoted text
> As for 0.48, there are a couple new perl module requirements. Installed > those. BTW, the required modules only show up when I ran it the first > time. Then got the following summary with make test:
Right. I'd like your help to solve these if possible. Show quoted text
> t/2basic.............dubious > > Test returned status 130 (wstat 33280, 0x8200) > DIED. FAILED tests 8, 11, 14, 17, 20, 26, 29, 32, 38, 41, 44, 47, 50, > 53, 56, 59, 62, 68, 71, 74, 84, 87, 90, 93, 96, 99, 102, 105, 108, 111, > 114, 117, 120, 125, 128, 131, 134, 139, 142, 147, 150, 155, 158, 161, > 164, 167, 170, 173, 176, 181, 184, 187, 190, 193, 198, 201, 204, 207, > 212, 215, 220, 223, 228, 231, 236, 239, 242, 245, 248, 253, 256, 259, > 262, 267, 270, 275, 278, 283, 286, 289, 292, 297, 300, 305, 308, 315, > 318, 321, 324, 327, 330, 336, 339, 347, 350, 358, 361, 369, 372, 378, > 381, 387, 390, 396, 399, 407, 410, 416, 419, 427, 430, 438, 441, 449, > 452, 460, 463, 469, 472, 478, 481, 487, 490, 498, 501, 509, 512, 515, > 518, 521 > Failed 130/521 tests, 75.05% okay
Have you Test::HTMl::Tidy installed? That's one of the tests, and when I rebuilt my release box recently I forgot to install it. Consequently, SVN::Web 0.48 generates slightly invalid HTML. It's the "align='absmiddle'" attribute on the RSS feed icon image, so it's nothing serious, but that will cause those failures. The quick fix is to edit t/2basic.t and edit the my $can_tidy = ... line to just my $can_tidy = 0; and re-run the test. Show quoted text
> t/cgi................Created /tmp/X5W87yBkM6 > [Thu Jun 29 17:14:16 2006] [alert] apache-ssl: Could not determine the > server's fully qualified domain name, using 127.0.1.1 for ServerName > Could not get 200 response from server on port 8080 > # Looks like your test died before it could output anything. > t/cgi................dubious > > Test returned status 255 (wstat 65280, 0xff00) > t/mod_perl...........Created /tmp/OUm8uNcWM4 > Syntax error on line 12 of /tmp/OUm8uNcWM4/httpd.conf: > Cannot load /usr/local/libexec/apache/libperl.so into server: > /usr/local/libexec/apache/libperl.so: cannot open shared object file: No > such file or directory > Could not get 200 response from server on port 8080 > # Looks like your test died before it could output anything. > t/mod_perl...........dubious
OK. These I could definitely use some help with. If you look in conf/httpd.tt you'll see a skeleton Apache config file with some Template::Toolkit directives. This is then processed by SVN::Web::Test to generate the config file that's used by cgi.t and mod_perl.t. It looks like this file isn't quite generic enough. Can you edit t/httpd.tt and a) Add a directive ServerName 127.0.0.1 b) Change the paths in the LoadModule lines to be correct for your configuration, and let me know what you changed them to. It looks like I'll have to add a "perl Build.PL" question that asks the user what the correct path is (although I might be able to use the output of "apxs -q LIBEXECDIR"). After you've made those changes you should be able to run prove -vb t/cgi.t prove -vb t/mod_perl.t and have them work with no errors. Show quoted text
> t/svnweb-server......Created /tmp/IKSqGi0Imq > t/svnweb-server......ok 1/0Use of uninitialized value in concatenation > (.) or string at /usr/local/share/perl/5.8.7/HTTP/Cookies.pm line 260. > t/svnweb-server......ok
Hmm, that's odd. Show quoted text
> Before t/2basic, the test script was printing out massive amount of html > code. So I left it out. The test script was looking for the modules at > the wrong directory. So I did a quick sym dir link. But my mod_perl > shared obj is called mod_perl.so so it couldn't find it. So I gave up > and went straight to my own testing.
Ah, that's another question I'll need to ask then -- the FreeBSD ports tree installs it as libperl.so. If you make the changes I suggested to t/httpd.tt the tests should run correctly. Show quoted text
> And you know what, it is running along smoothly with SVN::Web now. No > more 500 or can't find script errors or segmentation faults. Yay!!
Excellent. N
From: fiajro [...] cy.ath.cx
Sure, I'm glad I could help. On ubuntu dapper 6.06, the apache 1.3 objs are located in: /usr/lib/apache/1.3/ I did what you suggested and here are the make test results (looks much better ;): /usr/bin/perl Build --makefile_env_macros 1 test Copying additional files t/1use...............ok t/2basic.............Created /tmp/DaWOMcDnrP t/2basic.............ok 1/0# Recursively checking all links t/2basic.............ok t/3svnweb-install....bin/svnweb-install syntax OK t/3svnweb-install....ok t/cache..............Created /tmp/1YL09JBpV1 # First walk # Second walk, no caching t/cache..............ok 166/546# Third walk, priming cache t/cache..............ok 356/546# Fourth walk, using cache t/cache..............ok t/cgi................Created /tmp/G1PkOBY67f Could not get 200 response from server on port 8080 # Looks like your test died before it could output anything. t/cgi................dubious Test returned status 255 (wstat 65280, 0xff00) t/mod_perl...........Created /tmp/1pdUUZYake Could not get 200 response from server on port 8080 # Looks like your test died before it could output anything. t/mod_perl...........dubious Test returned status 255 (wstat 65280, 0xff00) t/svnweb-server......Created /tmp/K9Fan1yyOJ t/svnweb-server......ok 156/0Use of uninitialized value in concatenation (.) or string at /usr/local/share/perl/5.8.7/HTTP/Cookies.pm line 260. t/svnweb-server......ok t/timedate_format....ok Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/cgi.t 255 65280 ?? ?? % ?? t/mod_perl.t 255 65280 ?? ?? % ?? Failed 2/8 test scripts, 75.00% okay. 0/1143 subtests failed, 100.00% okay. make: *** [test] Error 255 About the Cookies.pm, I have HTTP::Cookies(1.39) installed. When I do a "prove -vb ./t/mod_perl.t", I get: ./t/mod_perl....Created /tmp/erMkeWz9ZU SVN::Web now installed! please see config.yaml Could not get 200 response from server on port 8080 # Looks like your test died before it could output anything. dubious Test returned status 255 (wstat 65280, 0xff00) FAILED--1 test script could be run, alas--no output ever seen Looks like all the modules loaded this time, but no server responses. Weird. I'll look into this more tomorrow. On Fri Jun 30 04:17:43 2006, nik@ngo.org.uk wrote: Show quoted text
> Guest via RT wrote:
> > As for 0.48, there are a couple new perl module requirements. Installed > > those. BTW, the required modules only show up when I ran it the first > > time. Then got the following summary with make test:
> > Right. I'd like your help to solve these if possible. >
> > t/2basic.............dubious > > > > Test returned status 130 (wstat 33280, 0x8200) > > DIED. FAILED tests 8, 11, 14, 17, 20, 26, 29, 32, 38, 41, 44, 47, 50, > > 53, 56, 59, 62, 68, 71, 74, 84, 87, 90, 93, 96, 99, 102, 105, 108, 111, > > 114, 117, 120, 125, 128, 131, 134, 139, 142, 147, 150, 155, 158, 161, > > 164, 167, 170, 173, 176, 181, 184, 187, 190, 193, 198, 201, 204, 207, > > 212, 215, 220, 223, 228, 231, 236, 239, 242, 245, 248, 253, 256, 259, > > 262, 267, 270, 275, 278, 283, 286, 289, 292, 297, 300, 305, 308, 315, > > 318, 321, 324, 327, 330, 336, 339, 347, 350, 358, 361, 369, 372, 378, > > 381, 387, 390, 396, 399, 407, 410, 416, 419, 427, 430, 438, 441, 449, > > 452, 460, 463, 469, 472, 478, 481, 487, 490, 498, 501, 509, 512, 515, > > 518, 521 > > Failed 130/521 tests, 75.05% okay
> > Have you Test::HTMl::Tidy installed? That's one of the tests, and when > I rebuilt my release box recently I forgot to install it. Consequently, > SVN::Web 0.48 generates slightly invalid HTML. It's the > "align='absmiddle'" attribute on the RSS feed icon image, so it's > nothing serious, but that will cause those failures. > > The quick fix is to edit t/2basic.t and edit the > > my $can_tidy = ... > > line to just > > my $can_tidy = 0; > > and re-run the test. >
> > t/cgi................Created /tmp/X5W87yBkM6 > > [Thu Jun 29 17:14:16 2006] [alert] apache-ssl: Could not determine the > > server's fully qualified domain name, using 127.0.1.1 for ServerName > > Could not get 200 response from server on port 8080 > > # Looks like your test died before it could output anything. > > t/cgi................dubious > > > > Test returned status 255 (wstat 65280, 0xff00) > > t/mod_perl...........Created /tmp/OUm8uNcWM4 > > Syntax error on line 12 of /tmp/OUm8uNcWM4/httpd.conf: > > Cannot load /usr/local/libexec/apache/libperl.so into server: > > /usr/local/libexec/apache/libperl.so: cannot open shared object file: No > > such file or directory > > Could not get 200 response from server on port 8080 > > # Looks like your test died before it could output anything. > > t/mod_perl...........dubious
> > OK. These I could definitely use some help with. > > If you look in conf/httpd.tt you'll see a skeleton Apache config file > with some Template::Toolkit directives. This is then processed by > SVN::Web::Test to generate the config file that's used by cgi.t and > mod_perl.t. > > It looks like this file isn't quite generic enough. > > Can you edit t/httpd.tt and > > a) Add a directive > > ServerName 127.0.0.1 > > b) Change the paths in the LoadModule lines to be correct for your > configuration, and let me know what you changed them to. It looks like > I'll have to add a "perl Build.PL" question that asks the user what the > correct path is (although I might be able to use the output of "apxs -q > LIBEXECDIR"). > > After you've made those changes you should be able to run > > prove -vb t/cgi.t > prove -vb t/mod_perl.t > > and have them work with no errors. >
> > t/svnweb-server......Created /tmp/IKSqGi0Imq > > t/svnweb-server......ok 1/0Use of uninitialized value in concatenation > > (.) or string at /usr/local/share/perl/5.8.7/HTTP/Cookies.pm line 260. > > t/svnweb-server......ok
> > Hmm, that's odd. >
> > Before t/2basic, the test script was printing out massive amount of html > > code. So I left it out. The test script was looking for the modules at > > the wrong directory. So I did a quick sym dir link. But my mod_perl > > shared obj is called mod_perl.so so it couldn't find it. So I gave up > > and went straight to my own testing.
> > Ah, that's another question I'll need to ask then -- the FreeBSD ports > tree installs it as libperl.so. > > If you make the changes I suggested to t/httpd.tt the tests should run > correctly. >
> > And you know what, it is running along smoothly with SVN::Web now. No > > more 500 or can't find script errors or segmentation faults. Yay!!
> > Excellent. > > N
Subject: Re: [rt.cpan.org #20170] 500 internal server - (can't find script in %1)
Date: Fri, 30 Jun 2006 14:04:54 +0100
To: bug-SVN-Web [...] rt.cpan.org
From: Nik Clayton <nik [...] ngo.org.uk>
Guest via RT wrote: Show quoted text
> Queue: SVN-Web > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=20170 > > > Sure, I'm glad I could help. > On ubuntu dapper 6.06, the apache 1.3 objs are located in: > /usr/lib/apache/1.3/ > > I did what you suggested and here are the make test results (looks much > better ;):
I think this is now fixed on trunk. Before I do a release I'd appreciate it if you could try it out. To get the code mkdir scratch cd scratch svn checkout -r 1009 svn://jc.ngo.org.uk/nik/CPAN/SVN-Web/trunk cd trunk perl Build.PL ./Build ./Build test The "perl Build.PL" will ask you a few new questions about the location of apxs and your mod_perl library. Everything should then proceed normally. N
From: fiajro [...] cy.ath.cx
Here are the results of the trunk build. I added "ServerName 127.0.0.1" to httpd.tt so it doesn't complain. The cgi and mod_perl tests still won't cooperate :( ~/Desktop/scratch/trunk$ sudo perl Build.PL Deleting _build Creating custom builder _build/lib/MyModuleBuilder.pm in _build/lib Welcome to SVN::Web. The installer will now ask you a few questions to make sure that the list of modules that SVN::Web requires is correct. SVN::Web can be used as a mod_perl handler. This is much more efficient than running it as a CGI script. If you would like to use mod_perl support Apache::Request must be installed. If you answer yes to this question Apache::Request will be added to the list of modules that SVN::Web requires. Answering "no" to this question does not stop you running SVN::Web under mod_perl at a later date, it just stops the installer from looking for the necessary Perl modules. ==> Will you be using mod_perl? [n] y The test suite includes tests to check that SVN::Web works correctly when installed under Apache. You do not have to run these tests, but if you intend to use SVN::Web with Apache then they may highlight issues that were not encountered in the author's development environment. ==> Do you want to run the Apache tests? [n] y ==> Please enter the full path to your Apache httpd binary [/usr/local/sbin/httpd] /usr/sbin/apache ==> Please enter the full pack to your apxs binary [/usr/sbin/apxs] /usr/bin/apxs SVN::Web can be run under Apache as a CGI script. ==> Do you want to test that SVN::Web works with Apache as a CGI script [y] y You have said you want to run SVN::Web under mod_perl. ==> Do you want to test mod_perl support? [y] y ==> Please enter the full path to your mod_perl library: [/usr/lib/apache/1.3/mod_perl.so] /usr/lib/apache/1.3/mod_perl.so SVN::Web includes a simple web server (called "svnweb-server") that uses the HTTP::Server::Simple module. Would you like to use this server? If so, HTTP::Server::Simple will be added to the list of modules that SVN::Web requires and tests will be run before installation to make sure that it is working correctly. ==> Do you want to test svnweb-server? [y] y The httpd server will be started listening on the loopback address (127.0.0.1). However, it must be bound to a network port that is not currently being used by another service. ==> Please enter a spare port [8080] 8888 SVN::Web can use plugins to turn e-mail addresses and URLs in Subversion commit messages in to clickable hyperlinks. ==> Do you want to install these plugins? [y] y Checking whether your kit is complete... Warning: the following files are missing in your kit: Makefile.PL META.yml SIGNATURE Please inform the author. Deleting Build Removed previous script 'Build' Creating new 'Build' script for 'SVN-Web' version '0.48' ~/Desktop/scratch/trunk$ sudo sh -c "./Build" Writing config notes to blib/lib/SVN/Web/ConfigData.pm Copying additional files Manifying blib/lib/SVN/Web/ConfigData.pm -> blib/libdoc/SVN::Web::ConfigData.3pm ~/Desktop/scratch/trunk$ sudo sh -c "./Build test" Copying additional files t/1use...............ok t/2basic.............Created /tmp/m80ALIONnV t/2basic.............ok 1/0# Recursively checking all links t/2basic.............ok t/3svnweb-install....bin/svnweb-install syntax OK t/3svnweb-install....ok t/cache..............Created /tmp/baxQ2DljOZ # First walk # Second walk, no caching t/cache..............ok 175/546# Third walk, priming cache t/cache..............ok 330/546# Fourth walk, using cache t/cache..............ok t/cgi................Created /tmp/9urWMZM3Bw Could not get 200 response from server on port 8888 # Looks like your test died before it could output anything. t/cgi................dubious Test returned status 255 (wstat 65280, 0xff00) t/mod_perl...........Created /tmp/18Vle0goVC Could not get 200 response from server on port 8888 # Looks like your test died before it could output anything. t/mod_perl...........dubious Test returned status 255 (wstat 65280, 0xff00) t/svnweb-server......Created /tmp/VdmbVRGDfF t/svnweb-server......ok 153/0Use of uninitialized value in concatenation (.) or string at /usr/local/share/perl/5.8.7/HTTP/Cookies.pm line 260. t/svnweb-server......ok t/timedate_format....ok Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/cgi.t 255 65280 ?? ?? % ?? t/mod_perl.t 255 65280 ?? ?? % ?? Failed 2/8 test scripts, 75.00% okay. 0/1273 subtests failed, 100.00% okay. On Fri Jun 30 09:05:28 2006, nik@ngo.org.uk wrote: Show quoted text
> Guest via RT wrote:
> > Queue: SVN-Web > > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=20170 > > > > > Sure, I'm glad I could help. > > On ubuntu dapper 6.06, the apache 1.3 objs are located in: > > /usr/lib/apache/1.3/ > > > > I did what you suggested and here are the make test results (looks much > > better ;):
> > I think this is now fixed on trunk. Before I do a release I'd > appreciate it if you could try it out. > > To get the code > > mkdir scratch > cd scratch > > svn checkout -r 1009 svn://jc.ngo.org.uk/nik/CPAN/SVN-Web/trunk > cd trunk > > perl Build.PL > ./Build > ./Build test > > The "perl Build.PL" will ask you a few new questions about the location > of apxs and your mod_perl library. Everything should then proceed
normally. Show quoted text
> > N
Subject: Re: [rt.cpan.org #20170] 500 internal server - (can't find script in %1)
Date: Fri, 30 Jun 2006 22:24:43 +0100
To: bug-SVN-Web [...] rt.cpan.org
From: Nik Clayton <nik [...] ngo.org.uk>
Guest via RT wrote: Show quoted text
> Here are the results of the trunk build. > I added "ServerName 127.0.0.1" to httpd.tt so it doesn't complain. > The cgi and mod_perl tests still won't cooperate :(
[...] Show quoted text
> t/cgi................Created /tmp/9urWMZM3Bw > Could not get 200 response from server on port 8888 > # Looks like your test died before it could output anything. > t/cgi................dubious > > Test returned status 255 (wstat 65280, 0xff00) > t/mod_perl...........Created /tmp/18Vle0goVC > Could not get 200 response from server on port 8888 > # Looks like your test died before it could output anything. > t/mod_perl...........dubious
Right. That means that there was nothing listening on port 8888. If you edit lib/SVN/Web/Test.pm, find create_install(), and edit the line: $self->{install_dir} = tempdir(CLEANUP => 1); Change the '1' to a '0'. Run "./Build.PL" then either run "./Build test", or, if you have prove(1) in your path run: prove -vb t/mod_perl.t and prove -vb t/cgi.t In the output, where it says "Created /tmp/...", take a look in those directories. That's where svnweb-install was run, and it's also where you'll find the generated httpd.conf and the Apache error log. Can you take a look at those and see if there's anything wrong? The error log in particular might contain some clues -- I should probably change the test so that it sends that to the screen if the server fails to start. You can also try starting Apache directly /path/to/httpd -f /tmp/<whatever>/httpd.conf -X and then try and visit localhost:$port in your browser, and see if the site came up. It may be the case that Apache takes a while to start up on your platform. If you look in lib/SVN/Web/Test.pm, in the start_server() function you'll see a foreach my $count (1..5) { line -- that's Test.pm giving the server 5 chances to start, with a second between them. You could try increasing that to 10 (and change the other nearby occurences of '5' too) to see if that makes a difference. Thanks for your help in tracking this down. N
From: fiajro [...] cy.ath.cx
I think it was the permissions. Somehow if I just ran the tests in normal user mode instead of sudo shell, the cgi and mod_perl tests actually run. ~/Desktop/scratch/trunk$ sudo sh -c "./Build test" lib/SVN/Web/Test.pm -> blib/lib/SVN/Web/Test.pm Writing config notes to blib/lib/SVN/Web/ConfigData.pm Copying additional files t/1use...............ok t/2basic.............Created /tmp/nVx74G1vNd # Recursively checking all links t/2basic.............ok t/3svnweb-install....bin/svnweb-install syntax OK t/3svnweb-install....ok t/cache..............Created /tmp/o3HOZYcM2a # First walk # Second walk, no caching t/cache..............ok 152/546# Third walk, priming cache t/cache..............ok 344/546# Fourth walk, using cache t/cache..............ok t/cgi................Created /tmp/Ee6sd8SIqe Could not get 200 response from server on port 8181 # Looks like your test died before it could output anything. t/cgi................dubious Test returned status 255 (wstat 65280, 0xff00) t/mod_perl...........Created /tmp/dgkBhubkgd Could not get 200 response from server on port 8181 # Looks like your test died before it could output anything. t/mod_perl...........dubious Test returned status 255 (wstat 65280, 0xff00) t/svnweb-server......Created /tmp/NYUNYQDTHk t/svnweb-server......ok 14/0Use of uninitialized value in concatenation (.) or string at /usr/local/share/perl/5.8.7/HTTP/Cookies.pm line 260. t/svnweb-server......ok t/timedate_format....ok Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/cgi.t 255 65280 ?? ?? % ?? t/mod_perl.t 255 65280 ?? ?? % ?? Failed 2/8 test scripts, 75.00% okay. 0/1273 subtests failed, 100.00% okay. ~/Desktop/scratch/trunk$ sudo sh -c "./Build clean" Deleting blib Deleting t/repos ~/Desktop/scratch/trunk$ ./Build test lib/SVN/Web.pm -> blib/lib/SVN/Web.pm lib/SVN/Web/Test.pm -> blib/lib/SVN/Web/Test.pm lib/SVN/Web/List.pm -> blib/lib/SVN/Web/List.pm lib/SVN/Web/Checkout.pm -> blib/lib/SVN/Web/Checkout.pm lib/SVN/Web/RSS.pm -> blib/lib/SVN/Web/RSS.pm lib/SVN/Web/View.pm -> blib/lib/SVN/Web/View.pm lib/SVN/Web/Log.pm -> blib/lib/SVN/Web/Log.pm lib/SVN/Web/X.pm -> blib/lib/SVN/Web/X.pm lib/SVN/Web/action.pm -> blib/lib/SVN/Web/action.pm lib/SVN/Web/Diff.pm -> blib/lib/SVN/Web/Diff.pm lib/SVN/Web/Browse.pm -> blib/lib/SVN/Web/Browse.pm lib/SVN/Web/Revision.pm -> blib/lib/SVN/Web/Revision.pm Writing config notes to blib/lib/SVN/Web/ConfigData.pm Copying additional files lib/SVN/Web/I18N/en.po -> blib/lib/SVN/Web/I18N/en.po lib/SVN/Web/I18N/fr.po -> blib/lib/SVN/Web/I18N/fr.po lib/SVN/Web/I18N/zh_cn.po -> blib/lib/SVN/Web/I18N/zh_cn.po lib/SVN/Web/I18N/zh_tw.po -> blib/lib/SVN/Web/I18N/zh_tw.po lib/SVN/Web/Style/common.css -> blib/lib/SVN/Web/Style/common.css lib/SVN/Web/Style/styles-hlb.css -> blib/lib/SVN/Web/Style/styles-hlb.css lib/SVN/Web/Style/trac/browser.css -> blib/lib/SVN/Web/Style/trac/browser.css lib/SVN/Web/Style/trac/changeset.css -> blib/lib/SVN/Web/Style/trac/changeset.css lib/SVN/Web/Style/trac/code.css -> blib/lib/SVN/Web/Style/trac/code.css lib/SVN/Web/Style/trac/diff.css -> blib/lib/SVN/Web/Style/trac/diff.css lib/SVN/Web/Style/trac/feed-icon-16x16.png -> blib/lib/SVN/Web/Style/trac/feed-icon-16x16.png lib/SVN/Web/Style/trac/file.png -> blib/lib/SVN/Web/Style/trac/file.png lib/SVN/Web/Style/trac/filedeny.png -> blib/lib/SVN/Web/Style/trac/filedeny.png lib/SVN/Web/Style/trac/folder.png -> blib/lib/SVN/Web/Style/trac/folder.png lib/SVN/Web/Style/trac/folderdeny.png -> blib/lib/SVN/Web/Style/trac/folderdeny.png lib/SVN/Web/Style/trac/parent.png -> blib/lib/SVN/Web/Style/trac/parent.png lib/SVN/Web/Style/trac/svnweb.css -> blib/lib/SVN/Web/Style/trac/svnweb.css lib/SVN/Web/Style/trac/text-diff-html.css -> blib/lib/SVN/Web/Style/trac/text-diff-html.css lib/SVN/Web/Style/trac/trac.css -> blib/lib/SVN/Web/Style/trac/trac.css lib/SVN/Web/Template/plain/browse -> blib/lib/SVN/Web/Template/plain/browse lib/SVN/Web/Template/plain/diff -> blib/lib/SVN/Web/Template/plain/diff lib/SVN/Web/Template/plain/footer -> blib/lib/SVN/Web/Template/plain/footer lib/SVN/Web/Template/plain/header -> blib/lib/SVN/Web/Template/plain/header lib/SVN/Web/Template/plain/list -> blib/lib/SVN/Web/Template/plain/list lib/SVN/Web/Template/plain/log -> blib/lib/SVN/Web/Template/plain/log lib/SVN/Web/Template/plain/revision -> blib/lib/SVN/Web/Template/plain/revision lib/SVN/Web/Template/plain/view -> blib/lib/SVN/Web/Template/plain/view lib/SVN/Web/Template/plain/x -> blib/lib/SVN/Web/Template/plain/x lib/SVN/Web/Template/trac/browse -> blib/lib/SVN/Web/Template/trac/browse lib/SVN/Web/Template/trac/diff -> blib/lib/SVN/Web/Template/trac/diff lib/SVN/Web/Template/trac/footer -> blib/lib/SVN/Web/Template/trac/footer lib/SVN/Web/Template/trac/header -> blib/lib/SVN/Web/Template/trac/header lib/SVN/Web/Template/trac/list -> blib/lib/SVN/Web/Template/trac/list lib/SVN/Web/Template/trac/log -> blib/lib/SVN/Web/Template/trac/log lib/SVN/Web/Template/trac/revision -> blib/lib/SVN/Web/Template/trac/revision lib/SVN/Web/Template/trac/rss -> blib/lib/SVN/Web/Template/trac/rss lib/SVN/Web/Template/trac/view -> blib/lib/SVN/Web/Template/trac/view lib/SVN/Web/Template/trac/x -> blib/lib/SVN/Web/Template/trac/x t/1use...............ok t/2basic.............Created /tmp/818US5Uof6 t/2basic.............ok 1/0# Recursively checking all links t/2basic.............ok t/3svnweb-install....bin/svnweb-install syntax OK t/3svnweb-install....ok t/cache..............Created /tmp/AgUvkBhTut # First walk # Second walk, no caching t/cache..............ok 179/546# Third walk, priming cache t/cache..............ok 353/546# Fourth walk, using cache t/cache..............ok t/cgi................Created /tmp/x8aRBJq7FT t/cgi................ok t/mod_perl...........Created /tmp/28uO5XDyJx t/mod_perl...........ok t/svnweb-server......Created /tmp/SSZSlinf3R t/svnweb-server......ok 1/0Use of uninitialized value in concatenation (.) or string at /usr/local/share/perl/5.8.7/HTTP/Cookies.pm line 260. t/svnweb-server......ok t/timedate_format....ok All tests successful. Files=8, Tests=1638, 194 wallclock secs (159.36 cusr + 14.09 csys = 173.45 CPU) On Fri Jun 30 17:25:18 2006, nik@ngo.org.uk wrote: Show quoted text
> Guest via RT wrote:
> > Here are the results of the trunk build. > > I added "ServerName 127.0.0.1" to httpd.tt so it doesn't complain. > > The cgi and mod_perl tests still won't cooperate :(
> > [...] >
> > t/cgi................Created /tmp/9urWMZM3Bw > > Could not get 200 response from server on port 8888 > > # Looks like your test died before it could output anything. > > t/cgi................dubious > > > > Test returned status 255 (wstat 65280, 0xff00) > > t/mod_perl...........Created /tmp/18Vle0goVC > > Could not get 200 response from server on port 8888 > > # Looks like your test died before it could output anything. > > t/mod_perl...........dubious
> > Right. That means that there was nothing listening on port 8888. > > If you edit lib/SVN/Web/Test.pm, find create_install(), and edit the line: > > $self->{install_dir} = tempdir(CLEANUP => 1); > > Change the '1' to a '0'. Run "./Build.PL" then either run "./Build > test", or, if you have prove(1) in your path run: > > prove -vb t/mod_perl.t > > and > > prove -vb t/cgi.t > > In the output, where it says "Created /tmp/...", take a look in those > directories. That's where svnweb-install was run, and it's also where > you'll find the generated httpd.conf and the Apache error log. > > Can you take a look at those and see if there's anything wrong? The > error log in particular might contain some clues -- I should probably > change the test so that it sends that to the screen if the server fails > to start. > > You can also try starting Apache directly > > /path/to/httpd -f /tmp/<whatever>/httpd.conf -X > > and then try and visit localhost:$port in your browser, and see if the > site came up. > > It may be the case that Apache takes a while to start up on your > platform. If you look in lib/SVN/Web/Test.pm, in the start_server() > function you'll see a > > foreach my $count (1..5) { > > line -- that's Test.pm giving the server 5 chances to start, with a > second between them. You could try increasing that to 10 (and change > the other nearby occurences of '5' too) to see if that makes a difference. > > Thanks for your help in tracking this down. > > N
From: fiajro [...] cy.ath.cx
Oh, yeah... If those 200 tests for cgi and mod_perl are exactly the same web calls (which I think they are), the user will get a feel of how much faster mod_perl is compare to cgi. And I didn't emphasize "faster" enough. Awesome test suite ;)
Subject: Re: [rt.cpan.org #20170] 500 internal server - (can't find script in %1)
Date: Thu, 06 Jul 2006 09:44:29 +0100
To: bug-SVN-Web [...] rt.cpan.org
From: Nik Clayton <nik [...] ngo.org.uk>
Guest via RT wrote: Show quoted text
> Queue: SVN-Web > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=20170 > > > Oh, yeah... If those 200 tests for cgi and mod_perl are exactly the > same web calls (which I think they are), the user will get a feel of how > much faster mod_perl is compare to cgi. And I didn't emphasize "faster" > enough.
Oh yeah -- mod_perl screams through it. I hadn't realised how much slower CGI was before either. Show quoted text
> Awesome test suite ;)
If I get some time I'll break it out of SVN::Web and into something like Test::Apache -- there's an Apache::Test already, but it doesn't cooperate well with some other testing modules. N
Subject: Re: [rt.cpan.org #20170] 500 internal server - (can't find script in %1)
Date: Thu, 06 Jul 2006 09:38:16 +0100
To: bug-SVN-Web [...] rt.cpan.org
From: Nik Clayton <nik [...] ngo.org.uk>
Guest via RT wrote: Show quoted text
> Queue: SVN-Web > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=20170 > > > I think it was the permissions. Somehow if I just ran the tests in > normal user mode instead of sudo shell, the cgi and mod_perl tests > actually run.
It is. The root cause was this. File::Temp::tempdir() creates directories owned by the current user, with permissions 0700. If you start Apache as a non-root user it will stay the same user. So it will be able to read the directories created by File::Temp::tempdir(). If you start Apache as root the default behaviour is to set the user/group to -1 (underflowing the ID, and probably ending up as nobody/nogroup). Since this is different from the owner/group of the tempdir, and since the tempdir has such restrictive permissions, SVN::Web can't read its config file (because it's running as nobody/nogroup). The fix is to make the following change to SVN/Web/Test.pm, in create_install(). After the call to File::Temp::tempdir() add the line chmod 0755, $self->{install_dir}; This ensures the directory is readable but SVN::Web later. Thanks for pointing this out. N
Fixed in 0.49. Thanks for the help in tracking this down.