{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/hhvm/issues/7477","repository_url":"https://api.github.com/repos/facebook/hhvm","labels_url":"https://api.github.com/repos/facebook/hhvm/issues/7477/labels{/name}","comments_url":"https://api.github.com/repos/facebook/hhvm/issues/7477/comments","events_url":"https://api.github.com/repos/facebook/hhvm/issues/7477/events","html_url":"https://github.com/facebook/hhvm/issues/7477","id":187991132,"number":7477,"title":"ElideAutoloadInvokes option brokes Drupal8 execution on oss-performance.","user":{"login":"racardoso","id":13421176,"avatar_url":"https://avatars.githubusercontent.com/u/13421176?v=3","gravatar_id":"","url":"https://api.github.com/users/racardoso","html_url":"https://github.com/racardoso","followers_url":"https://api.github.com/users/racardoso/followers","following_url":"https://api.github.com/users/racardoso/following{/other_user}","gists_url":"https://api.github.com/users/racardoso/gists{/gist_id}","starred_url":"https://api.github.com/users/racardoso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/racardoso/subscriptions","organizations_url":"https://api.github.com/users/racardoso/orgs","repos_url":"https://api.github.com/users/racardoso/repos","events_url":"https://api.github.com/users/racardoso/events{/privacy}","received_events_url":"https://api.github.com/users/racardoso/received_events","type":"User","site_admin":false},"labels":[{"id":34419,"url":"https://api.github.com/repos/facebook/hhvm/labels/crash","name":"crash","color":"e63737","default":false},{"id":39614012,"url":"https://api.github.com/repos/facebook/hhvm/labels/needs%20more%20info","name":"needs more info","color":"f7c6c7","default":false}],"state":"closed","locked":false,"assignee":{"login":"mxw","id":1013739,"avatar_url":"https://avatars.githubusercontent.com/u/1013739?v=3","gravatar_id":"","url":"https://api.github.com/users/mxw","html_url":"https://github.com/mxw","followers_url":"https://api.github.com/users/mxw/followers","following_url":"https://api.github.com/users/mxw/following{/other_user}","gists_url":"https://api.github.com/users/mxw/gists{/gist_id}","starred_url":"https://api.github.com/users/mxw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mxw/subscriptions","organizations_url":"https://api.github.com/users/mxw/orgs","repos_url":"https://api.github.com/users/mxw/repos","events_url":"https://api.github.com/users/mxw/events{/privacy}","received_events_url":"https://api.github.com/users/mxw/received_events","type":"User","site_admin":false},"assignees":[{"login":"mxw","id":1013739,"avatar_url":"https://avatars.githubusercontent.com/u/1013739?v=3","gravatar_id":"","url":"https://api.github.com/users/mxw","html_url":"https://github.com/mxw","followers_url":"https://api.github.com/users/mxw/followers","following_url":"https://api.github.com/users/mxw/following{/other_user}","gists_url":"https://api.github.com/users/mxw/gists{/gist_id}","starred_url":"https://api.github.com/users/mxw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mxw/subscriptions","organizations_url":"https://api.github.com/users/mxw/orgs","repos_url":"https://api.github.com/users/mxw/repos","events_url":"https://api.github.com/users/mxw/events{/privacy}","received_events_url":"https://api.github.com/users/mxw/received_events","type":"User","site_admin":false}],"milestone":null,"comments":9,"created_at":"2016-11-08T13:26:32Z","updated_at":"2017-01-09T18:26:46Z","closed_at":"2017-01-09T18:26:46Z","body":"This optimization option was introduced on https://github.com/facebook/hhvm/commit/2deffa0 and is enabled by default https://github.com/facebook/hhvm/blob/master/hphp/hhbbc/options.h#L252 but this option broke Drupal8 execution on oss-performance. Tested it on x86_64 and PPC64 machines with Ubuntu 16.04. Disabling this option this problem not happen. Maybe this option should be disabled by default instead enabled by default (see attached patch).\r\n\r\n### HHVM Version\r\nHHVM-3.16 (master) x86_64\r\nHHVM-3.16 (upstream/master) PPC64\r\n\r\n### Standalone code, or other way to reproduce the problem\r\nGit clone last HHVM version from master, build and install. Git clone last version of oss-performance, install and run:\r\n\r\n`hhvm perf.php --drupal8 --hhvm=$HHVM_PATH`\r\n\r\n### Expected result\r\nSiege results for Drupal8 test.\r\n\r\n### Actual result\r\n```\r\n**************************\r\n** 2016-11-08 08:07:45 EST\r\n** Running sanity check\r\n\r\nWarning: Failed to open http://rcardoso:8090/ () in /home/rcardoso/oss-performance/base/PerfTarget.php on line 30\r\n\r\nFatal error: Uncaught exception 'HH\\InvariantException' with message 'Failed to find string \"Read more\" in http://rcardoso:8090/' in /home/rcardoso/oss-performance/base/PerfTarget.php:34\r\nStack trace:\r\n#0 /home/rcardoso/oss-performance/base/PerfTarget.php(34): HH\\invariant_violation()\r\n#1 /home/rcardoso/oss-performance/base/PerfRunner.php(99): PerfTarget->sanityCheck()\r\n#2 /home/rcardoso/oss-performance/base/PerfRunner.php(42): PerfRunner::RunWithOptionsAndEngine()\r\n#3 /home/rcardoso/oss-performance/base/PerfRunner.php(17): PerfRunner::RunWithOptions()\r\n#4 /home/rcardoso/oss-performance/perf.php(15): PerfRunner::RunWithArgv()\r\n#5 /home/rcardoso/oss-performance/perf.php(19): perf_main()\r\n#6 {main}\r\n\r\nWarning: Failed to open http://localhost:8091/check-health (Failed to connect to localhost port 8091: Connection refused) in /home/rcardoso/oss-performance/base/HHVMDaemon.php on line 343\r\nTerminated\r\n```\r\n\r\n###Patch\r\n```\r\nFrom 1b79f82a588b2ed62018e765c55d4564ae5777ab Mon Sep 17 00:00:00 2001          \r\nFrom: Rogerio Alves <rogealve@br.ibm.com>                                       \r\nDate: Tue, 8 Nov 2016 06:08:17 -0600                                            \r\nSubject: [PATCH] Disable ElideAutoloadInvokes option by default.                \r\n                                                                                \r\nSummary:                                                                        \r\n                                                                                \r\nElideAutoloadInvokes is a new optimization that lower a HHBC FPushFuncU to a    \r\nFPushFuncD and is enabled by default. This otimization brokes Drupal8 execution \r\non oss-performance (issue #158).                                                \r\n                                                                                \r\nThis commit make this option disabled by default instead. That commit wont fix  \r\nElideAutoloadInvokes just disable that option.                                  \r\n---                                                                             \r\n hphp/hhbbc/options.h               | 2 +-                                      \r\n hphp/runtime/vm/repo-global-data.h | 2 +-                                      \r\n 2 files changed, 2 insertions(+), 2 deletions(-)                               \r\n                                                                                \r\ndiff --git a/hphp/hhbbc/options.h b/hphp/hhbbc/options.h                        \r\nindex 2f08d3f..6bfb104 100644                                                   \r\n--- a/hphp/hhbbc/options.h                                                      \r\n+++ b/hphp/hhbbc/options.h                                                      \r\n@@ -249,7 +249,7 @@ struct Options {                                            \r\n    * autoloader, if it can be proven the invocation would not find a viable    \r\n    * function.                                                                 \r\n    */                                                                          \r\n-  bool ElideAutoloadInvokes = true;                                            \r\n+  bool ElideAutoloadInvokes = false;                                           \r\n                                                                                \r\n   /*                                                                           \r\n    * The filepath where to save the stats file.  If the path is empty, then we \r\ndiff --git a/hphp/runtime/vm/repo-global-data.h b/hphp/runtime/vm/repo-global-data.h\r\nindex 74e755c..6298590 100644                                                   \r\n--- a/hphp/runtime/vm/repo-global-data.h                                        \r\n+++ b/hphp/runtime/vm/repo-global-data.h                                        \r\n@@ -77,7 +77,7 @@ struct Repo::GlobalData {                                     \r\n    * potential invocations of the autoloader may have been optimized away if it\r\n    * could be proven the invocation would not find a viable function.          \r\n    */                                                                          \r\n-  bool ElideAutoloadInvokes = true;                                            \r\n+  bool ElideAutoloadInvokes = false;                                           \r\n                                                                                \r\n   /*                                                                           \r\n    * Indicates whether the repo was compiled with PHP7 integer semantics. This \r\n--                                                                              \r\n2.7.4   \r\n```"},"comment":{"url":"https://api.github.com/repos/facebook/hhvm/issues/comments/271363669","html_url":"https://github.com/facebook/hhvm/issues/7477#issuecomment-271363669","issue_url":"https://api.github.com/repos/facebook/hhvm/issues/7477","id":271363669,"user":{"login":"mofarrell","id":4332159,"avatar_url":"https://avatars.githubusercontent.com/u/4332159?v=3","gravatar_id":"","url":"https://api.github.com/users/mofarrell","html_url":"https://github.com/mofarrell","followers_url":"https://api.github.com/users/mofarrell/followers","following_url":"https://api.github.com/users/mofarrell/following{/other_user}","gists_url":"https://api.github.com/users/mofarrell/gists{/gist_id}","starred_url":"https://api.github.com/users/mofarrell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mofarrell/subscriptions","organizations_url":"https://api.github.com/users/mofarrell/orgs","repos_url":"https://api.github.com/users/mofarrell/repos","events_url":"https://api.github.com/users/mofarrell/events{/privacy}","received_events_url":"https://api.github.com/users/mofarrell/received_events","type":"User","site_admin":false},"created_at":"2017-01-09T18:26:46Z","updated_at":"2017-01-09T18:26:46Z","body":"Awesome!"}}
{"actor":{"display_login":"mofarrell"}}