Virtuemart shop does not like APC: Internal Zend error - Missing class info

Written by - 0 comments

Published on - Listed in PHP


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

 


Add a comment

Show form to leave a comment

Comments (newest first)

No comments yet.

RSS feed

Blog Tags:

  AWS   Android   Ansible   Apache   Apple   Atlassian   BSD   Backup   Bash   Bluecoat   CMS   Chef   Cloud   Coding   Consul   Containers   CouchDB   DB   DNS   Database   Databases   Docker   ELK   Elasticsearch   Filebeat   FreeBSD   Galera   Git   GlusterFS   Grafana   Graphics   HAProxy   HTML   Hacks   Hardware   Icinga   Influx   Internet   Java   KVM   Kibana   Kodi   Kubernetes   LVM   LXC   Linux   Logstash   Mac   Macintosh   Mail   MariaDB   Minio   MongoDB   Monitoring   Multimedia   MySQL   NFS   Nagios   Network   Nginx   OSSEC   OTRS   Office   OpenSearch   PGSQL   PHP   Perl   Personal   PostgreSQL   Postgres   PowerDNS   Proxmox   Proxy   Python   Rancher   Rant   Redis   Roundcube   SSL   Samba   Seafile   Security   Shell   SmartOS   Solaris   Surveillance   Systemd   TLS   Tomcat   Ubuntu   Unix   VMWare   VMware   Varnish   Virtualization   Windows   Wireless   Wordpress   Wyse   ZFS   Zoneminder