From:             gordonthree at gmail dot com
Operating system: Centos 5
PHP version:      5CVS-2007-09-13 (CVS)
PHP Bug Type:     ODBC related
Bug description:  httpd segfaults when odbc_pconnect called with incorrect 
username/password

Description:
------------
When attempting to connect to an odbc data source via odbc_pconnect with
incorrect username and/or password, the httpd (apache) instance handling
that connection segfaults.

OS is Centos 5 (RHEL5) running in a vmware server virtual machine 32 bit

I am using ODBC to connect to a mysql server running on localhost for
persistent db connections and mysql stored proc support.

Reproduce code:
---------------
<HTML><BODY>
<?php

$link_id = odbc_pconnect('Default', 'root','badpassword');
    if(!$link_id){die("no connection!");}
    else{echo "connected";}
?>
</BODY></HTML>

Expected result:
----------------
user should see connected printed on web page.

Actual result:
--------------
from httpd/error_log

[Wed Sep 12 23:45:44 2007] [notice] child pid 2233 exit signal
Segmentation fault (11)

[EMAIL PROTECTED] ~]# gdb http  2232
GNU gdb Red Hat Linux (6.5-16.el5rh)
This GDB was configured as "i386-redhat-linux-gnu"...http: No such file or
directory.

Attaching to process 2232
Reading symbols from /usr/sbin/httpd...(no debugging symbols
found)...done.
Using host libthread_db library "/lib/libthread_db.so.1".
.
(no debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_suexec.so
Reading symbols from /usr/lib/httpd/modules/mod_disk_cache.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_disk_cache.so
Reading symbols from /usr/lib/httpd/modules/mod_file_cache.so...
(no debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_file_cache.so
Reading symbols from /usr/lib/httpd/modules/mod_mem_cache.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_mem_cache.so
Reading symbols from /usr/lib/httpd/modules/mod_cgi.so...
(no debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_cgi.so
Reading symbols from /usr/lib/httpd/modules/mod_perl.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_perl.so
Reading symbols from
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so...
(no debugging symbols found)...done.
Loaded symbols for
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so
Reading symbols from /lib/libutil.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib/libutil.so.1
Reading symbols from /usr/lib/httpd/modules/libphp5.so...
(no debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/libphp5.so
Reading symbols from /usr/lib/libaspell.so.15...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libaspell.so.15
Reading symbols from /usr/lib/libpspell.so.15...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpspell.so.15
Reading symbols from /usr/lib/sse2/libgmp.so.3...done.
Loaded symbols for /usr/lib/sse2/libgmp.so.3
Reading symbols from /usr/lib/libcurl.so.3...done.
Loaded symbols for /usr/lib/libcurl.so.3
Reading symbols from /usr/lib/libbz2.so.1...done.
Loaded symbols for /usr/lib/libbz2.so.1
Reading symbols from /usr/lib/libxml2.so.2...done.
Loaded symbols for /usr/lib/libxml2.so.2
Reading symbols from /usr/lib/libidn.so.11...done.
Loaded symbols for /usr/lib/libidn.so.11
Reading symbols from /usr/lib/libstdc++.so.6...done.
Loaded symbols for /usr/lib/libstdc++.so.6
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /usr/lib/httpd/modules/mod_python.so...done.
Loaded symbols for /etc/httpd/modules/mod_python.so
Reading symbols from /usr/lib/libpython2.4.so.1.0...done.
Loaded symbols for /usr/lib/libpython2.4.so.1.0
Reading symbols from /usr/lib/httpd/modules/mod_ssl.so...done.
Loaded symbols for /etc/httpd/modules/mod_ssl.so
Reading symbols from /usr/lib/libdistcache.so.1...done.
Loaded symbols for /usr/lib/libdistcache.so.1
Reading symbols from /usr/lib/libnal.so.1...done.
Loaded symbols for /usr/lib/libnal.so.1
Reading symbols from /usr/lib/php/modules/ldap.so...done.
Loaded symbols for /usr/lib/php/modules/ldap.so
Reading symbols from /usr/lib/php/modules/mbstring.so...done.
Loaded symbols for /usr/lib/php/modules/mbstring.so
Reading symbols from /usr/lib/php/modules/mysql.so...done.
Loaded symbols for /usr/lib/php/modules/mysql.so
Reading symbols from /usr/lib/mysql/libmysqlclient.so.15...done.
Loaded symbols for /usr/lib/mysql/libmysqlclient.so.15
Reading symbols from /usr/lib/php/modules/mysqli.so...done.
Loaded symbols for /usr/lib/php/modules/mysqli.so
Reading symbols from /usr/lib/php/modules/odbc.so...done.
Loaded symbols for /usr/lib/php/modules/odbc.so
Reading symbols from /usr/lib/libodbc.so.1...done.
Loaded symbols for /usr/lib/libodbc.so.1
Reading symbols from /usr/lib/libodbcpsql.so.2...done.
Loaded symbols for /usr/lib/libodbcpsql.so.2
Reading symbols from /usr/lib/php/modules/pdo.so...done.
Loaded symbols for /usr/lib/php/modules/pdo.so
Reading symbols from /usr/lib/php/modules/pdo_mysql.so...done.
Loaded symbols for /usr/lib/php/modules/pdo_mysql.so
Reading symbols from /usr/lib/php/modules/pdo_odbc.so...done.
Loaded symbols for /usr/lib/php/modules/pdo_odbc.so
Reading symbols from /usr/lib/php/modules/pdo_sqlite.so...done.
Loaded symbols for /usr/lib/php/modules/pdo_sqlite.so
0x00310402 in __kernel_vsyscall ()
(gdb) where
#0  0x00310402 in __kernel_vsyscall ()
#1  0x004179eb in semop () from /lib/libc.so.6
#2  0x00333dba in apr_os_proc_mutex_put () from /usr/lib/libapr-1.so.0
#3  0x00333392 in apr_proc_mutex_lock () from /usr/lib/libapr-1.so.0
#4  0x00fc56ee in ap_graceful_stop_signalled () from /usr/sbin/httpd
#5  0x00fc5b71 in ap_graceful_stop_signalled () from /usr/sbin/httpd
#6  0x00fc5c4a in ap_graceful_stop_signalled () from /usr/sbin/httpd
#7  0x00fc67ab in ap_mpm_run () from /usr/sbin/httpd
#8  0x00f9d127 in main () from /usr/sbin/httpd

PHP info:
# php -v
PHP 5.1.6 (cli) (built: May  8 2007 19:51:21)

# httpd -V
Server version: Apache/2.2.3
Server built:   Jun 26 2007 19:26:32
Server's Module Magic Number: 20051115:3
Server loaded:  APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture:   32-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

# cat /etc/odbc.ini
[ODBC Data Sources]
MySQL = MySQL Generic ODBC Driver

[Default]
DRIVER=/usr/lib/libmyodbc5.so
SERVER=localhost
DATABASE=ulogdb
UID=
PWD=
PORT=3306

# mysql -V
mysql  Ver 14.12 Distrib 5.0.22, for redhat-linux-gnu (i686) using
readline 5.0


-- 
Edit bug report at http://bugs.php.net/?id=42650&edit=1
-- 
Try a CVS snapshot (PHP 4.4): 
http://bugs.php.net/fix.php?id=42650&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=42650&r=trysnapshot52
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=42650&r=trysnapshot60
Fixed in CVS:                 http://bugs.php.net/fix.php?id=42650&r=fixedcvs
Fixed in release:             
http://bugs.php.net/fix.php?id=42650&r=alreadyfixed
Need backtrace:               http://bugs.php.net/fix.php?id=42650&r=needtrace
Need Reproduce Script:        http://bugs.php.net/fix.php?id=42650&r=needscript
Try newer version:            http://bugs.php.net/fix.php?id=42650&r=oldversion
Not developer issue:          http://bugs.php.net/fix.php?id=42650&r=support
Expected behavior:            http://bugs.php.net/fix.php?id=42650&r=notwrong
Not enough info:              
http://bugs.php.net/fix.php?id=42650&r=notenoughinfo
Submitted twice:              
http://bugs.php.net/fix.php?id=42650&r=submittedtwice
register_globals:             http://bugs.php.net/fix.php?id=42650&r=globals
PHP 3 support discontinued:   http://bugs.php.net/fix.php?id=42650&r=php3
Daylight Savings:             http://bugs.php.net/fix.php?id=42650&r=dst
IIS Stability:                http://bugs.php.net/fix.php?id=42650&r=isapi
Install GNU Sed:              http://bugs.php.net/fix.php?id=42650&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=42650&r=float
No Zend Extensions:           http://bugs.php.net/fix.php?id=42650&r=nozend
MySQL Configuration Error:    http://bugs.php.net/fix.php?id=42650&r=mysqlcfg

Reply via email to