Issues

ZF-12511: Loading XCache module causes Seg Fault

Description

Loading the following version of XCache causes Seg Faulting each time php-cli is run.

[root@app-zend01 conf.d]# rpm -qa | grep -i xcache php-xcache-3.0.0-1.el6.1.x86_64

Framework rpms: [root@app-zend01 conf.d]# rpm -qa | grep -i zend | grep -i framework zend-server-framework-1.12.0-9.noarch libframework1-zend-server-1.11.1-21.noarch zend-server-framework2-2.0.2-289.noarch

XCache.ini [xcache-common] extension = xcache.so

[xcache.admin] xcache.admin.enable_auth = On xcache.admin.user = "mOo" ; xcache.admin.pass = md5($your_password) xcache.admin.pass = ""

[xcache] ; ini only settings, all the values here is default unless explained

; select low level shm/allocator scheme implemenation xcache.shm_scheme = "mmap" ; to disable: xcache.size=0 ; to enable : xcache.size=64M etc (any size > 0) and your system mmap allows xcache.size = 60M ; set to cpu count (cat /proc/cpuinfo |grep -c processor) xcache.count = 1 ; just a hash hints, you can always store count(items) > slots xcache.slots = 8K ; ttl of the cache item, 0=forever xcache.ttl = 0 ; interval of gc scanning expired items, 0=no scan, other values is in seconds xcache.gc_interval = 0

; same as aboves but for variable cache xcache.var_size = 4M xcache.var_count = 1 xcache.var_slots = 8K ; default ttl xcache.var_ttl = 0 xcache.var_maxttl = 0 xcache.var_gc_interval = 300

xcache.test = Off ; N/A for /dev/zero xcache.readonly_protection = Off ; for *nix, xcache.mmap_path is a file path, not directory. ; Use something like "/tmp/xcache" if you want to turn on ReadonlyProtection ; 2 group of php won't share the same /tmp/xcache ; for win32, xcache.mmap_path=anonymous map name, not file path xcache.mmap_path = "/dev/zero"

; leave it blank(disabled) or "/tmp/phpcore/" ; make sure it's writable by php (without checking open_basedir) xcache.coredump_directory = ""

; per request settings xcache.cacher = On xcache.stat = On xcache.optimizer = Off

[xcache.coverager] ; per request settings ; enable coverage data collecting for xcache.coveragedump_directory and xcache_coverager_start/stop/get/clean() functions (will hurt executing performance) xcache.coverager = Off

; ini only settings ; make sure it's readable (care open_basedir) by coverage viewer script ; requires xcache.coverager=On xcache.coveragedump_directory = ""

GDB:

Program received signal SIGSEGV, Segmentation fault. 0x00007fffe1e96a10 in ?? () from /usr/local/zend/lib/debugger/php-5.3.x/ZendDebugger.so

After debugger.ini is renamed to *.off the module loads:

[root@app-zend01 conf.d]# php -m [PHP Modules] apc bcmath bz2 calendar Core ctype curl date dom ereg exif fileinfo filter ftp gd gettext hash ibm_db2 iconv imap intl json ldap libxml mbstring mcrypt mysql mysqli oci8 odbc openssl pcntl pcre pdf PDO pdo_mysql PDO_OCI PDO_ODBC pdo_pgsql pdo_sqlite pgsql Phar posix readline Reflection session SimpleXML soap sockets SPL SQLite sqlite3 standard tidy tokenizer wddx XCache XCache Cacher XCache Coverager XCache Optimizer xml xmlreader xmlwriter xsl Zend Code Tracing Zend Data Cache Zend Download Server Zend Job Queue Zend Monitor Zend Optimizer+ Zend Page Cache Zend Session Clustering Zend Utils zip zlib

[Zend Modules] XCache XCache Cacher XCache Coverager XCache Optimizer Zend Code Tracing Zend Data Cache Zend Download Server Zend Extension Manager Zend Job Queue Zend Monitor Zend Optimizer+ Zend Page Cache Zend Session Clustering Zend Utils

Comments

Ignore. Put issue in wrong place. Can't close this out.