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

Panic during TestTaintNodeByCondition integration test #63427

Closed
ash2k opened this issue May 4, 2018 · 8 comments · Fixed by #63459
Closed

Panic during TestTaintNodeByCondition integration test #63427

ash2k opened this issue May 4, 2018 · 8 comments · Fixed by #63459
Assignees
Labels
kind/bug Categorizes issue or PR as related to a bug. kind/failing-test Categorizes issue or PR as related to a consistently or frequently failing test. sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling.

Comments

@ash2k
Copy link
Member

ash2k commented May 4, 2018

Panic in the TestTaintNodeByCondition integration test in an seemingly unrelated PR #61976.

panic: runtime error: invalid memory address or nil pointer dereference
/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:58 +0x107
/usr/local/go/src/runtime/panic.go:502 +0x229
/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/meta.go:133
/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/scheduler/core/equivalence_cache.go:89 +0xc4
/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/scheduler/core/generic_scheduler.go:512 +0x1de
/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/scheduler/core/generic_scheduler.go:353 +0x19a
/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/client-go/util/workqueue/parallelizer.go:47 +0x96
/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/client-go/util/workqueue/parallelizer.go:43 +0x10b

@kubernetes/sig-scheduling-bugs

@k8s-ci-robot k8s-ci-robot added sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. kind/bug Categorizes issue or PR as related to a bug. labels May 4, 2018
@resouer
Copy link
Contributor

resouer commented May 4, 2018

/assign

@resouer
Copy link
Contributor

resouer commented May 4, 2018

It is known that nodeInfo may be nil during testing, and we've checked this case in some other places.

But not sure why this happens in TestTaintNodeByCondition right now. Looking looking ...

k8s-github-robot pushed a commit that referenced this issue May 8, 2018
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Cleanup Pods in TestNominatedNodeCleanUp.

Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>


**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
part of #63427 

**Release note**:
```release-note
None
```
@ash2k
Copy link
Member Author

ash2k commented May 8, 2018

@k82cn
Copy link
Member

k82cn commented May 8, 2018

@ash2k , thanks for your input, I'd like to see what will happen after #63472 merged :)

@liggitt
Copy link
Member

liggitt commented May 18, 2018

still seeing this:

panic: runtime error: invalid memory address or nil pointer dereference [recovered]
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x1103224]

goroutine 47096 [running]:
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0)
/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:58 +0x107
panic(0x361b8e0, 0x71ac100)
/usr/local/go/src/runtime/panic.go:502 +0x229
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/meta/v1.(*ObjectMeta).GetName(...)
/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/meta.go:133
k8s.io/kubernetes/pkg/scheduler/core.(*EquivalenceCache).RunPredicate(0xc42500cd40, 0x3f62748, 0x3e2aa3f, 0x11, 0xc42f9a2380, 0x523ab40, 0xc4345c8e10, 0x0, 0xc4235e5d50, 0x528e060, ...)
/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/scheduler/core/equivalence_cache.go:76 +0xc4
k8s.io/kubernetes/pkg/scheduler/core.podFitsOnNode(0xc42f9a2380, 0x523ab40, 0xc4345c8e10, 0x0, 0xc4339a3320, 0x528e060, 0xc42436fa40, 0xc42500cd40, 0x527b2c0, 0xc43b40ee70, ...)
/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/scheduler/core/generic_scheduler.go:512 +0x1de
k8s.io/kubernetes/pkg/scheduler/core.(*genericScheduler).findNodesThatFit.func1(0x0)
/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/scheduler/core/generic_scheduler.go:353 +0x19a
k8s.io/kubernetes/vendor/k8s.io/client-go/util/workqueue.Parallelize.func1(0xc4235e5d90, 0xc42cdbad20, 0xc43bb83dc0)
/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/client-go/util/workqueue/parallelizer.go:47 +0x96
created by k8s.io/kubernetes/vendor/k8s.io/client-go/util/workqueue.Parallelize
/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/client-go/util/workqueue/parallelizer.go:43 +0x10b

https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/64028/pull-kubernetes-integration/12124/

@liggitt liggitt added the kind/failing-test Categorizes issue or PR as related to a consistently or frequently failing test. label May 18, 2018
@liggitt
Copy link
Member

liggitt commented May 18, 2018

@kubernetes/sig-scheduling-test-failures is the failing code live in master or feature gated? is this a release blocker?

@ravisantoshgudimetla
Copy link
Contributor

ravisantoshgudimetla commented May 18, 2018

  • The failing code is live in master(https://github.com/kubernetes/kubernetes/blob/master/test/integration/scheduler/util.go#L157, we enabled the feature gate in the test), where as the equivalence cache is still in alpha.
  • While the issue is something needs to be fixed in ecache code which @resouer is working on, this shouldn't be be blocking 1.11 release as we are still planning to graduate ecache to beta and that has not yet happened.
  • I will send a PR to disable test till the promotion happens. While promoting ecache we can re-enable it.

@misterikkit
Copy link

@kubernetes/sig-scheduling-test-failures is the failing code live in master or feature gated? is this a release blocker?

Equivalence cache implementation is behind a feature gate, and still alpha.

k8s-github-robot pushed a commit that referenced this issue May 19, 2018
Automatic merge from submit-queue (batch tested with PRs 63598, 63913, 63459, 63963, 60464). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Check nodeInfo before ecache predicate

**What this PR does / why we need it**:

There's chances during test when nodeInfo is nil which may cause ecache predicate fail with nil pointer.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #63427

**Special notes for your reviewer**:

Not sure how to reproduce the original issue yet. i.e. why and when `nodeInfo` will become nil in tests is not clear to me, that's why I label it as WIP.

cc @bsalamat who may have more inputs.

**Release note**:

```release-note
NONE
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug. kind/failing-test Categorizes issue or PR as related to a consistently or frequently failing test. sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants