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

webui test failures on nacl #251

Closed
ALTree opened this issue Nov 1, 2017 · 5 comments · Fixed by #252
Closed

webui test failures on nacl #251

ALTree opened this issue Nov 1, 2017 · 5 comments · Fixed by #252
Assignees

Comments

@ALTree
Copy link
Contributor

ALTree commented Nov 1, 2017

Hi,

I'm trying to update the vendored pprof in the Go repository for the upcoming go 1.10 release, and the nacl-386 and nacl-amd64p32 trybots are failing with the following error:

2017/11/01 14:21:22 httptest.Server blocked in Close after 5 seconds, waiting for connections:
  *net.TCPConn 0x13fd4158 127.0.0.1:5 in state active
  *net.TCPConn 0x13fd4160 127.0.0.1:6 in state active
  *net.TCPConn 0x13fd4168 127.0.0.1:7 in state active
  *net.TCPConn 0x13fd4170 127.0.0.1:8 in state active
  *net.TCPConn 0x13fd4178 127.0.0.1:9 in state active
  *net.TCPConn 0x13fd4180 127.0.0.1:10 in state active
  *net.TCPConn 0x121100d0 127.0.0.1:3 in state active
  *net.TCPConn 0x13fd4150 127.0.0.1:4 in state active

panic: test timed out after 3m0s

[stacktrace]

Full logs here:

What version of pprof are you using?

I vendored revision 2fb0552.

What operating system and processor architecture are you using?

The test is failing on the nacl-386 and nacl-amd64p32 trybots.

What did you do?

I vendored pprof into the go repository and uploaded the change.

What did you expect to see?

Trybots passing.

What did you see instead?

nacl trybots failing.

@nolanmar511
Copy link
Contributor

The test that fails seems to be TestWebInterface in internal/driver/webui_test.go. Still looking into the cause of this.
We had previously disabled a test in webui_test.go on nacl (because the test assumed tcp was available). webui_test.go since has been changed a lot (the test that was disabled is no longer present), so this could be related.

@nolanmar511
Copy link
Contributor

@ALTree -- do you know the last commit of pprof which passed these tests are (or around when the last time pprof was vendored without issue)?

I believe there'd previously been issues with pprof which were resolved by commit 094a5ac (August 21, 2017, #201 and #198), and that at that time, TestWebInterface hadn't been causing problems. So, I'm trying to narrow down what changes might have created this problem.

@ALTree
Copy link
Contributor Author

ALTree commented Nov 1, 2017

Last time I waited for 094a5ac to go in and then I immediately vendored pprof, exactly at that revision. Trybots were ok.

@nolanmar511
Copy link
Contributor

@ALTree -- would you be able to direct us to any information on nacl's limitations or give us any advice on how to simulate nacl in testing?
It would be good if we could figure out how to avoid these problems in the future.

@ALTree
Copy link
Contributor Author

ALTree commented Nov 2, 2017

@nolanmar511

Thanks for the quick fix! I re-vendored and the nacl trybots are now happy.

would you be able to direct us to any information on nacl's limitations or give us any advice on how to simulate nacl in testing?
It would be good if we could figure out how to avoid these problems in the future.

I'm not a nacl expert, unfortunately (in fact, I don't think I've ever run anything under nacl). AFAIK any test that needs access to the network or the file system won't work out-of-the-box, and it should be skipped on nacl.

Regarding testing to prevent regressions:

  • you can do that manually by running tests under nacl (see https://golang.org/misc/nacl/README for a reference) once a month or so I guess? That's a possibility (I've never done that).

  • We could configure the Go builders to do continuous-testing on pprof (we already do that with some non-core repository), as @aalexand asked here: cmd/pprof: update the vendored tool from upstream golang/go#21047 (comment) but the dashboard is currently unable to fetch external repository (I think, see bradfitz comment below the linked one), so this option is blocked waiting for someone to put in the time necessary to modify the dashboard and builders infrastructure.

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

Successfully merging a pull request may close this issue.

2 participants