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

internal/fuzz: internal panics are reported as unexpected crashes and written to testdata #48804

Open
katiehockman opened this issue Oct 5, 2021 · 0 comments

Comments

@katiehockman
Copy link
Member

@katiehockman katiehockman commented Oct 5, 2021

There are a few things that could go wrong in the worker that we know is our fault, so we panic in those situations. For example: https://cs.opensource.google/go/go/+/e213c72fb9492a409bd0ed9620ca9aaaa96ddebe:src/internal/fuzz/worker.go;l=691;bpv=1

However, in playing around locally, it looks like if a panic like this occurs, then we just end up printing something like this:

  fuzz: elapsed: 0s, execs: 0 (0/sec), new interesting: 0 (total: 1)
  fuzz: elapsed: 0s, execs: 1 (6/sec), new interesting: 0 (total: 1)
  --- FAIL: FuzzFoo (0.15s)
      fuzzing process terminated unexpectedly: exit status 2
      Crash written to testdata/fuzz/FuzzFoo/bdb8f273...
      To re-run:
      go test m -run=FuzzFoo/bdb8f273...
  FAIL

First of all, the panic text is lost, so the developer has no idea what went wrong.
Secondly, it writes the crash to testdata even though we already know this is a bug in our code, so we shouldn't do that.

/cc @golang/fuzzing

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

Successfully merging a pull request may close this issue.

None yet
1 participant