You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Bjoern Hoehrmann <de...@gmx.net> on 2002/05/10 03:22:29 UTC

mod_perl2: nmake test crashes apache

Hi,

Perl:      version 5.61, ActiveState ActivePerl Build 631
mod_perl2: about one moth old CVS snapshot and
           todays modperl-2.0_20020509222354.tar.gz
Apache:    2.0.35 and 2.0.36
Compiler:  VisualStudio.NET EA, Service Pack 1
OS:        Win2k Professional, Service Pack 2

Apache builds and installs fine, mod_perl2 builds fine but running
`nmake test` crashes the instance of apache2 created by the TEST script.
Output of `nmake test` is

  % nmake test
  
  Microsoft (R) Program Maintenance Utility Version 7.00.9466
  Copyright (C) Microsoft Corporation.  All rights reserved.
  
          cd "src/modules/perl" && nmake
  
  Microsoft (R) Program Maintenance Utility Version 7.00.9466
  Copyright (C) Microsoft Corporation.  All rights reserved.
  
          C:\Perl\bin\perl.exe -Iblib\arch -Iblib\lib  t/TEST -clean
            C:\Perl\bin\perl.exe -Iblib\arch -Iblib\lib  t/TEST
  *** : cannot build c-modules without apxs
  c:/winapp/apache2/bin/Apache.exe  -d C:/b/modperl-2.0/t -f C:/b/modperl-2.0/t/conf/httpd.conf -DAPACHE2 -DPERL_USEITHREADS
  using Apache/2.0.36 (winnt MPM)
  waiting for server to start: 00:00[Fri May 10 03:09:42 2002] [info] 12 Apache:: modules loaded
  [Fri May 10 03:09:42 2002] [info] 5 APR:: modules loaded
  [Fri May 10 03:09:42 2002] [info] base server + 6 vhosts ready to run tests
  [Fri May 10 03:09:42 2002] [info] 11 Apache:: modules loaded
  [Fri May 10 03:09:42 2002] [info] 5 APR:: modules loaded
  [Fri May 10 03:09:42 2002] [info] base server + 6 vhosts ready to run tests
  END in modperl_extra.pl, pid=2596
  END in modperl_extra.pl, pid=2596
  END in modperl_extra.pl, pid=2596
  END in modperl_extra.pl, pid=2596
  END in modperl_extra.pl, pid=2596
  END in modperl_extra.pl, pid=2596
  END in modperl_extra.pl, pid=2596
  waiting for server to start: ok (waited 1 secs)
  server Voyager:8529 started
  server Voyager:8530 listening (TestDirective::perlmodule)
  server Voyager:8531 listening (TestDirective::perlrequire)
  server Voyager:8532 listening (TestProtocol::echo)
  server Voyager:8533 listening (TestProtocol::echo_filter)
  server Voyager:8534 listening (TestProtocol::eliza)
  server Voyager:8535 listening (TestFilter::input_msg)
  apache\cgihandler...ok
  apache\compat.......ok
  apache\compat2......ok

next test is apache\conftree, Windows tells something like

  The instruction at "0x2800e66f" referenced memory at "0x00000018".
  The memory could not be "read".

next test is apache\constants, it's ok but all subsequent tests fail,
because the server has gone. When I skip apache\conftree apache\post
will crash the webserver.

I guess this is a bug somewhere in mod_perl, any advice?

Re: mod_perl2: nmake test crashes apache

Posted by Bjoern Hoehrmann <de...@gmx.net>.
* Doug MacEachern wrote:
>the issue with all segfaults on win32 is related to the use of the 
>internal perl variable &PL_sv_no.  not sure what the real problem is, but 
>avoiding use of PL_sv_no has cured all segfaults on win32.  the fixes have 
>been checked into cvs.

I now get

  apache\cgihandler...ok
  apache\compat.......ok
  apache\compat2......ok
  apache\conftree.....ok
  apache\constants....ok
  apache\post.........ok
  apache\read.........ok
  apache\scanhdrs.....ok
  apache\subprocess...skipped: perl < 5.7.3
  apache\write........ok
  api\access..........ok
  api\aplog...........ok
  api\conn_rec........ok
  api\lookup_uri......ok
  api\lookup_uri2.....ok
  api\module..........FAILED test 2
          Failed 1/13 tests, 92.31% okay
  api\r_subclass......ok
  api\request_rec.....ok
  api\response........ok
  api\rutil...........ok
  api\send_fd.........ok
  api\sendfile........ok
  api\server_rec......ok
  api\server_util.....ok
  api\uri.............ok
  apr\base64..........ok
  apr\constants.......ok
  apr\date............ok
  apr\netlib..........FAILED test 3
          Failed 1/3 tests, 66.67% okay
  apr\perlio..........skipped: iolayers is not available with this
    version of Perl
  
  apr\pool............ok
  apr\string..........ok
  apr\table...........ok
  apr\util............ok
  apr\uuid............ok
  directive\env.......FAILED tests 1-3
          Failed 3/4 tests, 25.00% okay
  directive\perlmodule.ok
  directive\perlrequire.ok
  directive\setupenv..ok
  filter\api..........ok
  filter\buckets......ok
  filter\input_body...ok
  filter\input_msg....ok
  filter\lc...........ok
  filter\reverse......ok
  hooks\access........ok
  hooks\authen........ok
  hooks\authz.........ok
  hooks\fixup.........ok
  hooks\headerparser..ok
  hooks\init..........ok
  hooks\trans.........ok
  modperl\dir_config..FAILED tests 6-12
          Failed 7/12 tests, 41.67% okay
  modperl\endav.......ok
  modperl\env.........ok
  modperl\exit........ok
  modperl\getc........FAILED test 2
          Failed 1/2 tests, 50.00% okay
  modperl\pnotes......ok
  modperl\print.......ok
  modperl\printf......ok
  modperl\readline....ok
  modperl\sameinterp..ok
  modules\cgi.........ok
  modules\cgiupload...ok
  modules\include.....ok
  protocol\echo.......ok
  protocol\echo_filter.ok
  protocol\eliza......skipped: cannot find module 'Chatbot::Eliza'
  Failed Test          Status Wstat Total Fail  Failed  List of Failed

--------------------------------------------------------------------------------
  
  api\module.t                          13    1   7.69%  2
  apr\netlib.t                           3    1  33.33%  3
  directive\env.t                        4    3  75.00%  1-3
  modperl\dir_config.t                  12    7  58.33%  6-12
  modperl\getc.t                         2    1  50.00%  2
  3 tests skipped.
  !!! : error running tests (please examine C:t\logs\error_log)
  NMAKE : fatal error U1077: 'C:\Perl\bin\perl.exe' : return code '0x1'
  Stop.

Where error_log is

  [Sat May 11 03:14:49 2002] [info] 12 Apache:: modules loaded
  [Sat May 11 03:14:49 2002] [info] 5 APR:: modules loaded
  [Sat May 11 03:14:49 2002] [info] base server + 6 vhosts ready to run tests
  [Sat May 11 03:14:49 2002] [info] 11 Apache:: modules loaded
  [Sat May 11 03:14:49 2002] [info] 5 APR:: modules loaded
  [Sat May 11 03:14:49 2002] [info] base server + 6 vhosts ready to run tests
  [Sat May 11 03:14:50 2002] [notice] Child 2552: Child process is running
  [Sat May 11 03:14:50 2002] [notice] Child 2552: Acquired the start mutex.
  [Sat May 11 03:14:50 2002] [notice] Child 2552: Starting 10 worker threads.
  [Sat May 11 03:15:02 2002] [info] [client 192.168.0.128] TestAPI::aplog test in progress
  [Sat May 11 03:15:02 2002] [debug] C:\b\modperl-2.0\t\response/TestAPI/aplog.pm(43): log_serror test ok
  [Sat May 11 03:15:02 2002] [debug] C:\b\modperl-2.0\t\response/TestAPI/aplog.pm(46): (20007)No time was provided and one was required.: log_serror test 2 ok
  [Sat May 11 03:15:03 2002] [debug] C:\b\modperl-2.0\t\response/TestAPI/aplog.pm(49): [client 192.168.0.128] log_rerror test ok
  [Sat May 11 03:15:03 2002] [error] $r->log_error test ok
  [Sat May 11 03:15:03 2002] [error] $s->log_error test ok
  [Sat May 11 03:15:03 2002] [debug] C:\b\modperl-2.0\t\response/TestAPI/aplog.pm(63): TestAPI::aplog test done
  [Sat May 11 03:15:33 2002] [error] [client 192.168.0.128] File does not exist: C:/b/modperl-2.0/t/htdocs/nope
  [Sat May 11 03:15:34 2002] [error] [client 192.168.0.128] Attempt to free unreferenced scalar at C:\b\modperl-2.0\t\response/TestModperl/dir_config.pm line 71.
  [Sat May 11 03:15:37 2002] [error] [client 192.168.0.128] Attempt to free unreferenced scalar at C:\b\modperl-2.0\t\response/TestModperl/getc.pm line 23.
  
>there are still a few tests that fail, but none that trigger a segfault.

Exactly. Thanks.

Re: mod_perl2: nmake test crashes apache

Posted by Doug MacEachern <do...@covalent.net>.
the issue with all segfaults on win32 is related to the use of the 
internal perl variable &PL_sv_no.  not sure what the real problem is, but 
avoiding use of PL_sv_no has cured all segfaults on win32.  the fixes have 
been checked into cvs.
there are still a few tests that fail, but none that trigger a segfault.