On Ubuntu or Debian machines, if session.save_path is not set, then session files are saved in `/var/lib/php5` by default. If you check the hhvm logs in `/var/log/hhvm/error.log` there is an error `\nFatal error: Failed to initialize storage module: user (path: /var/lib/php5) in /var/www/html/commerce-demo/includes/session.inc on line 287` Drupal/PHP fails to create a session in the `drupal_session_start()` function because the default location to store the session files `/var/lib/php5` does not exist or is not known within our setup with hhvm. In my Drupal settings.php file I added to the bottom ini_set("session.save_path", ""); This resets the path to `""` (an empty string), by default this evaluates to the temp folder of the system. This helped me: http://stackoverflow.com/questions/4927850/location-for-session-files-in-apache-php To find the current session save path, you can use `session_save_path()` (Get and/or set the current session save path). Why drupal failed to create only the sessions related to the checkout page is not clear to me, but now it works ;)