httpd-2.2.15, libapreq2-2.12, Perl 5.8.8, AIX 5.3, IBM xlc_r 7.0.0.16 Apache segfaults during initialization, when loading mod_apreq2.so. Without this module, the same httpd binary seems to run without problems.
cd libapreq2-2.12/module ; t/TEST [...] /usr/local/apache/bin/httpd -d /home/build/tmp/libapreq2-2.12/module/t -f /home/build/tmp/libapreq2-2.12/module/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS using Apache/2.2.15 (prefork MPM) Segmentation fault in filter.apreq_parser_run at line 128 in file "../../include/apreq_parser.h" ($t1) (dbx) where filter.apreq_parser_run(psr = 0x200da7a0, t = (nil), bb = (nil)), line 128 in "apreq_parser.h" filter.register_hooks(p = 0x20016620), line 448 in "filter.c" ap_register_hooks(m = 0x200da698, p = 0x20016620), line 427 in "config.c" ap_add_module(m = 0x200da698, p = 0x20016620), line 552 in "config.c" ap_add_loaded_module(mod = 0x200da698, p = 0x20016620), line 610 in "config.c" load_module(cmd = 0x2ff221b0, dummy = 0x2ff21d8c, modname = "apreq_module", filename = "/home/build/tmp/libapreq2-2.12-aptest-xlc/module/apache2/.libs/mod_apreq2.so"), line 282 in "mod_so.c" invoke_cmd(cmd = 0x20003030, parms = 0x2ff221b0, mconfig = 0x2ff21d8c, args = ""), line 796 in "config.c" unnamed block in execute_now(cmd_line = "LoadModule", args = "apreq_module "/home/build/tmp/libapreq2-2.12-aptest-xlc/module/apache2/.libs/mod_apreq2.so"", parms = 0x2ff221b0, p = 0x20016620, ptemp = 0x20054810, sub_tree = 0x2ff21d8c, parent = (nil)), line 1437 in "config.c" execute_now(cmd_line = "LoadModule", args = "apreq_module "/home/build/tmp/libapreq2-2.12-aptest-xlc/module/apache2/.libs/mod_apreq2.so"", parms = 0x2ff221b0, p = 0x20016620, ptemp = 0x20054810, sub_tree = 0x2ff21d8c, parent = (nil)), line 1437 in "config.c" unnamed block in ap_build_config_sub(p = 0x20016620, temp_pool = 0x20054810, l = "LoadModule apreq_module "/home/build/tmp/libapreq2-2.12-aptest-xlc/module/apache2/.libs/mod_ap req2.so"", parms = 0x2ff221b0, current = 0x2ff21e50, curr_parent = 0x2ff21e4c, conftree = 0x2ff21dec), line 1008 in "config.c" ap_build_config_sub(p = 0x20016620, temp_pool = 0x20054810, l = "LoadModule apreq_module "/home/build/tmp/libapreq2-2.12-aptest-xlc/module/apache2/.libs/mod_apreq2.so"", parms = 0x2ff221b0, current = 0x2ff21e50, curr_parent = 0x2ff21e4c, conftree = 0x2ff21dec), line 1008 in "config.c" ap_build_cont_config(p = 0x20016620, temp_pool = 0x20054810, parms = 0x2ff221b0, current = 0x2ff21e50, curr_parent = 0x2ff21e4c, orig_directive = "<IfModule"), line 1106 in "config.c" unnamed block in start_ifmod(cmd = 0x2ff221b0, mconfig = 0x2ff220fc, arg = "mod_apreq2.c"), line 2111 in "core.c" start_ifmod(cmd = 0x2ff221b0, mconfig = 0x2ff220fc, arg = "mod_apreq2.c"), line 2111 in "core.c" invoke_cmd(cmd = 0x200013c8, parms = 0x2ff221b0, mconfig = 0x2ff220fc, args = ""), line 786 in "config.c" unnamed block in execute_now(cmd_line = "<IfModule", args = "!mod_apreq2.c>", parms = 0x2ff221b0, p = 0x20016620, ptemp = 0x20054810, sub_tree = 0x2ff220fc, parent = (nil)), line 1437 in "config.c" execute_now(cmd_line = "<IfModule", args = "!mod_apreq2.c>", parms = 0x2ff221b0, p = 0x20016620, ptemp = 0x20054810, sub_tree = 0x2ff220fc, parent = (nil)), line 1437 in "config.c" unnamed block in ap_build_config_sub(p = 0x20016620, temp_pool = 0x20054810, l = "<IfModule !mod_apreq2.c>", parms = 0x2ff221b0, current = 0x2ff22150, curr_parent = 0x2ff22154, conftree = 0x200031bc), line 1008 in "config.c" ap_build_config_sub(p = 0x20016620, temp_pool = 0x20054810, l = "<IfModule !mod_apreq2.c>", parms = 0x2ff221b0, current = 0x2ff22150, curr_parent = 0x2ff22154, conftree = 0x200031bc), line 1008 in config.c" ap_build_config(parms = 0x2ff221b0, p = 0x20016620, temp_pool = 0x20054810, conftree = 0x200031bc), line 1220 in "config.c" process_resource_config_nofnmatch(s = 0x200448c8, fname = "/home/build/tmp/libapreq2-2.12-aptest-xlc/module/t/conf/httpd.conf", conftree = 0x200031bc, p = 0x20016620, ptemp = 0x20054810, depth = 0), line 1630 in "config.c" ap_process_resource_config(s = 0x200448c8, fname = "/home/build/tmp/libapreq2-2.12-aptest-xlc/module/t/conf/httpd.conf", conftree = 0x200031bc, p = 0x20016620, ptemp = 0x20054810), line 1662 in "config.c" ap_read_config(process = 0x200146a0, ptemp = 0x20054810, filename = "/home/build/tmp/libapreq2-2.12-aptest-xlc/module/t/conf/httpd.conf", conftree = 0x200031bc), line 2022 in "config.c" main(argc = 9, argv = 0x2ff226ac), line 633 in "main.c" (dbx) p *psr (parser = 0x2006b54c, content_type = "\360,\374\334 ^H\376h M\247\240^ASO\210 ^M\247\254 ^M\247\270 ^M\247\304^ASO\210 M\212\340\360-.^\\360,\374\270\360-^MT ^i^fh\3200\...@\360 -^O\270\3200\347\220\3200\352X\3608\360\230 ^M\247\320\3608\351\374\3608\360\324\3608\357\374\3608\361\210\3608\361^\\3608\361|\3608\357\360 ^M\247\334\360-^Cx\360,\377", pool = (nil), bucket_alloc = 0x2006b464, brigade_limit = 537766572, temp_dir = (nil), hook = 0x2006c620, ctx = 0x200daaac) This "content_type" value looks weird. I suspected an AIX-specific linker problem similar to http://bugs.php.net/bug.php?id=4630 . I have removed all "-berok" linker options from configure, and added httpd.exp as an import file in configure line 7957: archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bI:/usr/local/apache/modules/httpd.exp ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' This doesn't really help. With the modified mod_apreq2, I get a null pointer segmentation fault: Trace/BPT trap in apr_pools.apr_palloc [/home/build/tmp/libapreq2-2.12-aptest-xlc/module/apache2/.libs/mod_apreq2.so] at line 646 in file "/home/build/tmp/httpd-2.2.15/srclib/apr/memory/unix/apr_pools.c" ($t1) 646 active = pool->active; apr_pools.apr_palloc(pool = (nil), in_size = 40), line 646 in "apr_pools.c" apr_hash.apr_hash_make(pool = (nil)), line 98 in "apr_hash.c" apr_hooks.apr_dynamic_fn_register(szName = "apreq_handle_apache2", pfn = 0x200e7eb4), line 378 in "apr_hooks.c" unnamed block in apreq_pre_init(p = 0x200161d0, plog = 0x200503a0, ptemp = 0x200523b0, base_server = 0x2001dce8), line 420 in "filter.c" apreq_pre_init(p = 0x200161d0, plog = 0x200503a0, ptemp = 0x200523b0, base_server = 0x2001dce8), line 420 in "filter.c" ap_run_post_config(pconf = 0x200161d0, plog = 0x200503a0, ptemp = 0x200523b0, s = 0x2001dce8), line 91 in "config.c" main(argc = 9, argv = 0x2ff226ac), line 680 in "main.c" Any recommendation what to try next? -- Peter Heimann