httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leslie Arvin <ar...@stat.purdue.edu>
Subject apache 2.0.39 core dumps on AIX 4.3.3 with third party DSOs (long)
Date Mon, 05 Aug 2002 19:27:07 GMT
Apache httpd 2.0.39 core dumps (even with -t) when configured
with mod_auth_external 2.2.1 or mod_roaming 2.0.0 on AIX 4.3.3.
Since we use mod_auth_external to password protect our for-
internal-use-only SSL server, we NEED mod_auth_external if we
are to use 2.0.39; if I can confirm it's broken and cannot
fix it, we may have to go with 1.3.26 for now.  Mod_roaming
is less urgent but is very convenient.  Or are those modules
really working OK, but I've configured apache 2.0.39 incorrectly?
I'd really like to use the latest recommended release of Apache.

I apologize if this is the incorrect forum for this question.
I have been unable to find a mod_roaming or mod_auth_external
mailing list, and am unsure whether the problem is with apache
2.0.39 or with the modules (mod_auth_external 2.2.1 IS a beta
module).  If anyone can help me determine even that much I would
really appreciate it.  Pointers to more appropriate forums or
sources of information are enthusiastically welcomed.

When I compile apache 2.0.39 on AIX 4.3.3 with DSOs apache-ssl,
mod_roaming, and mod_auth_external, and with gcc 2.95.2, apache
core dumps on startup with no messages in the error_log.  httpd
starts and runs OK when the mod_roaming and mod_auth_external
configurations are commented out of httpd.conf.

gdb 5.0 (with which I am not _terribly_ familiar) gives the
following info when mod_auth_external is configured and
mod_roaming is commented out of httpd.conf:

This GDB was configured as "powerpc-ibm-aix4.3.3.0"...
(gdb) run -t
Starting program: /opt/apache-2.0.39/bin/httpd -t

Program received signal SIGSEGV, Segmentation fault.
0xd0ca26c0 in ap_hook_check_user_id () at request.c:111
111     AP_IMPLEMENT_HOOK_RUN_FIRST(int,check_user_id,
(gdb) where
#0  0xd0ca26c0 in ap_hook_check_user_id () at request.c:111
#1  0xd0ca3578 in register_hooks (p=0x3008dc84) at mod_auth_external.c:811
#2  0x1000ec44 in ap_register_hooks (m=0x3008db60, p=0x30029250)
    at config.c:411
#3  0x1000ee84 in ap_add_module (m=0x3008db60, p=0x30029250) at config.c:480
#4  0x1000f038 in ap_add_loaded_module (mod=0x3008db60, p=0x30029250)
    at config.c:535
#5  0x1008644c in load_module (cmd=0x2ff22648, dummy=0x2ff205b0, 
    modname=0x30068f88 "external_auth_module", 
    filename=0x30068fa0 "modules/mod_auth_external.so") at mod_so.c:323
#6  0x1000f940 in invoke_cmd (cmd=0x300030a0, parms=0x2ff22648, 
    mconfig=0x2ff205b0, args=0x2ff2063c "") at config.c:709
#7  0x10011930 in execute_now (cmd_line=0x30068f20 "LoadModule", 
    args=0x2ff2060b "external_auth_module modules/mod_auth_external.so", 
    parms=0x2ff22648, p=0x30029250, ptemp=0x30063420, sub_tree=0x2ff205b0, 
    parent=0x0) at config.c:1315
#8  0x10010870 in ap_build_config_sub (p=0x30029250, temp_pool=0x30063420, 
    l=0x2ff20600 "LoadModule external_auth_module modules/mod_auth_external.so", parms=0x2ff22648,
current=0x2ff205f8, curr_parent=0x2ff205fc, 
    conftree=0x300013ac) at config.c:912
#9  0x100110cc in ap_build_config (parms=0x2ff22648, p=0x30029250, 
    temp_pool=0x30063420, conftree=0x300013ac) at config.c:1119
#10 0x1001202c in ap_process_resource_config (s=0x3002c7b8, 
    fname=0x30066bb0 "/opt/apache-2.0.39/conf/httpd.conf", 
    conftree=0x300013ac, p=0x30029250, ptemp=0x30063420) at config.c:1500
#11 0x10012d18 in ap_read_config (process=0x300272c0, ptemp=0x30063420, 
    filename=0x100979dc "conf/httpd.conf", conftree=0x300013ac)
    at config.c:1778
#12 0x10001304 in main (argc=2, argv=0x2ff22904) at main.c:554
#13 0x100001dc in __start ()
(gdb) list
106     
107     AP_IMPLEMENT_HOOK_RUN_FIRST(int,translate_name,
108                                 (request_rec *r), (r), DECLINED)
109     AP_IMPLEMENT_HOOK_RUN_FIRST(int,map_to_storage,
110                                 (request_rec *r), (r), DECLINED)
111     AP_IMPLEMENT_HOOK_RUN_FIRST(int,check_user_id,
112                                 (request_rec *r), (r), DECLINED)
113     AP_IMPLEMENT_HOOK_RUN_ALL(int,fixups,
114                               (request_rec *r), (r), OK, DECLINED)
115     AP_IMPLEMENT_HOOK_RUN_FIRST(int,type_checker,
(gdb)

gdb 5.0 gives the following info when mod_roaming is configured and
mod_auth_external is commented out of httpd.conf:

Starting program: /opt/apache-2.0.39/bin/httpd -t

Program received signal SIGSEGV, Segmentation fault.
0xd0d397c8 in ap_hook_translate_name () at request.c:107
107     AP_IMPLEMENT_HOOK_RUN_FIRST(int,translate_name,
(gdb) where
#0  0xd0d397c8 in ap_hook_translate_name () at request.c:107
#1  0xd0d3a708 in roaming_register_hooks (p=0x3008ce74) at mod_roaming.c:521
#2  0x1000ec44 in ap_register_hooks (m=0x3008cdf8, p=0x30029210)
    at config.c:411
#3  0x1000ee84 in ap_add_module (m=0x3008cdf8, p=0x30029210) at config.c:480
#4  0x1000f038 in ap_add_loaded_module (mod=0x3008cdf8, p=0x30029210)
    at config.c:535
#5  0x1008644c in load_module (cmd=0x2ff21c48, dummy=0x2ff1fbb0, 
    modname=0x30068f40 "roaming_module", 
    filename=0x30068f50 "modules/mod_roaming.so") at mod_so.c:323
#6  0x1000f940 in invoke_cmd (cmd=0x300030a0, parms=0x2ff21c48, 
    mconfig=0x2ff1fbb0, args=0x2ff1fc34 "") at config.c:709
#7  0x10011930 in execute_now (cmd_line=0x30068ee0 "LoadModule", 
    args=0x2ff1fc0b "roaming_module     modules/mod_roaming.so", 
    parms=0x2ff21c48, p=0x30029210, ptemp=0x300633e0, sub_tree=0x2ff1fbb0, 
    parent=0x0) at config.c:1315
#8  0x10010870 in ap_build_config_sub (p=0x30029210, temp_pool=0x300633e0, 
    l=0x2ff1fc00 "LoadModule roaming_module     modules/mod_roaming.so", 
    parms=0x2ff21c48, current=0x2ff1fbf8, curr_parent=0x2ff1fbfc, 
    conftree=0x300013ac) at config.c:912
#9  0x100110cc in ap_build_config (parms=0x2ff21c48, p=0x30029210, 
    temp_pool=0x300633e0, conftree=0x300013ac) at config.c:1119
#10 0x1001202c in ap_process_resource_config (s=0x3002c778, 
    fname=0x30066b70 "/opt/apache-2.0.39/conf/httpd.conf", 
    conftree=0x300013ac, p=0x30029210, ptemp=0x300633e0) at config.c:1500
#11 0x10012d18 in ap_read_config (process=0x30027280, ptemp=0x300633e0, 
    filename=0x100979dc "conf/httpd.conf", conftree=0x300013ac)
    at config.c:1778
#12 0x10001304 in main (argc=2, argv=0x2ff21f00) at main.c:554
#13 0x100001dc in __start ()
(gdb) list
102         APR_HOOK_LINK(auth_checker)
103         APR_HOOK_LINK(insert_filter)
104         APR_HOOK_LINK(create_request)
105     )
106     
107     AP_IMPLEMENT_HOOK_RUN_FIRST(int,translate_name,
108                                 (request_rec *r), (r), DECLINED)
109     AP_IMPLEMENT_HOOK_RUN_FIRST(int,map_to_storage,
110                                 (request_rec *r), (r), DECLINED)
111     AP_IMPLEMENT_HOOK_RUN_FIRST(int,check_user_id,
(gdb)


Some newsgroup comments on core dumps with apache 2.0.39 suggested
latest version of gcc.  I tried compiling with gcc 3.1, and make
fails with the following error (with various debug options set in
"configure"):

+ gcc-3.1 -g -O2 -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -pthread
-DNO_DBM_REWRITEMAP -U__STR__ -D_USE_IRS -DAPR_POOL_DEBUG=1 -D_THREAD_SAFE -DAP_DEBUG -DAP_HAVE_DESIGNATED_INITIALIZER
-I/home/odds/p7/apache-2.0.39/src/srclib/apr/include
-I/opt/apache-2.0.39/src/srclib/apr/include -I/home/odds/p7/apache-2.0.39/src/srclib/apr-util/include
-I/opt/apache-2.0.39/src/srclib/apr-util/include -I/home/odds/p7/apache-2.0.39/src/srclib/apr-util/xml/expat/lib
-I. -I/opt/apache-2.0.39/src -I/home/odds/p7/apache-2.0.39/src/os/unix
-I/opt/apache-2.0.39/src/os/unix -I/home/odds/p7/apache-2.0.39/src/server/mpm/prefork -I/opt/apache-2.0.39/src/server/mpm/prefork
-I/home/odds/p7/apache-2.0.39/src/modules/http -I/opt/apache-2.0.39/src/modules/http -I/home/odds/p7/apache-2.0.39/src/modules/proxy
-I/opt/apache-2.0.39/src/modules/proxy -I/home/odds/p7/apache-2.0.39/src/modules/filters -I/opt/apache-2.0.39/src/modules/filters
-I/home/odds/p7/apache-2.0.39/src/include -I/opt/apache-2.0.39/src/include -I/opt/openssl/include/openssl
-I/opt/openssl/include -I/opt/apache-2.0.39/src/modules/dav/main
-Wl,-brtl -o .libs/httpd modules.o -Wl,-uXML_Parse -Wl,-bE:/home/odds/p7/apache-2.0.39/src/server/httpd.exp
-L/home/odds/p7/apache-2.0.39/src/srclib/apr-util/xml/expat/lib -L/opt/openssl/lib modules/aaa/.libs/libmod_access.al
modules/aaa/.libs/libmod_auth.al modules/filters/.libs/libmod_include.al
modules/loggers/.libs/libmod_log_config.al modules/metadata/.libs/libmod_env.al modules/metadata/.libs/libmod_expires.al
modules/metadata/.libs/libmod_headers.al modules/metadata/.libs/libmod_setenvif.al modules/http/.libs/libmod_http.al
modules/http/.libs/libmod_mime.al
modules/generators/.libs/libmod_status.al modules/generators/.libs/libmod_autoindex.al modules/generators/.libs/libmod_asis.al
modules/generators/.libs/libmod_info.al modules/generators/.libs/libmod_cgi.al modules/mappers/.libs/libmod_vhost_alias.al
modules/mappers/.libs/libmod_negotiation.al
modules/mappers/.libs/libmod_dir.al modules/mappers/.libs/libmod_imap.al modules/mappers/.libs/libmod_actions.al
modules/mappers/.libs/libmod_userdir.al modules/mappers/.libs/libmod_alias.al modules/mappers/.libs/libmod_rewrite.al
modules/mappers/.libs/libm
od_so.al server/mpm/prefork/.libs/libprefork.al server/.libs/libmain.al os/unix/.libs/libos.al
-lssl -lcrypto /home/odds/p7/apache-2.0.39/src/srclib/pcre/.libs/libpcre.al -L/home/odds/p7/apache-2.0.39/src/srclib/apr-util/.libs
-laprutil
-L/home/odds/p7/apache-2.0.39/src/srclib/apr-util/xml/expat/lib/.libs -lexpat -L/home/odds/p7/apache-2.0.39/src/srclib/apr/.libs
-lapr -lm -liconv -lnsl -ldl -Wl,-blibpath:/opt/apache-2.0.39/lib:/usr/lib:/lib
ld: 0711-317 ERROR: Undefined symbol: apr_rmm_init
ld: 0711-317 ERROR: Undefined symbol: apr_rmm_destroy
ld: 0711-317 ERROR: Undefined symbol: apr_rmm_attach
ld: 0711-317 ERROR: Undefined symbol: apr_rmm_detach
ld: 0711-317 ERROR: Undefined symbol: apr_rmm_malloc
ld: 0711-317 ERROR: Undefined symbol: apr_rmm_realloc
ld: 0711-317 ERROR: Undefined symbol: apr_rmm_calloc
ld: 0711-317 ERROR: Undefined symbol: apr_rmm_free
ld: 0711-317 ERROR: Undefined symbol: apr_rmm_addr_get
ld: 0711-317 ERROR: Undefined symbol: apr_rmm_offset_get
ld: 0711-317 ERROR: Undefined symbol: apr_rmm_overhead_get
ld: 0711-317 ERROR: Undefined symbol: apr_sdbm_open
ld: 0711-317 ERROR: Undefined symbol: apr_sdbm_close
ld: 0711-317 ERROR: Undefined symbol: apr_sdbm_fetch
ld: 0711-317 ERROR: Undefined symbol: apr_sdbm_store
ld: 0711-317 ERROR: Undefined symbol: apr_sdbm_delete
ld: 0711-317 ERROR: Undefined symbol: apr_sdbm_firstkey
ld: 0711-317 ERROR: Undefined symbol: apr_sdbm_nextkey
ld: 0711-317 ERROR: Undefined symbol: apr_sdbm_rdonly
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: ld returned 8 exit status
+ exit 1
make[1]: *** [httpd] Error 1
make[1]: Leaving directory `/home/odds/p7/apache-2.0.39/src'
make: *** [all-recursive] Error 1

FWIW, gcc 3.1 in the above example is NOT using the GNU linker.
So far I have been unable to determine why the above symbols are
not defined.


configure options:

env -i PATH=/home/odds/u25/arvin/bin:/usr/stat/bin:/usr/local/bin:/usr/local/etc:/usr/ccs/bin:/usr/etc:/etc:/usr/bin:/bin:/usr/ucb:/sbin:/usr/sbin:/usr/local/X11:/usr/bin/X11:/opt/gnu/bin:/opt/misc/bin:.
\
CONFIG_SHELL=/bin/sh \
SSL_BASE=/opt/openssl-0.9.6e  \
EAPI_MM=/opt/mm-1.1.3  \
CC=gcc-3.1 \         <== for gcc 3.1 compile only
CPP=cpp-3.1 \        <== for gcc 3.1 compile only
LTFLAGS=--debug \
./configure \
--prefix=/opt/apache-2.0.39 \
--srcdir=/opt/apache-2.0.39/src \
--enable-rule=SHARED_CORE \
--enable-modules="expires info headers rewrite so vhost-alias" \
--enable-mods-shared="ssl auth_external roaming" \
--enable-debug \
--with-ssl=/opt/openssl \
--with-mpm=prefork \
--enable-debug \
--enable-pool-debug \
--enable-maintainer-mode   <== going for all the debug info I can get

Possible contributing factors:

  o  configure fails (that annoying "arg list too long" error) unless I
     run it with "env -i PATH=...".  Could I be omitting something
     necessary from my environment?

  o  In the "make" step, I get error:

	exports.c:1410: redefinition of `ap_hack_apr_allocator_create'
	exports.c:170: `ap_hack_apr_allocator_create' previously defined here
	exports.c:1411: redefinition of `ap_hack_apr_allocator_destroy'
	exports.c:171: `ap_hack_apr_allocator_destroy' previously defined here
	exports.c:1412: redefinition of `ap_hack_apr_allocator_alloc'
	exports.c:172: `ap_hack_apr_allocator_alloc' previously defined here
	(... similar errors omitted...)
	exports.c:2185: redefinition of `ap_hack_apr_xml_insert_uri'
	exports.c:945: `ap_hack_apr_xml_insert_uri' previously defined here

     Removing lines 1410..2185 from server/exports.c fixes the above errors
     and allows make to finish.

  o  My sysadmin suggested AIX threads is broken with our current patch set
     because a statistics package we use core dumps on exit which did not
     before this set.  Upgrading our patch set on a non-web-server AIX machine
     did fix this problem with the statistics application.  I tried starting
     apache 2.0.39 on the upgraded machine, but it stopped in gdb with the
     same error.  (Upgraded machine does automount the document root,
     server directory, and openssl dir.)  Maybe I'm missing some discrepancy
     between machines....  Sysadmin is working on upgrading our web server
     patch set.

Any help will be appreciated.  Meanwhile, I'm back to banging my head
against the monitor....

-- Leslie Arvin
   arvin@stat.purdue.edu
   Webmaster
   Purdue Dept. of Statistics

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message