-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
date: improve fuzzer and handle edge cases #9661
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
Conversation
|
GNU testsuite comparison: |
7148e55 to
e776d15
Compare
|
GNU testsuite comparison: |
|
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(). |
|
That seems like its a major change too, maybe the solution is to make the localization process not call system::exit()? |
|
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 Performance ReportMerging #9661 will degrade performances by 14.86%Comparing Summary
Benchmarks breakdown
Footnotes
|
|
GNU testsuite comparison: |
34c8126 to
4c83de2
Compare
|
GNU testsuite comparison: |
|
I don't see any connection between this code change and the performance regression, I'm a bit stuck |
|
This PR was able to give me relative confidence its an unrelated issue: #9004 |
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.