Edit report at https://bugs.php.net/bug.php?id=51946&edit=1

 ID:                 51946
 Updated by:         yohg...@php.net
 Reported by:        justin_burger at adp dot com
 Summary:            Segmentation Faults on postgres  use in session
                     handler.
-Status:             Open
+Status:             Feedback
 Type:               Bug
 Package:            PostgreSQL related
 Operating System:   CentOS release 5.4 (Final)
 PHP Version:        5.2.13
 Block user comment: N
 Private report:     N

 New Comment:

Do you still have this issue with 5.3>?

Could you paste your session save handler code somehere? (e.g. gist.github.com )


Previous Comments:
------------------------------------------------------------------------
[2010-08-02 17:21:21] miroslav dot zacek at skype dot net

Forget my comment please,it is a different problem.

------------------------------------------------------------------------
[2010-07-23 14:06:37] miroslav dot zacek at skype dot net

I think it is the same bug as #52389 I've reported recently (with patch).

------------------------------------------------------------------------
[2010-06-03 19:50:24] justin_burger at adp dot com

This now seems isolated to the session handler use of postgres.

------------------------------------------------------------------------
[2010-06-03 19:49:09] justin_burger at adp dot com

I've done more research and confirmed that I can ONLY reproduce this when using 
postgres as part of session management. executing the exact same SQL outside of 
a 
session handler does not cause the fault.

------------------------------------------------------------------------
[2010-06-02 23:22:56] justin_burger at adp dot com

PG Version =    8.3.9 

Your right, it looks like it's not happening 100% of the time during the 
pg_connect. I created a somewhat simple script which causes the fault on every 
other request. I am able to reproduce this on two different servers. both 
running 5.2.13 with the 8.3.9 version of postgres.

Code to reproduce: http://pastebin.com/nfNJeyMw

Running this script gives me the following backtrace:
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, param_count=2,
    params=0x7fff68c97dc0) at 
/usr/src/debug/php-5.2.13/Zend/zend_execute_API.c:613
#8  0x00002ac7d6da5e25 in ps_call_handler (func=0x15421298, argc=2, 
argv=0x7fff68c97dc0) at /usr/src/debug/php-5.2.13/ext/session/mod_user.c:53
#9  0x00002ac7d6da6099 in ps_write_user (mod_data=<value optimized out>, 
key=0x1560c698 "6c4u9vvv7b2hb5jh1bgg3916m6",
    val=0x156700a8 
"CONNECTION_ID|s:2:\"QA\";USER_OBJECT|s:3667:\"O:4:\"user\":22:{s:17:\"", 
vallen=3712)
    at /usr/src/debug/php-5.2.13/ext/session/mod_user.c:141
#10 0x00002ac7d6da2022 in php_session_save_current_state () at 
/usr/src/debug/php-5.2.13/ext/session/session.c:550
#11 php_session_flush () at /usr/src/debug/php-5.2.13/ext/session/session.c:1407
#12 0x00002ac7d6da22e9 in zm_deactivate_session (type=354147664, 
module_number=5) at /usr/src/debug/php-5.2.13/ext/session/session.c:2015
#13 0x00002ac7d6efddfc in module_registry_cleanup (module=<value optimized 
out>) at /usr/src/debug/php-5.2.13/Zend/zend_API.c:1976
#14 0x00002ac7d6f06d84 in zend_hash_reverse_apply (ht=0x2ac7d74abb00, 
apply_func=0x2ac7d6efdde0 <module_registry_cleanup>)
    at /usr/src/debug/php-5.2.13/Zend/zend_hash.c:755
#15 0x00002ac7d6efc47d in zend_deactivate_modules () at 
/usr/src/debug/php-5.2.13/Zend/zend.c:838
#16 0x00002ac7d6eb944a in php_request_shutdown (dummy=<value optimized out>) at 
/usr/src/debug/php-5.2.13/main/main.c:1478
#17 0x00002ac7d6f80b9e in php_apache_request_dtor (r=0x15458be0) at 
/usr/src/debug/php-5.2.13/sapi/apache2handler/sapi_apache2.c:479
#18 php_handler (r=0x15458be0) at 
/usr/src/debug/php-5.2.13/sapi/apache2handler/sapi_apache2.c:651
#19 0x00000000004362ea in ap_run_handler (r=0x15458be0) at config.c:157
#20 0x000000000043952c in ap_invoke_handler (r=0x15458be0) at config.c:372
#21 0x0000000000443b58 in ap_process_request (r=0x15458be0) at 
http_request.c:282
#22 0x0000000000440efc in ap_process_http_connection (c=0x1544ed80) at 
http_core.c:190
#23 0x000000000043d202 in ap_run_process_connection (c=0x1544ed80) at 
connection.c:43
#24 0x0000000000447a90 in child_main (child_num_arg=<value optimized out>) at 
prefork.c:662
#25 0x0000000000447c93 in make_child (s=0x1509b848, slot=0) at prefork.c:702
#26 0x0000000000448866 in ap_mpm_run (_pconf=<value optimized out>, plog=<value 
optimized out>, s=0x1509b848) at prefork.c:978
#27 0x0000000000423e98 in main (argc=2, argv=0x7fff68c98848) at main.c:740

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=51946


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=51946&edit=1

Reply via email to