microsoft / microsoft/ebpf-for-windows

Add bugchecks for un-recoverable and or fatal errors, non-terminating 'wait for..'

Open
#2,301 0 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted triaged
Dominant language
C
Stars
3.6k
Forks
311
Avg merge
6d 10h
Merged PRs (30d)
21

Description

### Discussed in https://github.com/microsoft/ebpf-for-windows/discussions/2247

Originally posted by **dv-msft** March 21, 2023
### Describe the bug

We currently have 'asserts' for un-recoverable and/or fatal errors. These asserts are triggered in debug builds but are compiled out in 'release' builds.

This can often lead to silent failures and/or buggy system behavior in release builds. Also, considering that most ebpf consumers would prefer running the retail builds (ebpf program verification times are un-acceptably slow in debug builds), the subsequent inconsistent behavior would only end up confusing the ebpf end customers.

We should bugcheck the system and generate a crash dump to debug and fix issues such as:
- Un-recoverable errors
- Fatal errors
- indeterminate 'waits'

### OS information

_No response_

### Steps taken to reproduce bug

N/A

### Expected behavior

The system should bugcheck and generate a crash dump.

### Actual outcome

The failures are ignored and system behavior becomes indeterminate.

### Additional details

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by reading discussion 2247 and locating the existing asserts and non-terminating “wait for...” paths described in the issue. Determine which unrecoverable and fatal failures require bugchecks, then verify that those release-build paths generate a crash dump instead of allowing indeterminate behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
operating-systems
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.