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

mount: fix Bad file descriptor #13013

Merged
merged 2 commits into from
Nov 23, 2021
Merged

Conversation

spowelljr
Copy link
Member

@spowelljr spowelljr commented Nov 23, 2021

Fixes #12301

Removed the if fid.opened then req.RespondError(Ebaduse), the comment for the statement is /* we can't walk open files */, but when the check is skipped we can walk the supposedly open files fine, so I feel confident we can skip this check.

@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Nov 23, 2021
@spowelljr
Copy link
Member Author

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Nov 23, 2021
@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 23, 2021
@minikube-pr-bot
Copy link

kvm2 driver with docker runtime

+----------------+----------+---------------------+
|    COMMAND     | MINIKUBE | MINIKUBE (PR 13013) |
+----------------+----------+---------------------+
| minikube start | 46.3s    | 46.1s               |
| enable ingress | 31.1s    | 31.1s               |
+----------------+----------+---------------------+

Times for minikube start: 48.9s 45.2s 45.5s 46.1s 45.7s
Times for minikube (PR 13013) start: 46.7s 46.6s 45.5s 46.6s 45.3s

Times for minikube ingress: 30.2s 31.3s 32.2s 29.7s 32.3s
Times for minikube (PR 13013) ingress: 31.7s 29.8s 29.8s 32.3s 31.8s

docker driver with docker runtime

+----------------+----------+---------------------+
|    COMMAND     | MINIKUBE | MINIKUBE (PR 13013) |
+----------------+----------+---------------------+
| minikube start | 22.0s    | 21.2s               |
| enable ingress | 40.3s    | 26.3s               |
+----------------+----------+---------------------+

Times for minikube start: 22.6s 21.9s 22.9s 21.5s 21.3s
Times for minikube (PR 13013) start: 20.2s 21.6s 20.6s 21.3s 22.1s

Times for minikube ingress: 26.9s 33.9s 33.4s 25.9s 81.4s
Times for minikube (PR 13013) ingress: 26.4s 25.5s 27.4s 25.9s 26.4s

docker driver with containerd runtime

+----------------+----------+---------------------+
|    COMMAND     | MINIKUBE | MINIKUBE (PR 13013) |
+----------------+----------+---------------------+
| minikube start | 38.7s    | 38.4s               |
| enable ingress | 30.4s    | 28.8s               |
+----------------+----------+---------------------+

Times for minikube ingress: 32.9s 22.4s 31.9s 32.4s 32.4s
Times for minikube (PR 13013) ingress: 17.9s 32.4s 22.4s 32.4s 38.9s

Times for minikube start: 30.1s 40.8s 39.9s 40.8s 41.9s
Times for minikube (PR 13013) start: 40.9s 41.2s 40.7s 40.8s 28.4s

@minikube-pr-bot
Copy link

These are the flake rates of all failed tests.

Environment Failed Tests Flake Rate (%)
Docker_Windows TestFunctional/parallel/MountCmd/any-port (gopogh) n/a
Docker_Windows TestFunctional/parallel/MountCmd/specific-port (gopogh) n/a
Hyper-V_Windows TestFunctional/parallel/MountCmd/any-port (gopogh) n/a
Hyper-V_Windows TestFunctional/parallel/MountCmd/specific-port (gopogh) n/a
Hyper-V_Windows TestMultiNode/serial/CopyFile (gopogh) 0.72 (chart)
Docker_Windows TestNetworkPlugins/group/auto/Start (gopogh) 0.88 (chart)
Docker_Linux_containerd TestStartStop/group/newest-cni/serial/SecondStart (gopogh) 1.19 (chart)
Docker_Linux_containerd TestStartStop/group/newest-cni/serial/VerifyKubernetesImages (gopogh) 1.19 (chart)
Docker_Windows TestNetworkPlugins/group/enable-default-cni/Start (gopogh) 1.75 (chart)
Docker_Windows TestStartStop/group/embed-certs/serial/AddonExistsAfterStop (gopogh) 2.63 (chart)
Docker_Windows TestStartStop/group/embed-certs/serial/SecondStart (gopogh) 2.63 (chart)
Docker_Windows TestStartStop/group/embed-certs/serial/UserAppExistsAfterStop (gopogh) 2.63 (chart)
Docker_Windows TestStartStop/group/embed-certs/serial/VerifyKubernetesImages (gopogh) 2.63 (chart)
Docker_Linux_containerd TestStartStop/group/newest-cni/serial/Pause (gopogh) 3.57 (chart)
Docker_macOS TestJSONOutput/pause/Command (gopogh) 8.16 (chart)
Docker_Windows TestNetworkPlugins/group/bridge/Start (gopogh) 8.77 (chart)
Docker_Windows TestStartStop/group/default-k8s-different-port/serial/Pause (gopogh) 8.77 (chart)
Docker_Windows TestStartStop/group/embed-certs/serial/Pause (gopogh) 12.28 (chart)
Docker_Windows TestNetworkPlugins/group/kubenet/Start (gopogh) 13.16 (chart)
Docker_Windows TestFunctional/parallel/DryRun (gopogh) 21.05 (chart)
Docker_Windows TestFunctional/parallel/ImageCommands/ImageLoadFromFile (gopogh) 21.05 (chart)
Docker_Windows TestFunctional/parallel/InternationalLanguage (gopogh) 21.05 (chart)
Docker_Windows TestFunctional/parallel/StatusCmd (gopogh) 21.05 (chart)
Docker_Windows TestInsufficientStorage (gopogh) 21.05 (chart)
Docker_Windows TestMultiNode/serial/CopyFile (gopogh) 21.05 (chart)
Docker_Windows TestNetworkPlugins/group/cilium/Start (gopogh) 21.05 (chart)
Docker_Windows TestFunctional/parallel/TunnelCmd/serial/WaitService/IngressIP (gopogh) 21.93 (chart)
Hyper-V_Windows TestNoKubernetes/serial/ProfileList (gopogh) 23.53 (chart)
Docker_Windows TestPause/serial/VerifyStatus (gopogh) 34.21 (chart)
Docker_Windows TestNetworkPlugins/group/kindnet/Start (gopogh) 41.23 (chart)
More tests... Continued...

Too many tests failed - See test logs for more details.

To see the flake rates of all tests by environment, click here.

@k8s-ci-robot k8s-ci-robot added size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Nov 23, 2021
@minikube-pr-bot
Copy link

kvm2 driver with docker runtime

+----------------+----------+---------------------+
|    COMMAND     | MINIKUBE | MINIKUBE (PR 13013) |
+----------------+----------+---------------------+
| minikube start | 47.3s    | 45.7s               |
| enable ingress | 30.7s    | 30.9s               |
+----------------+----------+---------------------+

Times for minikube start: 49.8s 46.9s 45.7s 46.8s 47.5s
Times for minikube (PR 13013) start: 45.4s 46.0s 46.0s 45.7s 45.6s

Times for minikube ingress: 30.3s 29.7s 31.7s 32.2s 29.8s
Times for minikube (PR 13013) ingress: 32.3s 30.7s 30.9s 30.2s 30.2s

docker driver with docker runtime

+----------------+----------+---------------------+
|    COMMAND     | MINIKUBE | MINIKUBE (PR 13013) |
+----------------+----------+---------------------+
| minikube start | 20.7s    | 20.6s               |
| enable ingress | 26.1s    | 28.1s               |
+----------------+----------+---------------------+

Times for minikube start: 22.1s 20.4s 20.5s 20.2s 20.3s
Times for minikube (PR 13013) start: 21.5s 19.9s 20.0s 20.3s 21.2s

Times for minikube ingress: 25.5s 24.9s 26.9s 27.4s 25.9s
Times for minikube (PR 13013) ingress: 33.9s 25.4s 26.9s 27.4s 26.9s

docker driver with containerd runtime

+----------------+----------+---------------------+
|    COMMAND     | MINIKUBE | MINIKUBE (PR 13013) |
+----------------+----------+---------------------+
| minikube start | 37.2s    | 40.9s               |
| enable ingress | 24.7s    | 22.4s               |
+----------------+----------+---------------------+

Times for minikube start: 27.9s 40.6s 40.8s 36.0s 40.9s
Times for minikube (PR 13013) start: 40.8s 40.4s 41.2s 40.6s 41.2s

Times for minikube (PR 13013) ingress: 21.4s 18.5s 27.0s 27.4s 17.9s
Times for minikube ingress: 27.9s 26.9s 17.4s 24.4s 26.9s

@spowelljr spowelljr changed the title WIP: try fixing bad mount error mount: fix Bad file descriptor Nov 23, 2021
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 23, 2021
@medyagh
Copy link
Member

medyagh commented Nov 23, 2021

nice ! thank you for fixing this annoying bug

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: medyagh, spowelljr

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@medyagh medyagh merged commit 0d21fb4 into kubernetes:master Nov 23, 2021
@spowelljr spowelljr deleted the fixBadMount branch November 23, 2021 18:56
@minikube-pr-bot
Copy link

These are the flake rates of all failed tests.

Environment Failed Tests Flake Rate (%)
KVM_Linux_containerd TestRunningBinaryUpgrade (gopogh) 2.26 (chart)
Docker_Linux TestFunctional/serial/ComponentHealth (gopogh) 7.95 (chart)
Docker_macOS TestCertOptions (gopogh) 9.09 (chart)
Docker_macOS TestDockerFlags (gopogh) 9.09 (chart)
Docker_macOS TestForceSystemdEnv (gopogh) 9.09 (chart)
Docker_macOS TestForceSystemdFlag (gopogh) 9.09 (chart)
Docker_macOS TestCertExpiration (gopogh) 11.04 (chart)
Docker_macOS TestRunningBinaryUpgrade (gopogh) 11.04 (chart)
Docker_macOS TestNoKubernetes/serial/ProfileList (gopogh) 14.94 (chart)
Docker_macOS TestNoKubernetes/serial/Start (gopogh) 14.94 (chart)
Docker_macOS TestNoKubernetes/serial/Stop (gopogh) 14.94 (chart)
Docker_macOS TestPause/serial/Pause (gopogh) 15.58 (chart)
Docker_macOS TestPause/serial/PauseAgain (gopogh) 15.58 (chart)
Docker_macOS TestPause/serial/SecondStartNoReconfiguration (gopogh) 15.58 (chart)
Docker_macOS TestPause/serial/Start (gopogh) 15.58 (chart)
Docker_macOS TestPause/serial/Unpause (gopogh) 15.58 (chart)
Docker_macOS TestPause/serial/VerifyDeletedResources (gopogh) 15.58 (chart)
Docker_macOS TestPause/serial/VerifyStatus (gopogh) 15.58 (chart)
Docker_macOS TestNetworkPlugins/group/auto/Start (gopogh) 17.52 (chart)
Docker_macOS TestNetworkPlugins/group/cilium/Start (gopogh) 17.52 (chart)
Docker_macOS TestNetworkPlugins/group/enable-default-cni/Start (gopogh) 17.52 (chart)
Docker_macOS TestNetworkPlugins/group/false/Start (gopogh) 17.52 (chart)
Docker_macOS TestNoKubernetes/serial/StartNoArgs (gopogh) 19.48 (chart)
Docker_macOS TestNetworkPlugins/group/bridge/Start (gopogh) 19.71 (chart)
Docker_macOS TestNetworkPlugins/group/kubenet/Start (gopogh) 22.63 (chart)
Docker_macOS TestStartStop/group/default-k8s-different-port/serial/AddonExistsAfterStop (gopogh) 30.38 (chart)
Docker_macOS TestStartStop/group/default-k8s-different-port/serial/DeployApp (gopogh) 30.38 (chart)
Docker_macOS TestStartStop/group/default-k8s-different-port/serial/EnableAddonAfterStop (gopogh) 30.38 (chart)
Docker_macOS TestStartStop/group/default-k8s-different-port/serial/EnableAddonWhileActive (gopogh) 30.38 (chart)
Docker_macOS TestStartStop/group/default-k8s-different-port/serial/Stop (gopogh) 30.38 (chart)
More tests... Continued...

Too many tests failed - See test logs for more details.

To see the flake rates of all tests by environment, click here.

blt added a commit to vectordotdev/vector that referenced this pull request Nov 23, 2021
It turns out that the problem discussed in the last commit is fixed by
kubernetes/minikube#13013. This is not present in a
minikube release yet, so we can't rely on it. That said, this commit introduces
a hack whereby the bootstrap is passed in a configmap. This limits the size of
the bootstrap with all the problems that come along with a low-entropy
experiment.

Signed-off-by: Brian L. Troutwine <brian@troutwine.us>
blt added a commit to vectordotdev/vector that referenced this pull request Nov 24, 2021
* Introduce a new http -> pipelines -> blackhole soak

This commit introduces a new soak to investigate our pipelines in an ongoing
basis. The pipeline configuration for vector and the sample data was contributed
by work was contributed @vladimir-dd. I have expanded the soak to allow mounting
a TESTNAME/data to smuggle static data into the minikube, by which we feed
http_gen. Unfortunately this does not work as we cannot use the Virtual Box VM
for soak testing and kubernetes/minikube#12301 is
open. We will have to figure out some other way to smuggle data into the
minikube for this soak to function.

This commit depends on #10141 which
depends on DataDog/lading#119.

Signed-off-by: Brian L. Troutwine <brian@troutwine.us>

* Use configmap hack

It turns out that the problem discussed in the last commit is fixed by
kubernetes/minikube#13013. This is not present in a
minikube release yet, so we can't rely on it. That said, this commit introduces
a hack whereby the bootstrap is passed in a configmap. This limits the size of
the bootstrap with all the problems that come along with a low-entropy
experiment.

Signed-off-by: Brian L. Troutwine <brian@troutwine.us>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Minikube --mount Bad file descriptor
4 participants