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

Confusing "No test trace found" error state #52

Closed
jtremback opened this issue Jul 29, 2021 · 5 comments
Closed

Confusing "No test trace found" error state #52

jtremback opened this issue Jul 29, 2021 · 5 comments
Labels
bug Something isn't working enhancement New (user-facing) feature or request

Comments

@jtremback
Copy link
Contributor

jtremback commented Jul 29, 2021

The error state

Err(
    NoTestTraceFound(
        "mc.log",
    ),
)

Is produced by several different error conditions, making debugging hard and confusing. For example:

  • It was produced when I forgot an invariant in IBCTests.cfg. In TLC this yielded the much more informative error message The invariant Neg specified in the configuration file is not defined in the specification.
  • It is produced when any of the *Test operators in a TLA+ file does not yield an error trace when negated. A single one of the *Test operators in a TLA+ spec not yielding an error trace when negated will result in this error being produced with no indication of which one caused the problem. To find and fix it involves a slow process of trying to negate each *Test operator and seeing if a trace is produced.
@jtremback jtremback added bug Something isn't working enhancement New (user-facing) feature or request labels Jul 29, 2021
@andrey-kuprianov
Copy link
Contributor

Thank you for reporting this, @jtremback! We will fix that.

@rnbguy
Copy link
Member

rnbguy commented Aug 19, 2021

Note. output::parse should parse the whole output for possible error hints.

while let Some(line) = lines.next() {
// check if found the beginning of the next trace
if line.starts_with("@!@!@ENDMSG 2121 @!@!@") {
if let Some(trace) = parse_trace(&mut lines, options)? {
traces.push(trace);
}
}
}

rnbguy added a commit that referenced this issue Aug 20, 2021
@rnbguy
Copy link
Member

rnbguy commented Aug 20, 2021

@jtremback I added prelim changes to detect error messages from TLC. Feedbacks are welcome on rnbguy/error branch.

@jtremback
Copy link
Contributor Author

Oh cool! I'll take a look

rnbguy added a commit that referenced this issue Aug 23, 2021
* impl From for Error

* catch error message from TLC (#52)
@andrey-kuprianov
Copy link
Contributor

Closed via #74

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New (user-facing) feature or request
Projects
None yet
Development

No branches or pull requests

3 participants