Skip to content

Conversation

@ChrisDryden
Copy link
Collaborator

@ChrisDryden ChrisDryden commented Dec 15, 2025

I'm hoping to go through the draft PR's that @sylvestre has open and make some fixes to bring the changes over the finish line.

This was the original PR for these changes: #9120

Had to make a few choices here, the original tests were looking for error messages that didn't match what the GNU implementation was providing so I ended up updating the tests to what the GNU implementation was returning. I was able to run the fuzzer locally and it was no longer crashing. Just waiting on the CI to validate that this should.

What ended up happening was that the handler was changed because the fuzzer runs the program in process and the clap error handler calls exit() directly and crashes the fuzzer. I think the best approach here is to make the handler return an err instead since its more idiomatic. Making a commit here to see if it causes any unforeseen issues.

@github-actions
Copy link

GNU testsuite comparison:

Skipping an intermittent issue tests/tail/overlay-headers (passes in this run but fails in the 'main' branch)

@github-actions
Copy link

GNU testsuite comparison:

Skipping an intermittent issue tests/tail/overlay-headers (passes in this run but fails in the 'main' branch)

@ChrisDryden
Copy link
Collaborator Author

I now see why this is much harder than I thought, I think the next approach now is to look into the way that the fuzzer is invoked to fork instead of use the same process. The exit code matches the gnu implementation its just it calls exit().

@ChrisDryden
Copy link
Collaborator Author

That seems like its a major change too, maybe the solution is to make the localization process not call system::exit()?

@ChrisDryden
Copy link
Collaborator Author

There's got to be a more straightforward fix than either getting the Fuzzer to run in a fork or to change the entire localization error handling to not call exit()

@codspeed-hq
Copy link

codspeed-hq bot commented Dec 15, 2025

CodSpeed Performance Report

Merging #9661 will degrade performances by 14.86%

Comparing ChrisDryden:fuzz-date (4c83de2) with main (64203e3)

Summary

❌ 2 regressions
✅ 125 untouched
⏩ 6 skipped1

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Benchmarks breakdown

Benchmark BASE HEAD Change
shuf_repeat_sampling[50000] 4.6 ms 5.1 ms -9.22%
shuf_lines[100000] 26.9 ms 31.6 ms -14.86%

Footnotes

  1. 6 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@github-actions
Copy link

GNU testsuite comparison:

Skip an intermittent issue tests/tail/overlay-headers (fails in this run but passes in the 'main' branch)

@github-actions
Copy link

GNU testsuite comparison:

Skipping an intermittent issue tests/tail/overlay-headers (passes in this run but fails in the 'main' branch)

@ChrisDryden
Copy link
Collaborator Author

I don't see any connection between this code change and the performance regression, I'm a bit stuck

@ChrisDryden ChrisDryden marked this pull request as ready for review December 16, 2025 15:54
@ChrisDryden
Copy link
Collaborator Author

This PR was able to give me relative confidence its an unrelated issue: #9004

@sylvestre sylvestre merged commit 0fbc17c into uutils:main Dec 22, 2025
126 of 128 checks passed
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