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

kola/harness.go: fix kola panics #2710

Merged
merged 1 commit into from
Feb 15, 2022
Merged

Conversation

saqibali-2k
Copy link
Member

@saqibali-2k saqibali-2k commented Feb 15, 2022

Recently we have seen non-exclusive tests panicking due to
runtime.Goexit executing, but somehow harness.finished being false.
This problem was occurring because we pass tcluster to collectLogsExternalTest
instead of newTC. tcluster has a reference to the harness of the wrapper test,
thus harness.finished is incorrectly set to true for the wrapper test's harness
instead of the non-exclusive subtest's harness.

closes: #2701

@openshift-ci
Copy link

openshift-ci bot commented Feb 15, 2022

@saqibali-2k: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/rhcos fd7c59a link true /test rhcos

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@saqibali-2k
Copy link
Member Author

/retest-required

@dustymabe
Copy link
Member

Recently we have seen non-exclusive tests panicking due to runtime.Goexit executing, but somehow harness.finished being false. This problem was occurring because we pass tcluster to collectLogsExternalTest instead of newTC. tcluster has a reference to the harness of the wrapper test, thus harness.finished is incorrectly set to true for the wrapper test's harness instead of the non-exclusive subtest's harness.

Wow. Nice work finding the needle in the haystack. This makes my head hurt a little. Are there other problems that could have been caused by us not doing this appropriately?

closes: https://github.com/coreos/coreos-assembler

^^ Need to update the link to point at the issue.

@@ -1276,17 +1276,17 @@ func makeNonExclusiveTest(bucket int, tests []*register.Test, flight platform.Fl
t := t
run := func(h *harness.H) {
testResults.add(h)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we comment here in the code why this newTC is needed?

Recently we have seen non-exclusive tests panicking due to
runtime.Goexit executing, but somehow harness.finished being false.
This problem was occurring because we pass tcluster to collectLogsExternalTest
instead of newTC. tcluster has a reference to the harness of the wrapper test,
thus harness.finished is incorrectly set to true for the wrapper test's harness
instead of the non-exclusive subtest's harness.

closes: coreos#2701
Copy link
Member

@jlebon jlebon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't fully understand this, but I trust you. :)

@dustymabe
Copy link
Member

This passed CI in a previous iteration. The new iteration just added comments so no code changes.

@dustymabe dustymabe merged commit dc9500b into coreos:main Feb 15, 2022
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 this pull request may close these issues.

kola: test panics
3 participants