Bug #3481: get_browser() returns a segfault

From: Date: Mon, 14 Feb 2000 16:46:06 +0000
Subject: Bug #3481: get_browser() returns a segfault
Groups: php.dev 
Request: Send a blank email to php-dev+get-15523@lists.php.net to get a copy of this message
From: jr@scms.rgu.ac.uk Operating system: SunOS 5.6 (Solaris 2.6) PHP version: 3.0.14 PHP Bug Type: Reproduceable crash Bug description: get_browser() returns a segfault get_browser causes a segfault; eg, in logs/error_log: [Mon Feb 14 16:21:51 2000] [notice] child pid 26443 exit signal Segmentation Fault (11) It also seems as if the browscap.ini file is not being read; certainly, it's last modification time (as per ls -lu) is not changing during either restart of Apache or invocation of a php3 script. Information on the setup of php can be seen at http://www.scms.rgu.ac.uk/staff/jr/php3/phpinfo.php3 (basically, it just runs phpinfo() ). You can see that the browscap settings are there. Also, the error log is not being created or generated at all. PHP3 has been compiled under DSO for Apache 1.3.11 I would include a gdb backtrace, but there is no core being dumped (yes, I've changed the ulimit setting); the best I could get was a truss on the process; here's the process from the GET to the end of the process: 15286: read(5, " G E T / s t a f f / j".., 4096) = 307 15286: sigaction(SIGUSR1, 0xEFFFD710, 0xEFFFD790) = 0 15286: time() = 950540334 15286: stat("/usr/www/public/staff/jr/php3/test.php3", 0x0007C050) = 0 15286: open("/.htaccess", O_RDONLY) Err#2 ENOENT 15286: open("/usr/.htaccess", O_RDONLY) Err#2 ENOENT 15286: open("/usr/www/.htaccess", O_RDONLY) Err#2 ENOENT 15286: open("/usr/www/public/.htaccess", O_RDONLY) Err#2 ENOENT 15286: open("/usr/www/public/staff/jr/php3/test.php3", O_RDONLY) = 8 15286: fcntl(8, F_DUPFD, 0x0000000F) = 22 15286: close(8) = 0 15286: umask(077) = 022 15286: umask(022) = 077 15286: chdir("/usr/www/public/staff/jr/php3") = 0 15286: door_info(4, 0xEFFFD338) = 0 15286: door_call(4, 0xEFFFD320) = 0 15286: setitimer(ITIMER_PROF, 0xEFFFF578, 0x00000000) = 0 15286: sigaction(SIGPROF, 0xEFFFF448, 0xEFFFF4C8) = 0 15286: brk(0x000910D0) = 0 15286: brk(0x000C10D0) = 0 15286: ioctl(22, TCGETA, 0xEFFFF4A4) Err#25 ENOTTY 15286: ioctl(22, TCGETA, 0xEFFFF514) Err#25 ENOTTY 15286: ioctl(22, TCGETA, 0xEFFFF414) Err#25 ENOTTY 15286: fstat64(22, 0xEFFFE140) = 0 15286: ioctl(22, TCGETA, 0xEFFFE0CC) Err#25 ENOTTY 15286: read(22, " < H T M L >\n < H E A D".., 8192) = 710 15286: read(22, 0x00081F7C, 8192) = 0 15286: Incurred fault #6, FLTBOUNDS %pc = 0x00000000 15286: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000 15286: Received signal #11, SIGSEGV [caught] 15286: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000 15286: chdir("/usr/local/apache") = 0 15286: sigaction(SIGSEGV, 0xEFFFE0B8, 0xEFFFE138) = 0 15286: getpid() = 15286 [14703] 15286: kill(15286, SIGSEGV) = 0 15286: setcontext(0xEFFFE2B8) 15286: Received signal #11, SIGSEGV [default] 15286: siginfo: SIGSEGV pid=15286 uid=6006 15286: *** process killed ***

« previous php.dev (#15523) next »