| 
        php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits             
             [2011-03-15 05:10 UTC] ezequiel dot lara at mpt dot es
  [2013-04-04 13:39 UTC] giacomo at boticca dot com
  [2021-03-25 16:43 UTC] cmb@php.net
 
-Status:      Open
+Status:      Closed
-Assigned To:
+Assigned To: cmb
  [2021-03-25 16:43 UTC] cmb@php.net
  | 
    |||||||||||||||||||||||||||||||||||||
            
                 
                Copyright © 2001-2025 The PHP GroupAll rights reserved.  | 
        Last updated: Tue Nov 04 15:00:01 2025 UTC | 
Description: ------------ I have found several issues with session redundancy: - With three servers configured in session.save_path , and session_redundancy set to 3, the session gets only stored in two of them. I have verified this by starting three servers on localhost verbosely on different ports (with /etc/hosts aliases); I only see traffic in two of them. - Afterwards, when at least one of the two servers in use is stopped or cannot be resolved, I always get a crash. Possibly related to 13623 . Currently I have APC active but it crashes with and without it.Crash is also independent of the handler, it crashes similarly with both apache 2.0 handler , apache zts handler and fcgid + php-cgi. Therefore with session redundancy I get lowered availability instead of the opposite !! :) php 5.3.5 (cgi and apache) from Fedora 14 x86_64 with updates repo, extension version 3.0.5 , memcached 1.4 . I can reproduce this with hand-compiled php and rhel 5.4 , I just did it on Fedora for being easier to test and debug. Expected result: ---------------- Same session stored in the three servers. Actual result: -------------- gdb backtrace of php-cgi: 2018 if (ZEND_MM_IS_FREE_BLOCK(next_block)) { (gdb) bt #0 _zend_mm_free_int (heap=0x29d5320, p=0x2bcf0f0) at /usr/src/debug/php-5.3.5/Zend/zend_alloc.c:2018 #1 0x00007f73714290fb in mmc_buffer_free (request=0x2bcf100) at /usr/src/debug/php-pecl-memcache-3.0.5/memcache-3.0.5/memcache_pool.c:50 #2 mmc_request_free (request=0x2bcf100) at /usr/src/debug/php-pecl-memcache-3.0.5/memcache-3.0.5/memcache_pool.c:169 #3 0x00007f737142a6ca in mmc_pool_free (pool=0x2bcabd0) at /usr/src/debug/php-pecl-memcache-3.0.5/memcache-3.0.5/memcache_pool.c:928 #4 0x00007f73714316b1 in ps_close_memcache (mod_data=0x93cce0) at /usr/src/debug/php-pecl-memcache-3.0.5/memcache-3.0.5/memcache_session.c:185 #5 0x00000000004b99e5 in php_session_save_current_state () at /usr/src/debug/php-5.3.5/ext/session/session.c:624 #6 php_session_flush () at /usr/src/debug/php-5.3.5/ext/session/session.c:1516 #7 0x00000000004b9cb7 in zm_deactivate_session (type=<value optimized out>, module_number=<value optimized out>) at /usr/src/debug/php-5.3.5/ext/session/session.c:2170 #8 0x00000000005b5b2c in module_registry_cleanup (module=<value optimized out>) at /usr/src/debug/php-5.3.5/Zend/zend_API.c:2150 #9 0x00000000005bc78c in zend_hash_reverse_apply (ht=0x941620, apply_func=0x5b5b10 <module_registry_cleanup>) at /usr/src/debug/php-5.3.5/Zend/zend_hash.c:758 #10 0x00000000005af25d in zend_deactivate_modules () at /usr/src/debug/php-5.3.5/Zend/zend.c:866 #11 0x000000000055d2a5 in php_request_shutdown (dummy=<value optimized out>) at /usr/src/debug/php-5.3.5/main/main.c:1607 #12 0x00000000006437cd in main (argc=1, argv=0x7fff39fb01a8) at /usr/src/debug/php-5.3.5/sapi/cgi/cgi_main.c:2159