You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Re...@comcast.net on 2004/08/27 18:34:46 UTC

mod_perl (1.99_16) fails to begin tests because of assertion "rv == APR_SUCCESS" failed in vhost.c

% t/REPORT
-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:

The mod_perl module (version 1.99_16 aka 2.0 beta) fails to begin tests
because of the following error:
=====================
waiting 120 seconds for server to start: .[Tue Aug 24 16:58:02 2004] [crit]
[Tue Aug 24 16:58:02 2004] file vhost.c, line 189, assertion "rv == APR_SUCCESS" failed
.........................................................................................................................
waiting 120 seconds for server to start: not ok
=====================

The guilty section of vhost.c is:

182     if (strcmp(host, "*") == 0) {
183         rv = apr_sockaddr_info_get(&my_addr, "0.0.0.0", APR_INET, port, 0, p);
184         ap_assert(rv == APR_SUCCESS); /* must be bug or out of storage */
185     }
186     else if (strcasecmp(host, "_default_") == 0
187         || strcmp(host, "255.255.255.255") == 0) {
188         rv = apr_sockaddr_info_get(&my_addr, "255.255.255.255", APR_INET, port, 0, p);
189         ap_assert(rv == APR_SUCCESS); /* must be bug or out of storage */
190     }
191     else {
192         rv = apr_sockaddr_info_get(&my_addr, host, APR_UNSPEC, port, 0, p);
193         if (rv != APR_SUCCESS) {
194             ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL,
195                 "Cannot resolve host name %s --- ignoring!", host);
196             return NULL;
197         }
198     }

and the server never starts. No core dump is produced and no error log either.
Attempts to install (without testing) succeed but the resulting mod_perl
refuses to run.

Here is the configuration of httpd-2.0.50:

./configure --prefix=/var/apache  --enable-mime-magic --enable-usertrack --enable-ssl
--enable-dav --enable-info --enable-cgi --enable-speling --enable-so
--enable-rule=SSL_SDBM  --with-ssl=/opt/local/openssl --with-mpm=prefork

Httpd-2.0.50 runs fine (without mod_perl) but since the entire application
is perl code, it runs soooo sloooowly. Perl version is 5.8.4 and the OS is
Solaris 9 on Sun Sparc.

This error was previously reported on the mod_perl bug mailing list and
the explanation given was that it was a httpd problem. And perhaps it is.
I have reported it to bugzilla as bug #30901

I do know that if the mod_perl test httpd configuration file:

/opt/local/pkg/mod_perl-1.99_16/t/conf/httpd.conf

is edited to replace _default_ with the fully qualified name of the
httpd server, the test httpd will start. Unfortunately, no tests can
be run because the testing procedure overwrites the httpd.conf file
with the non-working values.

---------------------------------------------------------------------------------------------------------------------------------------

2. Used Components and their Configuration:

*** mod_perl version 1.9916

*** using /opt/local/pkg/mod_perl-1.99_16/lib/Apache/BuildConfig.pm

*** Makefile.PL options:
  MP_APR_LIB     => aprext
  MP_APXS        => /var/apache/bin/apxs
  MP_COMPAT_1X   => 1
  MP_DEBUG       => 1
  MP_GENERATE_XS => 1
  MP_LIBNAME     => mod_perl
  MP_TRACE       => 1
  MP_USE_DSO     => 1
  MP_USE_STATIC  => 1


*** /var/apache/bin/httpd -V
Server version: Apache/2.0.50
Server built:   Aug 13 2004 09:44:18
Server's Module Magic Number: 20020903:8
Architecture:   32-bit
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_PROC_PTHREAD_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT="/var/apache"
 -D SUEXEC_BIN="/var/apache/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"


*** (apr|apu)-config linking info

 -L/var/apache/lib -lapr-0 -lsendfile -lrt -lm -lsocket -lnsl -lresolv  -lpthread -ldl
 -L/var/apache/lib -laprutil-0 -ldb-4.1 -lexpat


*** /opt/local/bin/perl -V
Summary of my perl5 (revision 5 version 8 subversion 4) configuration:
  Platform:
    osname=solaris, osvers=2.9, archname=sun4-solaris
    uname='sunos trailmix 5.9 generic_112233-07 sun4u sparc sunw,sun-blade-100 '
    config_args='-Dusethreads'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-fno-strict-aliasing -I/usr/local/include -I/opt/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O',
    cppflags='-fno-strict-aliasing -I/usr/local/include -I/opt/local/include'
    ccversion='', gccversion='2.95.3 20010315 (release)', gccosandvers='solaris2.9'
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='gcc', ldflags =' -L/usr/local/lib -L/opt/local/lib '
    libpth=/usr/local/lib /opt/local/lib /usr/lib /usr/ccs/lib
    libs=-lsocket -lnsl -ldl -lm -lc
    perllibs=-lsocket -lnsl -ldl -lm -lc
    libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib -L/opt/local/lib'

Characteristics of this binary (from libperl):
  Compile-time options: USE_LARGE_FILES
  Built under solaris
  Compiled at Aug 23 2004 13:19:54
  %ENV:
    PERL_LWP_USE_HTTP_10="1"
  @INC:
    /opt/local/lib/perl5/5.8.4/sun4-solaris
    /opt/local/lib/perl5/5.8.4
    /opt/local/lib/perl5/site_perl/5.8.4/sun4-solaris
    /opt/local/lib/perl5/site_perl/5.8.4
    /opt/local/lib/perl5/site_perl
    /usr/perl5/5.6.1/lib/sun4-solaris-64int
    /usr/perl5/5.6.1/lib
    /usr/perl5/site_perl/5.6.1/sun4-solaris-64int
    /usr/perl5/site_perl/5.6.1
    /usr/perl5/site_perl
    .
    .
    
*** Packages of interest status:

Apache::Request: -
CGI            : 3.04
LWP            : 5.79
mod_perl       : 1.9914


3. This is the core dump trace: (if you get a core dump):

No core dump produced

This report was generated by t/REPORT on Tue Aug 24 21:00:22 2004 GMT.

-------------8<---------- End Bug Report --------------8<----------

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html


Re: mod_perl (1.99_16) fails to begin tests because of assertion "rv == APR_SUCCESS" failed in vhost.c

Posted by Stas Bekman <st...@stason.org>.
RenquistIsMe@comcast.net wrote:
> % t/REPORT
> -------------8<---------- Start Bug Report ------------8<----------
> 1. Problem Description:
> 
> The mod_perl module (version 1.99_16 aka 2.0 beta) fails to begin tests
> because of the following error:
> =====================
> waiting 120 seconds for server to start: .[Tue Aug 24 16:58:02 2004] [crit]
> [Tue Aug 24 16:58:02 2004] file vhost.c, line 189, assertion "rv == APR_SUCCESS" failed
> .........................................................................................................................
> waiting 120 seconds for server to start: not ok
> =====================
> 
> The guilty section of vhost.c is:
> 
> 182     if (strcmp(host, "*") == 0) {
> 183         rv = apr_sockaddr_info_get(&my_addr, "0.0.0.0", APR_INET, port, 0, p);
> 184         ap_assert(rv == APR_SUCCESS); /* must be bug or out of storage */
> 185     }
> 186     else if (strcasecmp(host, "_default_") == 0
> 187         || strcmp(host, "255.255.255.255") == 0) {
> 188         rv = apr_sockaddr_info_get(&my_addr, "255.255.255.255", APR_INET, port, 0, p);
> 189         ap_assert(rv == APR_SUCCESS); /* must be bug or out of storage */
> 190     }
> 191     else {
> 192         rv = apr_sockaddr_info_get(&my_addr, host, APR_UNSPEC, port, 0, p);
> 193         if (rv != APR_SUCCESS) {
> 194             ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL,
> 195                 "Cannot resolve host name %s --- ignoring!", host);
> 196             return NULL;
> 197         }
> 198     }
> 
> and the server never starts. No core dump is produced and no error log either.
> Attempts to install (without testing) succeed but the resulting mod_perl
> refuses to run.
> 
> Here is the configuration of httpd-2.0.50:
> 
> ./configure --prefix=/var/apache  --enable-mime-magic --enable-usertrack --enable-ssl
> --enable-dav --enable-info --enable-cgi --enable-speling --enable-so
> --enable-rule=SSL_SDBM  --with-ssl=/opt/local/openssl --with-mpm=prefork
> 
> Httpd-2.0.50 runs fine (without mod_perl) but since the entire application
> is perl code, it runs soooo sloooowly. Perl version is 5.8.4 and the OS is
> Solaris 9 on Sun Sparc.
> 
> This error was previously reported on the mod_perl bug mailing list and
> the explanation given was that it was a httpd problem. And perhaps it is.
> I have reported it to bugzilla as bug #30901
> 
> I do know that if the mod_perl test httpd configuration file:
> 
> /opt/local/pkg/mod_perl-1.99_16/t/conf/httpd.conf
> 
> is edited to replace _default_ with the fully qualified name of the
> httpd server, the test httpd will start. Unfortunately, no tests can
> be run because the testing procedure overwrites the httpd.conf file
> with the non-working values.

Run:

t/TEST -conf
edit the conf files. now run:
t/TEST
(instead of 'make test')

'make test' reruns -conf, so it wipes the changes away, but if you run 
t/TEST after running -conf it will keep your changes in place.



-- 
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html