Skip to content
This repository was archived by the owner on Oct 11, 2023. It is now read-only.

Robustify fork server launching & problem detection, part 2#537

Open
copybara-service[bot] wants to merge 1 commit intomainfrom
pr_516385635
Open

Robustify fork server launching & problem detection, part 2#537
copybara-service[bot] wants to merge 1 commit intomainfrom
pr_516385635

Conversation

@copybara-service
Copy link
Copy Markdown

Robustify fork server launching & problem detection, part 2

This change addresses the problem (2) from the bug:

  1. Both the engine and the fork server attempt to open the comms pipes in the blocking mode. That requires that both sides successfully arrive at the point where they attempt opening. However, a misbehaving or miscompiled fuzz target may exit and thus terminate the fork server early, leaving the engine perpetually waiting at an open() call.

This and the previous change fix the symptom (3):

  1. As a result of (1) and (2), execution problems aren't properly detected: a bad target may silently fail without opening the pipes and the engine blocks at the open() call forever, waiting for the absent fork server to open() its side of the pipes.

This change addresses the problem (2) from the bug:

2. Both the engine and the fork server attempt to open the comms pipes in the blocking mode. That requires that both sides successfully arrive at the point where they attempt opening. However, a misbehaving or miscompiled fuzz target may exit and thus terminate the fork server early, leaving the engine perpetually waiting at an `open()` call.

This and the previous change fix the symptom (3):

3. As a result of (1) and (2), execution problems aren't properly detected: a bad target may silently fail without opening the pipes and the engine blocks at the open() call forever, waiting for the absent fork server to open() its side of the pipes.

PiperOrigin-RevId: 516385635
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant