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

pkg/bisect: bisector treats a GCE "out of resources" as a valid run #3854

Closed
tytso opened this issue May 1, 2023 · 0 comments · Fixed by #3876
Closed

pkg/bisect: bisector treats a GCE "out of resources" as a valid run #3854

tytso opened this issue May 1, 2023 · 0 comments · Fixed by #3876

Comments

@tytso
Copy link
Contributor

tytso commented May 1, 2023

Describe the bug

The bisector appears to try each trial run 10 times. If one or more of the trials fails to boot due to the GCE cell being out of resources, the bisector treats the failure as one of the valid runs. Consider [1] from the syzbot report[1] INFO: task hung in do_truncate (2):

[1] https://syzkaller.appspot.com/text?tag=Log&x=111aa0cf500000
[2] https://syzkaller.appspot.com/bug?id=d38f8eae55e27aaef60b4748bc77ecb712dba4b9

`testing commit 42a44704367cd18d069c9855cb84090ff90ecd86 with gcc (GCC) 8.1.0
kernel signature: bdc5b8bcd5bcd9488a84e3b04c36951f6c6f44451aa0711461f202e963c4a7e5
run #0: boot failed: create image operation failed: &{Code:ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS Location: Message:The zone 'projects/syzkaller/zones/us-central1-c' does not have enough resources available to fulfill the request. '(resource type:compute)'. ForceSendFields:[] NullFields:[]}.
run #1: boot failed: create image operation failed: &{Code:ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS Location: Message:The zone 'projects/syzkaller/zones/us-central1-c' does not have enough resources available to fulfill the request. '(resource type:compute)'. ForceSendFields:[] NullFields:[]}.
run #2: boot failed: create image operation failed: &{Code:ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS Location: Message:The zone 'projects/syzkaller/zones/us-central1-c' does not have enough resources available to fulfill the request. '(resource type:compute)'. ForceSendFields:[] NullFields:[]}.
run #3: boot failed: create image operation failed: &{Code:ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS Location: Message:The zone 'projects/syzkaller/zones/us-central1-c' does not have enough resources available to fulfill the request. '(resource type:compute)'. ForceSendFields:[] NullFields:[]}.
run #4: boot failed: create image operation failed: &{Code:ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS Location: Message:The zone 'projects/syzkaller/zones/us-central1-c' does not have enough resources available to fulfill the request. '(resource type:compute)'. ForceSendFields:[] NullFields:[]}.
run #5: boot failed: create image operation failed: &{Code:ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS Location: Message:The zone 'projects/syzkaller/zones/us-central1-c' does not have enough resources available to fulfill the request. '(resource type:compute)'. ForceSendFields:[] NullFields:[]}.
run #6: boot failed: create image operation failed: &{Code:ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS Location: Message:The zone 'projects/syzkaller/zones/us-central1-c' does not have enough resources available to fulfill the request. '(resource type:compute)'. ForceSendFields:[] NullFields:[]}.
run #7: boot failed: create image operation failed: &{Code:ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS Location: Message:The zone 'projects/syzkaller/zones/us-central1-c' does not have enough resources available to fulfill the request. '(resource type:compute)'. ForceSendFields:[] NullFields:[]}.
run #8: boot failed: create image operation failed: &{Code:ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS Location: Message:The zone 'projects/syzkaller/zones/us-central1-c' does not have enough resources available to fulfill the request. '(resource type:compute)'. ForceSendFields:[] NullFields:[]}.
run #9: OK

git bisect skip 42a44704367cd18d069c9855cb84090ff90ecd86`

First of all, given the burst of gce ZONE RESOURCE POOL EXHAUSTED errors, I'm guessing that the bisector isn't delaying between runs --- or if it is delaying, it's not backing off aggressively enough. Some kind of exponential backup, with the delay not being counted towards the 8 hour limit, would probably be in order here. Secondly the bisector treated a single "OK" run as a "git bisect skip". It would be better if GCE resource exhausted errors aren't treated as one of the ten runs allowed for each commit test, as well. There are other examples in this run where effectively the bisection was decided with only half the number of valid runs, due to the resource pool exhausted.

@tytso tytso added the bug label May 1, 2023
@tytso tytso changed the title pkg/bisect: bisector treats a GCE "out of resources" incorrectly pkg/bisect: bisector treats a GCE "out of resources" as a valid run May 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants