The fine folks building HHVM released version 3.2.0 which I installed on my development box to try out only to find that suddenly I was getting nothing but 404's.
I downgraded to 3.1.0 and once again everything worked.
It took some crawling through the FastCGI code to realize that in 3.2.0 SCRIPT_FILENAME was wrong.
Checking through the changes to the FastCGI code on github I came across this commit:
It turns out that in my nginx configuration I was inadvertently pulling in the standard fastcgi_params include file after I set my own values. If NGINX replaced a header if it's redefined or threw some kind of warning, I would have caught this some time ago. Why NGINX doubles up the headers, I don't understand. So I had SCRIPT_FILENAME defined twice and it was getting sent to HHVM twice. In 3.1.0, the first definition was used. In 3.2.0, the second one was used.
formVista generated this page in: 0.1214 seconds
using '6291456' bytes of memory