hhvm still fails because of __set_state()