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

jets that bail with %exit get ice set to c3y #5580

Open
mrdomino opened this issue Feb 3, 2022 · 1 comment
Open

jets that bail with %exit get ice set to c3y #5580

mrdomino opened this issue Feb 3, 2022 · 1 comment
Labels

Comments

@mrdomino
Copy link
Contributor

mrdomino commented Feb 3, 2022

Describe the bug
Equivalence testing is currently implemented as follows:

  1. Check _(ham_u->ice).
  2. If c3n, then set ham_u->ice = c3y.
  3. Run ham_u->fun_f.
  4. Set ham_u->ice = c3n.

However, if ham_u->fun_f returns u3m_bail(c3__exit) (as commonly happens in jet code), then:

  1. no diagnostic is printed indicating that the call bailed.
  2. ham_u->ice is never reset to c3n.
  3. Future calls will therefore treat the jet as though it was perfect.

To Reproduce
Steps to reproduce the behaviour:

  1. Set a jet’s .ice to c3n.
  2. Have the jet body return u3m_bail(c3__exit).
  3. Observe (e.g. through printfs / ~&) that the hoon code is not called after the first bail, and the C code is called.

Screenshots
If applicable, add screenshots to help explain your problem.

System (please supply the following information, if relevant):

  • Vere 1.9rc1

Notify maintainers
@joemfb @frodwith

@mrdomino mrdomino added the bug label Feb 3, 2022
@mrdomino mrdomino changed the title jets that bail with %exit get ice reset jets that bail with %exit get ice set to c3y Feb 3, 2022
@mrdomino mrdomino changed the title jets that bail with %exit get ice set to c3y jets that bail with %exit get ice set to c3y Feb 3, 2022
@joemfb
Copy link
Member

joemfb commented Feb 3, 2022

This behavior is fine for equivalence testing in local development, but obviously not suitable for livenet-deployed testing. This was known, just not to me -- moar and better testing remains highly desirable.

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