Apache2 dynloading problems and BSD/OS

From: Date: Fri, 23 Aug 2002 20:33:18 +0000
Subject: Apache2 dynloading problems and BSD/OS
Groups: php.dev 
Request: Send a blank email to php-dev+get-87367@lists.php.net to get a copy of this message
[ This may also relate to 1.3 dynloading issues, but haven't tested yet] Hi, when enabling libphp4.so, and simply running httpd -t, httpd segfaults on exit. This is consistent with various reported issues, for the platform, where SIGUSR1/SIGHUP can cause a segfault. The following is a bt and short analysis: $ gdb /aphack2/bin/httpd GNU gdb Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-unknown-bsdi4.2"... (gdb) set args -t (gdb) run Starting program: /aphack2/bin/httpd -t [New thread 0x80c1100] [Switching to thread 0x80c1100] Syntax OK Program received signal SIGSEGV, Segmentation fault. 0x48123f38 in __deregister_frame_info () from /shlib/libgcc.so.1 (gdb) bt #0 0x48123f38 in __deregister_frame_info () from /shlib/libgcc.so.1 #1 0x8061603 in __do_global_dtors_aux () #2 0x80a3e94 in _fini () #3 0x481cc488 in exit () from /shlib/libc.so.2 #4 0x80895ae in destroy_and_exit_process (process=0x80c7098, process_exit_value=0) at main.c:248 #5 0x808a0fc in main (argc=2, argv=0x8047b9c) at main.c:570 #6 0x80615ae in __start () (gdb) frame 5 #5 0x808a0fc in main (argc=2, argv=0x8047b9c) at main.c:570 570 destroy_and_exit_process(process, 0); (gdb) print process $1 = (process_rec *) 0x80c7098 (gdb) print *process $2 = {pool = 0x80c7018, pconf = 0x80c9018, argc = 2, argv = 0x80c7238, short_name = 0x8047c69 "httpd"} ^^^ That looks pretty normal ^^^ (gdb) frame 4 #4 0x80895ae in destroy_and_exit_process (process=0x80c7098, process_exit_value=0) at main.c:248 248 exit(process_exit_value); (gdb) print process $3 = (process_rec *) 0x80b37b0 (gdb) print *process $4 = {pool = 0x80b6378, pconf = 0x80b38e8, argc = 134953344, argv = 0x80b3a7c, short_name = 0x80b3b34 "\224}1\001"} ^^^ That is garbage ^^^ If anybody has a clue, and wants me to run some tests or patches, let me know. 2.0.40 and 4.3.0-dev. I'll test other configs/sapi's when I find the time. Best regards, Melvyn

« previous php.dev (#87367) next »