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.
AWS Android Ansible Apache Apple Atlassian BSD Backup Bash Bluecoat CMS Chef Cloud Coding Consul Container Containers CouchDB DB DNS Database Databases Docker ELK ElasticSearch Elasticsearch Filebeat FreeBSD GlusterFS Grafana Graphics HAProxy HTML Hacks Hardware Icinga Icingaweb2 InfluxDB Internet Java KVM Kibana Kubernetes LXC Linux Logstash Mac Macintosh Mail MariaDB Minio MongoDB Monitoring Multimedia MySQL NFS Nagios Network Nginx OSSEC OTRS PGSQL PHP Perl Personal PostgreSQL Postgres PowerDNS Proxmox Proxy Python Rancher SSL Security Shell SmartOS Solaris Surveillance SystemD TLS Tomcat Ubuntu Unix VMWare VMware Varnish Virtualization Windows Wireless Wordpress Wyse ZFS Zoneminder