Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HHVM RepoMode Segmentation Fault

Tags:

php

hhvm

Specs: Ubunutu 16.04.1 Server nginx 1.10 HHVM 3.17.0

I am attempting to gather a list of files, and run them through the hhvm compiler to utilize repo mode, with the following code:

#!/bin/bash

if [ "$(whoami)" != "root" ]; then
    echo "Only root can do this.";
    exit 1;
else

    if [ $# -eq 0 ]; then
        echo "Please pass the account name to enable this for"
        exit 1;
    else

        #Get a list of files
        FLIST=$(find /home/$1/www/ -type f -name '*.php');
        for F in $FLIST
        do
            if [ -f $F ]; then
                echo "Adding; $F";
                echo $F >> $1-list.txt;
            fi;
        done;
        hhvm --hphp -t hhbc -v AllVolatile=false -v WholeProgram=false --input-list $1-list.txt;
        sleep 1;
        rm -f $1-list.txt;
    fi;

fi;

Upon running it on my server, I am presented with:

running hphp...
creating temporary directory /tmp/hphp_cFPMUQ ...
parsing inputs...
Unable to stat file /home/kpirnie/www/wp-content/PHPMailer/vendor/autoload.php
Unable to stat file /home/kpirnie/www/wp-content/PHPMailer/test/vendor/autoload.php
Unable to stat file /home/kpirnie/www/wp-content/PHPMailer/test/testbootstrap.php
Unable to stat file /home/kpirnie/www/wp-content/plugins/cloudflare/vendor/cloudflare/cf-ip-rewrite/vendor/autoload.php
Unable to stat file /home/kpirnie/www/wp-content/plugins/cloudflare/vendor/guzzle/guzzle/phing/tasks/phing/Task.php
Unable to stat file /home/kpirnie/www/wp-content/plugins/cloudflare/vendor/guzzle/guzzle/phar:/guzzle.phar/vendor/symfony/class-loader/Symfony/Component/ClassLoader/UniversalClassLoader.php
Unable to stat file /home/kpirnie/www/wp-content/plugins/cloudflare/vendor/guzzle/guzzle/phing/tasks/PEAR/PackageFileManager2.php
Unable to stat file /home/kpirnie/www/wp-content/plugins/cloudflare/vendor/guzzle/guzzle/phing/tasks/PEAR/PackageFileManager/File.php
Unable to stat file /home/kpirnie/www/wp-content/plugins/cloudflare/vendor/guzzle/guzzle/phing/tasks/PEAR/Packager.php
Unable to stat file /home/kpirnie/www/wp-content/plugins/cloudflare/vendor/guzzle/guzzle/phing/tasks/phing/tasks/ext/git/GitBaseTask.php
Unable to stat file /home/kpirnie/www/wp-content/plugins/cloudflare/vendor/sebastian/comparator/vendor/autoload.php
Unable to stat file /home/kpirnie/www/wp-content/plugins/wordpress-seo/vendor/composer/autoload_static.php
parsing inputs took 0'01" (1425127 us) wall time
pre-optimizing...
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.31028.log
hphp failed
running hphp took 0'02" (2216979 us) wall time

And I can verify that the files that are Unable to stat indeed do not exist.

Stacktrace shows what looks like a memory dump (I assume) due to the segmentation fault.

How can I accomplish true Repo Mode? skip the missing files? but how?

like image 810
Kevin Avatar asked Jan 03 '17 18:01

Kevin


1 Answers

If nothing in your source is referencing those files as you say, then try placing empty files in those places.

However, it is likely that you are referencing these files somewhere by means of a path that has included them. I suspect this is an HHVM issue and you should file your failing test-case here.

like image 186
Harman Avatar answered Sep 19 '22 07:09

Harman