Skip to content

Conversation

brunoerg
Copy link
Contributor

@brunoerg brunoerg commented Aug 27, 2024

Fixes #30505

This PR fixes a timeout in crypto_fschacha20poly1305 by reducing the number of iterations. I left it running for a while and noticed it speeds up the target and do not impact coverage.

@DrahtBot
Copy link
Contributor

DrahtBot commented Aug 27, 2024

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage

For detailed information about the code coverage, see the test coverage report.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK maflcko, stratospher

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

@DrahtBot DrahtBot added the Tests label Aug 27, 2024
@brunoerg
Copy link
Contributor Author

I think it can be tested by replacing the ConsumeBool() to true which causes a timeout quickly.

--- a/src/test/fuzz/crypto_chacha20poly1305.cpp
+++ b/src/test/fuzz/crypto_chacha20poly1305.cpp
@@ -130,7 +130,7 @@ FUZZ_TARGET(crypto_fschacha20poly1305)
     // data).
     InsecureRandomContext rng(provider.ConsumeIntegral<uint64_t>());
 
-    LIMITED_WHILE(provider.ConsumeBool(), 10000)
+    LIMITED_WHILE(true, 10000)
     {
         // Mode:

Maybe this is a way to know whether a harness can have a possible timeout issue? cc: @maflcko

@maflcko
Copy link
Member

maflcko commented Aug 27, 2024

Please cross-link to the issue (#30505)

@maflcko maflcko requested a review from stratospher August 27, 2024 15:50
@maflcko
Copy link
Member

maflcko commented Aug 27, 2024

lgtm ACK 8dec4e1

@maflcko
Copy link
Member

maflcko commented Aug 27, 2024

https://cirrus-ci.com/task/6004238088667136?logs=ci#L5367

crypto_fschacha20poly1305                #83	DONE   cov: 3202 ft: 21189 corp: 80/12762b lim: 1368 exec/s: 2 rss: 119Mb

https://cirrus-ci.com/task/6249653828583424?logs=ci#L5217

crypto_fschacha20poly1305                #83	DONE   cov: 3202 ft: 21417 corp: 80/12762b lim: 1368 exec/s: 1 rss: 121Mb

@brunoerg
Copy link
Contributor Author

cc: @stratospher

@stratospher
Copy link
Contributor

Concept ACK. (running it locally, will ACK after that!)
did you check if the timeout happens in crypto_aeadchacha20poly1305 too?

@brunoerg
Copy link
Contributor Author

did you check if the timeout happens in crypto_aeadchacha20poly1305 too?

I think we did not have an issue with that yet, but anyway, I'll investigate it and follow-up.

Copy link
Contributor

@stratospher stratospher left a comment

Choose a reason for hiding this comment

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

ACK 8dec4e1. saw similar coverage stats (these are from different machines, saw more similar from same machine).

  1. on branch
    #3974498 REDUCE cov: 544 ft: 3788 corp: 250/22Kb lim: 4096 exec/s: 124 rss: 538Mb L: 95/573 MS: 5 ChangeByte-ChangeByte-EraseBytes-ChangeBinInt-InsertByte-
  2. on master
    #3975366 REDUCE cov: 571 ft: 3993 corp: 279/51Kb lim: 4096 exec/s: 148 rss: 829Mb L: 3009/3818 MS: 1 EraseBytes-

@fanquake fanquake merged commit 128ade0 into bitcoin:master Aug 28, 2024
16 checks passed
@bitcoin bitcoin locked and limited conversation to collaborators Aug 28, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

fuzz: crypto_fschacha20poly1305 timeout
5 participants