From:
Operating system: CentOS release 5.4 (Final)
PHP version: 5.2.13
Package: PostgreSQL related
Bug Type: Bug
Bug description:Segmentation Faults on postgres function use.
Description:
------------
I'm able to reproduce this issue 100% of the time when using pg_connect or
pg_query. I've tested with all other extensions turned off and see the same
result. The only way I can prevent this segmentation fault is to turn off
Zend_MM (which is obviously not a solution).
Core was generated by `/opt/adp/httpd/bin/httpd -X'.
Program terminated with signal 11, Segmentation fault.
#0 0x00002ac7d6ee1c20 in zend_mm_search_large_block (heap=0x151bdd50,
size=24)
at /usr/src/debug/php-5.2.13/Zend/zend_alloc.c:1753
1753 if (ZEND_MM_FREE_BLOCK_SIZE(p) <
ZEND_MM_FREE_BLOCK_SIZE
(best_fit)) {
(gdb) bt
#0 0x00002ac7d6ee1c20 in zend_mm_search_large_block (heap=0x151bdd50,
size=24)
at /usr/src/debug/php-5.2.13/Zend/zend_alloc.c:1753
#1 _zend_mm_alloc_int (heap=0x151bdd50, size=24)
at /usr/src/debug/php-5.2.13/Zend/zend_alloc.c:1812
#2 0x00002ac7dcdd8e80 in zif_pg_query (ht=<value optimized out>,
return_value=0x15671350, return_value_ptr=<value optimized out>,
this_ptr=<value optimized out>, return_value_used=<value optimized
out>)
at /usr/src/debug/php-5.2.13/ext/pgsql/pgsql.c:1184
#3 0x00002ac7d6f1d582 in zend_do_fcall_common_helper_SPEC (
execute_data=0x7fff68c97af0)
at /usr/src/debug/php-5.2.13/Zend/zend_vm_execute.h:200
#4 0x00002ac7d6f1c73c in execute (op_array=0x155df890)
at /usr/src/debug/php-5.2.13/Zend/zend_vm_execute.h:92
#5 0x00002ac7d6ef1299 in zend_call_function (fci=0x7fff68c97cd0,
fci_cache=<value optimized out>)
at /usr/src/debug/php-5.2.13/Zend/zend_execute_API.c:1039
#6 0x00002ac7d6ef2386 in call_user_function_ex (
function_table=<value optimized out>, object_pp=<value optimized out>,
function_name=0x7274732061206e69, retval_ptr_ptr=0x1541dda0,
param_count=1, params=0x0, no_separation=1, symbol_table=0x0)
at /usr/src/debug/php-5.2.13/Zend/zend_execute_API.c:640
#7 0x00002ac7d6ef2406 in call_user_function (function_table=0x151bd640,
object_pp=0x0, function_name=0x15421298, retval_ptr=0x15642688,
Test script:
---------------
any pg_connect call results in a segmentation fault.
Expected result:
----------------
connection to postgres, rather than a connection refused.
Actual result:
--------------
Loaded symbols for /opt/adp/httpd/modules/mod_env.so
Reading symbols from /opt/adp/httpd/modules/mod_mime_magic.so...Reading
symbols
from
/usr/lib/debug/opt/adp/httpd/modules/mod_mime_magic.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_mime_magic.so
Reading symbols from /opt/adp/httpd/modules/mod_cern_meta.so...Reading
symbols f
rom
/usr/lib/debug/opt/adp/httpd/modules/mod_cern_meta.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_cern_meta.so
Reading symbols from /opt/adp/httpd/modules/mod_expires.so...Reading
symbols fro
m
/usr/lib/debug/opt/adp/httpd/modules/mod_expires.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_expires.so
Reading symbols from /opt/adp/httpd/modules/mod_headers.so...Reading
symbols fro
m
/usr/lib/debug/opt/adp/httpd/modules/mod_headers.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_headers.so
Reading symbols from /opt/adp/httpd/modules/mod_ident.so...Reading symbols
from
/usr/lib/debug/opt/adp/httpd/modules/mod_ident.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_ident.so
Reading symbols from /opt/adp/httpd/modules/mod_usertrack.so...Reading
symbols f
rom
/usr/lib/debug/opt/adp/httpd/modules/mod_usertrack.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_usertrack.so
Reading symbols from /opt/adp/httpd/modules/mod_unique_id.so...Reading
symbols f
rom
/usr/lib/debug/opt/adp/httpd/modules/mod_unique_id.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_unique_id.so
Reading symbols from /opt/adp/httpd/modules/mod_setenvif.so...Reading
symbols fr
om
/usr/lib/debug/opt/adp/httpd/modules/mod_setenvif.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_setenvif.so
Reading symbols from /opt/adp/httpd/modules/mod_version.so...Reading
symbols fro
m
/usr/lib/debug/opt/adp/httpd/modules/mod_version.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_version.so
Reading symbols from /opt/adp/httpd/modules/mod_ssl.so...Reading symbols
from /u
sr/lib/debug/opt/adp/httpd/modules/mod_ssl.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_ssl.so
Reading symbols from /lib64/libssl.so.6...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libssl.so.6
Reading symbols from /lib64/libcrypto.so.6...(no debugging symbols
found)...done
.
Loaded symbols for /lib64/libcrypto.so.6
Reading symbols from /usr/lib64/libgssapi_krb5.so.2...(no debugging symbols
foun
d)...done.
Loaded symbols for /usr/lib64/libgssapi_krb5.so.2
Reading symbols from /usr/lib64/libkrb5.so.3...(no debugging symbols
found)...do
ne.
Loaded symbols for /usr/lib64/libkrb5.so.3
Reading symbols from /lib64/libcom_err.so.2...(no debugging symbols
found)...don
e.
Loaded symbols for /lib64/libcom_err.so.2
Reading symbols from /usr/lib64/libk5crypto.so.3...(no debugging symbols
found).
..done.
Loaded symbols for /usr/lib64/libk5crypto.so.3
Reading symbols from /usr/lib64/libkrb5support.so.0...(no debugging symbols
foun
d)...done.
Loaded symbols for /usr/lib64/libkrb5support.so.0
Reading symbols from /lib64/libkeyutils.so.1...(no debugging symbols
found)...do
ne.
Loaded symbols for /lib64/libkeyutils.so.1
Reading symbols from /lib64/libresolv.so.2...(no debugging symbols
found)...done
.
Loaded symbols for /lib64/libresolv.so.2
Reading symbols from /lib64/libselinux.so.1...(no debugging symbols
found)...don
e.
Loaded symbols for /lib64/libselinux.so.1
Reading symbols from /lib64/libsepol.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libsepol.so.1
Reading symbols from /opt/adp/httpd/modules/mod_mime.so...Reading symbols
from /
usr/lib/debug/opt/adp/httpd/modules/mod_mime.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_mime.so
Reading symbols from /opt/adp/httpd/modules/mod_dav.so...Reading symbols
from /u
sr/lib/debug/opt/adp/httpd/modules/mod_dav.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_dav.so
Reading symbols from /opt/adp/httpd/modules/mod_status.so...Reading symbols
from
/usr/lib/debug/opt/adp/httpd/modules/mod_status.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_status.so
Reading symbols from /opt/adp/httpd/modules/mod_autoindex.so...Reading
symbols f
rom
/usr/lib/debug/opt/adp/httpd/modules/mod_autoindex.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_autoindex.so
Reading symbols from /opt/adp/httpd/modules/mod_asis.so...Reading symbols
from /
usr/lib/debug/opt/adp/httpd/modules/mod_asis.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_asis.so
Reading symbols from /opt/adp/httpd/modules/mod_info.so...Reading symbols
from /
usr/lib/debug/opt/adp/httpd/modules/mod_info.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_info.so
Reading symbols from /opt/adp/httpd/modules/mod_cgi.so...Reading symbols
from /u
sr/lib/debug/opt/adp/httpd/modules/mod_cgi.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_cgi.so
Reading symbols from /opt/adp/httpd/modules/mod_dav_fs.so...Reading symbols
from
/usr/lib/debug/opt/adp/httpd/modules/mod_dav_fs.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_dav_fs.so
Reading symbols from /opt/adp/httpd/modules/mod_vhost_alias.so...Reading
symbols
from
/usr/lib/debug/opt/adp/httpd/modules/mod_vhost_alias.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_vhost_alias.so
Reading symbols from /opt/adp/httpd/modules/mod_negotiation.so...Reading
symbols
from
/usr/lib/debug/opt/adp/httpd/modules/mod_negotiation.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_negotiation.so
Reading symbols from /opt/adp/httpd/modules/mod_dir.so...Reading symbols
from /u
sr/lib/debug/opt/adp/httpd/modules/mod_dir.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_dir.so
Reading symbols from /opt/adp/httpd/modules/mod_imagemap.so...Reading
symbols fr
om
/usr/lib/debug/opt/adp/httpd/modules/mod_imagemap.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_imagemap.so
Reading symbols from /opt/adp/httpd/modules/mod_actions.so...Reading
symbols fro
m
/usr/lib/debug/opt/adp/httpd/modules/mod_actions.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_actions.so
Reading symbols from /opt/adp/httpd/modules/mod_speling.so...Reading
symbols fro
m
/usr/lib/debug/opt/adp/httpd/modules/mod_speling.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_speling.so
Reading symbols from /opt/adp/httpd/modules/mod_userdir.so...Reading
symbols fro
m
/usr/lib/debug/opt/adp/httpd/modules/mod_userdir.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_userdir.so
Reading symbols from /opt/adp/httpd/modules/mod_alias.so...Reading symbols
from
/usr/lib/debug/opt/adp/httpd/modules/mod_alias.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_alias.so
Reading symbols from /opt/adp/httpd/modules/mod_rewrite.so...Reading
symbols fro
m
/usr/lib/debug/opt/adp/httpd/modules/mod_rewrite.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/mod_rewrite.so
Reading symbols from /opt/adp/httpd/modules/libphp5.so...Reading symbols
from /u
sr/lib/debug/opt/adp/httpd/modules/libphp5.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/modules/libphp5.so
Reading symbols from /usr/lib64/libexslt.so.0...(no debugging symbols
found)...d
one.
Loaded symbols for /usr/lib64/libexslt.so.0
Reading symbols from /usr/lib64/libmcrypt.so.4...(no debugging symbols
found)...
done.
Loaded symbols for /usr/lib64/libmcrypt.so.4
Reading symbols from /usr/lib64/libltdl.so.3...(no debugging symbols
found)...do
ne.
Loaded symbols for /usr/lib64/libltdl.so.3
Reading symbols from /usr/lib64/libt1.so.5...(no debugging symbols
found)...done
.
Loaded symbols for /usr/lib64/libt1.so.5
Reading symbols from /usr/lib64/libfreetype.so.6...(no debugging symbols
found).
..done.
Loaded symbols for /usr/lib64/libfreetype.so.6
Reading symbols from /usr/lib64/libpng12.so.0...(no debugging symbols
found)...d
one.
Loaded symbols for /usr/lib64/libpng12.so.0
Reading symbols from /usr/lib64/libjpeg.so.62...(no debugging symbols
found)...d
one.
Loaded symbols for /usr/lib64/libjpeg.so.62
Reading symbols from /usr/lib64/libgdbm.so.2...(no debugging symbols
found)...do
ne.
Loaded symbols for /usr/lib64/libgdbm.so.2
Reading symbols from /usr/lib64/libcurl.so.3...(no debugging symbols
found)...do
ne.
Loaded symbols for /usr/lib64/libcurl.so.3
Reading symbols from /usr/lib64/libbz2.so.1...(no debugging symbols
found)...don
e.
Loaded symbols for /usr/lib64/libbz2.so.1
Reading symbols from /lib64/libnsl.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libnsl.so.1
Reading symbols from /usr/lib64/libxml2.so.2...(no debugging symbols
found)...do
ne.
Loaded symbols for /usr/lib64/libxml2.so.2
Reading symbols from /usr/lib64/libidn.so.11...(no debugging symbols
found)...do
ne.
Loaded symbols for /usr/lib64/libidn.so.11
Reading symbols from /usr/lib64/libnetsnmp.so.10...(no debugging symbols
found).
..done.
Loaded symbols for /usr/lib64/libnetsnmp.so.10
Reading symbols from /lib64/libwrap.so.0...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libwrap.so.0
Reading symbols from /usr/lib64/libxslt.so.1...(no debugging symbols
found)...do
ne.
Loaded symbols for /usr/lib64/libxslt.so.1
Reading symbols from /usr/lib64/libgcrypt.so.11...(no debugging symbols
found)..
.done.
Loaded symbols for /usr/lib64/libgcrypt.so.11
Reading symbols from /usr/lib64/libgpg-error.so.0...(no debugging symbols
found)
...done.
Loaded symbols for /usr/lib64/libgpg-error.so.0
Reading symbols from /opt/adp/httpd/lib/php/modules/pgsql.so...Reading
symbols f
rom
/usr/lib/debug/opt/adp/httpd/lib/php/modules/pgsql.so.debug...done.
done.
Loaded symbols for /opt/adp/httpd/lib/php/modules/pgsql.so
Reading symbols from /usr/lib64/libpq.so.5...Reading symbols from
/usr/lib/debug
/usr/lib64/libpq.so.5.1.debug...done.
done.
Loaded symbols for /usr/lib64/libpq.so.5
Reading symbols from /usr/lib64/libldap_r-2.3.so.0...(no debugging symbols
found
)...done.
Loaded symbols for /usr/lib64/libldap_r-2.3.so.0
Reading symbols from /usr/lib64/liblber-2.3.so.0...(no debugging symbols
found).
..done.
Loaded symbols for /usr/lib64/liblber-2.3.so.0
Reading symbols from /usr/lib64/libsasl2.so.2...(no debugging symbols
found)...d
one.
Loaded symbols for /usr/lib64/libsasl2.so.2
Reading symbols from /lib64/libnss_files.so.2...(no debugging symbols
found)...d
one.
Loaded symbols for /lib64/libnss_files.so.2
Core was generated by `/opt/adp/httpd/bin/httpd -X'.
Program terminated with signal 11, Segmentation fault.
#0 0x00002ac7d6ee1c20 in zend_mm_search_large_block (heap=0x151bdd50,
size=24)
at /usr/src/debug/php-5.2.13/Zend/zend_alloc.c:1753
1753 if (ZEND_MM_FREE_BLOCK_SIZE(p) <
ZEND_MM_FREE_BLOCK_SIZE
(best_fit)) {
(gdb) bt
#0 0x00002ac7d6ee1c20 in zend_mm_search_large_block (heap=0x151bdd50,
size=24)
at /usr/src/debug/php-5.2.13/Zend/zend_alloc.c:1753
#1 _zend_mm_alloc_int (heap=0x151bdd50, size=24)
at /usr/src/debug/php-5.2.13/Zend/zend_alloc.c:1812
#2 0x00002ac7dcdd8e80 in zif_pg_query (ht=<value optimized out>,
return_value=0x15671350, return_value_ptr=<value optimized out>,
this_ptr=<value optimized out>, return_value_used=<value optimized
out>)
at /usr/src/debug/php-5.2.13/ext/pgsql/pgsql.c:1184
#3 0x00002ac7d6f1d582 in zend_do_fcall_common_helper_SPEC (
execute_data=0x7fff68c97af0)
at /usr/src/debug/php-5.2.13/Zend/zend_vm_execute.h:200
#4 0x00002ac7d6f1c73c in execute (op_array=0x155df890)
at /usr/src/debug/php-5.2.13/Zend/zend_vm_execute.h:92
#5 0x00002ac7d6ef1299 in zend_call_function (fci=0x7fff68c97cd0,
fci_cache=<value optimized out>)
at /usr/src/debug/php-5.2.13/Zend/zend_execute_API.c:1039
#6 0x00002ac7d6ef2386 in call_user_function_ex (
function_table=<value optimized out>, object_pp=<value optimized out>,
function_name=0x7274732061206e69, retval_ptr_ptr=0x1541dda0,
param_count=1, params=0x0, no_separation=1, symbol_table=0x0)
at /usr/src/debug/php-5.2.13/Zend/zend_execute_API.c:640
#7 0x00002ac7d6ef2406 in call_user_function (function_table=0x151bd640,
object_pp=0x0, function_name=0x15421298, retval_ptr=0x15642688,
--
Edit bug report at http://bugs.php.net/bug.php?id=51946&edit=1
--
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=51946&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=51946&r=trysnapshot53
Try a snapshot (trunk):
http://bugs.php.net/fix.php?id=51946&r=trysnapshottrunk
Fixed in SVN:
http://bugs.php.net/fix.php?id=51946&r=fixed
Fixed in SVN and need be documented:
http://bugs.php.net/fix.php?id=51946&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=51946&r=alreadyfixed
Need backtrace:
http://bugs.php.net/fix.php?id=51946&r=needtrace
Need Reproduce Script:
http://bugs.php.net/fix.php?id=51946&r=needscript
Try newer version:
http://bugs.php.net/fix.php?id=51946&r=oldversion
Not developer issue:
http://bugs.php.net/fix.php?id=51946&r=support
Expected behavior:
http://bugs.php.net/fix.php?id=51946&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=51946&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=51946&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=51946&r=globals
PHP 4 support discontinued: http://bugs.php.net/fix.php?id=51946&r=php4
Daylight Savings: http://bugs.php.net/fix.php?id=51946&r=dst
IIS Stability:
http://bugs.php.net/fix.php?id=51946&r=isapi
Install GNU Sed:
http://bugs.php.net/fix.php?id=51946&r=gnused
Floating point limitations:
http://bugs.php.net/fix.php?id=51946&r=float
No Zend Extensions:
http://bugs.php.net/fix.php?id=51946&r=nozend
MySQL Configuration Error:
http://bugs.php.net/fix.php?id=51946&r=mysqlcfg