Skip to content

Handle real segfaults in fuzz targets#602

Merged
br-lewis merged 20 commits intomainfrom
FUZZ-774-handle-real-segfaults
Sep 28, 2023
Merged

Handle real segfaults in fuzz targets#602
br-lewis merged 20 commits intomainfrom
FUZZ-774-handle-real-segfaults

Conversation

@br-lewis
Copy link
Contributor

This adds handling for real segfaults in native code in our fuzz targets. Unfortunately, the only way to do that effectively was to have the C++ code in the fuzzer detect the error, print a message, write the crash file, and quit rather than returning control to JS so the result isn't as nice as a normal error but should be more informative than before.

@br-lewis br-lewis requested a review from a team September 19, 2023 12:25
Copy link
Contributor

@bertschneider bertschneider left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great that you got this working!

A few, but only minor, comments, overall this PR looks good.

Copy link
Contributor

@bertschneider bertschneider left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thx!

Please squash the commits before/on merge.

@br-lewis br-lewis merged commit ad962f9 into main Sep 28, 2023
@br-lewis br-lewis deleted the FUZZ-774-handle-real-segfaults branch September 28, 2023 13:34
karfau referenced this pull request in xmldom/xmldom Oct 28, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@jazzer.js/core](https://togithub.com/CodeIntelligenceTesting/jazzer.js)
| [`2.0.0` ->
`2.1.0`](https://renovatebot.com/diffs/npm/@jazzer.js%2fcore/2.0.0/2.1.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@jazzer.js%2fcore/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@jazzer.js%2fcore/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@jazzer.js%2fcore/2.0.0/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@jazzer.js%2fcore/2.0.0/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>CodeIntelligenceTesting/jazzer.js
(@&#8203;jazzer.js/core)</summary>

###
[`v2.1.0`](https://togithub.com/CodeIntelligenceTesting/jazzer.js/releases/tag/v2.1.0):
Release 2.1.0

[Compare
Source](https://togithub.com/CodeIntelligenceTesting/jazzer.js/compare/v2.0.0...v2.1.0)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

- **Feature**: Jest support: List fuzz test names by
[@&#8203;zgtm](https://togithub.com/zgtm) in
[https://github.com/CodeIntelligenceTesting/jazzer.js/pull/606](https://togithub.com/CodeIntelligenceTesting/jazzer.js/pull/606)
- **Feature**: Handle real segfaults in fuzz targets by
[@&#8203;br-lewis](https://togithub.com/br-lewis) in
[https://github.com/CodeIntelligenceTesting/jazzer.js/pull/602](https://togithub.com/CodeIntelligenceTesting/jazzer.js/pull/602)
- **Feature**: Provide consistent exit codes by
[@&#8203;bertschneider](https://togithub.com/bertschneider) in
[https://github.com/CodeIntelligenceTesting/jazzer.js/pull/617](https://togithub.com/CodeIntelligenceTesting/jazzer.js/pull/617)
- **Bugfix**: Patch coverage of implicit else branches by
[@&#8203;bertschneider](https://togithub.com/bertschneider) in
[https://github.com/CodeIntelligenceTesting/jazzer.js/pull/635](https://togithub.com/CodeIntelligenceTesting/jazzer.js/pull/635)

**Full Changelog**:
CodeIntelligenceTesting/jazzer.js@v2.0.0...v2.1.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/xmldom/xmldom).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMS41IiwidXBkYXRlZEluVmVyIjoiMzcuMzEuNSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
karfau referenced this pull request in xmldom/xmldom Oct 28, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@jazzer.js/jest-runner](https://togithub.com/CodeIntelligenceTesting/jazzer.js)
| [`2.0.0` ->
`2.1.0`](https://renovatebot.com/diffs/npm/@jazzer.js%2fjest-runner/2.0.0/2.1.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@jazzer.js%2fjest-runner/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@jazzer.js%2fjest-runner/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@jazzer.js%2fjest-runner/2.0.0/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@jazzer.js%2fjest-runner/2.0.0/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>CodeIntelligenceTesting/jazzer.js
(@&#8203;jazzer.js/jest-runner)</summary>

###
[`v2.1.0`](https://togithub.com/CodeIntelligenceTesting/jazzer.js/releases/tag/v2.1.0):
Release 2.1.0

[Compare
Source](https://togithub.com/CodeIntelligenceTesting/jazzer.js/compare/v2.0.0...v2.1.0)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

- **Feature**: Jest support: List fuzz test names by
[@&#8203;zgtm](https://togithub.com/zgtm) in
[https://github.com/CodeIntelligenceTesting/jazzer.js/pull/606](https://togithub.com/CodeIntelligenceTesting/jazzer.js/pull/606)
- **Feature**: Handle real segfaults in fuzz targets by
[@&#8203;br-lewis](https://togithub.com/br-lewis) in
[https://github.com/CodeIntelligenceTesting/jazzer.js/pull/602](https://togithub.com/CodeIntelligenceTesting/jazzer.js/pull/602)
- **Feature**: Provide consistent exit codes by
[@&#8203;bertschneider](https://togithub.com/bertschneider) in
[https://github.com/CodeIntelligenceTesting/jazzer.js/pull/617](https://togithub.com/CodeIntelligenceTesting/jazzer.js/pull/617)
- **Bugfix**: Patch coverage of implicit else branches by
[@&#8203;bertschneider](https://togithub.com/bertschneider) in
[https://github.com/CodeIntelligenceTesting/jazzer.js/pull/635](https://togithub.com/CodeIntelligenceTesting/jazzer.js/pull/635)

**Full Changelog**:
CodeIntelligenceTesting/jazzer.js@v2.0.0...v2.1.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/xmldom/xmldom).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMS41IiwidXBkYXRlZEluVmVyIjoiMzcuMzEuNSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments