Virtuemart is an e-commerce (online shop) solution which can be used as an extension in Joomla. After some research today I found out that Virtuemart really doesn't like APC (Alternative PHP Cache).
The php-fpm log showed the following errors:
[26-Sep-2013 09:55:52] WARNING: [pool mywebhost] child 48864 said into stderr: "zend_mm_heap corrupted"
[26-Sep-2013 09:55:52] WARNING: [pool mywebhost] child 48864 exited with code 1 after 4938.339129 seconds from start
[26-Sep-2013 09:55:52] NOTICE: [pool mywebhost] child 51756 started
[26-Sep-2013 09:56:50] WARNING: [pool mywebhost] child 70607 said into stderr: "zend_mm_heap corrupted"
[26-Sep-2013 09:56:50] WARNING: [pool mywebhost] child 70607 exited with code 1 after 24946.369748 seconds from start
[26-Sep-2013 09:56:50] NOTICE: [pool mywebhost] child 51769 started
Unfortunately these warnings didn't really show what the issue was. A research for "zend_mm_heap corrupted" showed way too many possibilities of issues (bug in old PHP version, suhosin related issues, problem with output_buffer value, ...), so I activated the error logging of this host and soon found the relevant entries like this:
Fatal error: Internal Zend error - Missing class information for in /home/mywebhost/htdocs/administrator/components/com_virtuemart/version.php on line 30
At least this was much more revealing. By looking for this Zend error, I came across this page, which in general has nothing to do with Virtuemart, but the exact same error message there was explained as being triggered by APC.
As soon as I disabled the APC cache for this particular web host, the errors disappeared and the shop was running as it should.
Here's the relevant php-fpm config entry to disable APC cache:
php_flag[apc.cache_by_default] = off
No comments yet.
Personal Internet VMware PHP Linux Shell Bluecoat Proxy Windows Hardware Virtualization Nagios MySQL DB Monitoring Mail Android Network Wyse Hacks Tomcat Postgres Apple Mac Backup BSD ZFS Solaris SmartOS Unix Multimedia Perl Database MongoDB CMS OTRS FreeBSD Wordpress LXC Nginx Proxmox DNS Graphics GlusterFS Security Chef HAProxy Icinga Ansible HTML MariaDB Containers Rancher Docker AWS ELK Kibana Logstash Filebeat Varnish PGSQL PostgreSQL ElasticSearch CouchDB Bash Macintosh Container Minio Grafana InfluxDB Databases NFS OSSEC SystemD Java Zoneminder Surveillance Elasticsearch SSL TLS Icingaweb2 Cloud Wireless Kubernetes Ubuntu