Subject: port-i386/8905: apache core dumps with the current ld.so_elf
To: None <gnats-bugs@gnats.netbsd.org>
From: Bernd Ernesti <bernd@arresum.inka.de>
List: netbsd-bugs
Date: 11/28/1999 12:06:41
>Number:         8905
>Category:       port-i386
>Synopsis:       apache core dumps with the current ld.so_elf
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-i386-maintainer (NetBSD/i386 Portmaster)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Nov 28 12:06:01 1999
>Last-Modified:
>Originator:     Bernd Ernesti
>Organization:
	
>Release:        NetBSD-current 28.11.1999 1800 GMT
>Environment:
	
System: NetBSD arresum.inka.de 1.4P NetBSD 1.4P (ARRESUM) #400: Sun Nov 28 14:00:57 MET 1999 bernd@arresum.inka.de:/home/work/obj_i386/src.i386/sys/arch/i386/compile/ARRESUM i386


>Description:
	Try to run the apache on a -current system and notice the core dump.

Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/libexec/ld.elf_so...done.
Reading symbols from /usr/lib/libcrypt.so.0...done.
Reading symbols from /usr/lib/libc.so.12...done.
Reading symbols from /usr/local/apache_1.3.9/libexec/mod_vhost_alias.so...done.
#0  0x4809de44 in _rtld_symlook_obj (name=0x4813129a "strcasecmp", hash=160306112, obj=0x480a7800, 
    in_plt=true) at /src/libexec/ld.elf_so/symbol.c:122
122             unsigned long symnum = obj->buckets[hash % obj->nbuckets];
(gdb) where
#0  0x4809de44 in _rtld_symlook_obj (name=0x4813129a "strcasecmp", hash=160306112, obj=0x480a7800, 
    in_plt=true) at /src/libexec/ld.elf_so/symbol.c:122
#1  0x4809dddd in _rtld_symlook_list (name=0x4813129a "strcasecmp", hash=160306112, 
    objlist=0x480a3aa4, defobj_out=0xefbfb480, in_plt=true) at /src/libexec/ld.elf_so/symbol.c:91
#2  0x4809e04b in _rtld_find_symdef (obj_list=0x480a7000, r_info=1287, 
    name=0x4813129a "strcasecmp", refobj=0x480a7600, defobj_out=0xefbfb4b4, in_plt=true)
    at /src/libexec/ld.elf_so/symbol.c:217
#3  0x4809da37 in _rtld_relocate_plt_object (obj=0x480a7600, rela=0xefbfb4e4, addrp=0x0, 
    bind_now=true, dodebug=true) at /src/libexec/ld.elf_so/reloc.c:404
#4  0x4809dc86 in _rtld_relocate_objects (first=0x480a7600, bind_now=true, dodebug=true)
    at /src/libexec/ld.elf_so/reloc.c:554
#5  0x4809d2be in _rtld_dlopen (
    name=0x80a7854 "/usr/local/apache_1.3.9/libexec/mod_vhost_alias.so", mode=258)
    at /src/libexec/ld.elf_so/rtld.c:671
#6  0x804e99e in dlopen ()
#7  0x806ea85 in ap_os_dso_load ()
#8  0x804ec42 in load_module ()
#9  0x80541bc in invoke_cmd ()
#10 0x8054a72 in ap_handle_command ()
#11 0x8054b08 in ap_srm_command_loop ()
#12 0x8054f04 in ap_process_resource_config ()
#13 0x80557ca in ap_read_config ()
#14 0x805eb21 in standalone_main ()
#15 0x805f46b in main ()
#16 0x804e8c5 in _start ()

>How-To-Repeat:
	Simple start apache with modules in the config file.

	Apache is compiled with "--enable-module=most --enable-shared=max".

	Apache still works when I use the old ld.so_elf:

-r-xr-xr-x  1 bin  bin  36586 Oct 31 13:05 ld.elf_so

>Fix:
>Audit-Trail:
>Unformatted: