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