Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hh_client rapid restart loop when .hhconfig parsing calls failwith #8376

Open
ssandler opened this issue Oct 30, 2018 · 3 comments
Open

hh_client rapid restart loop when .hhconfig parsing calls failwith #8376

ssandler opened this issue Oct 30, 2018 · 3 comments
Labels

Comments

@ssandler
Copy link
Contributor

ssandler commented Oct 30, 2018

I was hoping to use forward_compatibility_level as a nice way of alerting people when their local hhvm installation is out of date, instead of hh_client returning a lot of errors to them because the code depends on a newer version. However this isn't practical in 3.29 or 3.28 due to this issue.

HHVM Version

$ hh_client --version
hh-d968c089ca41c9afc68c35c8fabcb4154f12d2bc-3.29.0 Mon Oct 22 09:53:31 2018

Operating System and Version

MacOS High Sierra

Standalone code, or other way to reproduce the problem

in .hhconfig with an empty repo:

forward_compatibility_level = 3.30

... or ... (edit)

enable_tc_migration_flags=foo

Then run hh_client

Actual result

hh_client rapidly loops and restarts infinitely, it's impossible to get it to stop without killing the terminal tab or restarting

Expected result

A useful error is printed stating that your hhvm version is below the required version.

Edit: failwith message is printed

@fredemmott
Copy link
Contributor

fredemmott commented Oct 31, 2018

I was hoping to use forward_compatibility_level as a nice way of alerting people when their local hhvm installation is out of date

The expected behavior is that there should be no error/warning for a future date - and a configuration error if configured with a release version - it's not suitable for a backwards compatibility check.

That said ,this is an issue with configuration parsing failing; you can avoid this issue by setting a date instead -

has the past ones, and 3.30 is 20181203

@fredemmott fredemmott changed the title hh_client rapid restart loop when behind forward_compatibility_level hh_client rapid restart loop when .hhconfig parsing calls failwith Oct 31, 2018
@fredemmott
Copy link
Contributor

hh_client rapidly loops and restarts infinitely, it's impossible to get it to stop without killing the terminal tab or restarting

as an aside, ^Z works

@fredemmott
Copy link
Contributor

fredemmott commented Oct 31, 2018

Actually, I think there's 3 issues here:

  • failwith shouldn't cause an infinite loop (T35898995)
  • given the intended purpose of allowing things to typecheck on slightly newer versions, it should be smarter, and try to figure out if the version is newer than it understands, and ignore it if so
  • feature request: add a backwards_compatibility_level= flag with your original expected behavior (Feature request: backward_compatibility_level #8377)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants