Thursday, March 31, 2016

HHVM Segfault since latest update (3.13.0) switch to LTS 3.12.1

Today is March 31, 2016.
Just upgrade the HHVM to latest update 3.13.0.

Then my blog start to crash, restart the HHVM service several times, No help.
Check the log and debug into No help.

HHVM's Github support also reporting similar issue:

So I switch to the latest LTS which is 3.12.1 at this moment.

First I backup my own HHVM config file:

cp /etc/hhvm/* ~/hhvm_backup/
cp /etc/init.d/hhvm ~/hhvm_backup/init_hhvm
cp -r /etc/nginx/* ~/hhvm_backup/nginx

Then clean up the 3.13.0 package:

apt-get purge hhvm
apt-get autoremove
apt-get clean all

Put new apt config file: /etc/apt/sources.list.d/hhvm.list

deb jessie-lts-3.12 main

Install the latest LTS HHVM:

apt-get update
apt-get install hhvm

Recover my backup config file:

cp server.ini /etc/hhvm/
cp hhvm.conf /etc/nginx/hhvm.conf

Start the service:

service hhvm restart
service nginx restart

And I am back.

I love hhvm, but you better stay on LTS for production level service or system.

Have a nice day!

Update April 4th, 2016:

My HHVM 3.12.1 just crash, but a restart service make it stable for next few days.

It seems there are 2 tweaks you can try:

1.Maybe usefull: When the daemon is started via systemctl it dies after some requests. It will runs if run by:
hhvm -m server -c /etc/hhvm/server.ini

2.Changing /etc/hhvm/php.ini using hhvm.log.level = Error
; hhvm specific
;hhvm.log.level = Warning
hhvm.log.level = Error


I also add these line in my /etc/hhvm/php.ini
; mysql
hhvm.mysql.socket = /var/run/mysqld/mysqld.sock
hhvm.pdo_mysql.socket = /var/run/mysqld/mysqld.sock
hhvm.mysqli.socket = /var/run/mysqld/mysqld.sock


  1. Thank you. God bless you brother. Because I just did right now.

  2. Glade it helps.
    Have a Nice day!