AFLplusplus / AFLplusplus/LibAFL

Do not sync initial corpus, or don't do it too fast

Đang mở
#2,564 3 bình luận 0 reaction 0 người được giao Xem trên GitHub
enhancement
Ngôn ngữ chính
Rust
Star
2.6k
Fork
481
Merge trung bình
2 ngày 30 phút
Pull request đã merge (30 ngày)
16

Mô tả

From somebody using LibAFL:

> I'm hitting this panic from time to time: https://github.com/AFLplusplus/LibAFL/blob/main/libafl_bolts/src/llmp.rs#L1114
> I think it's because I'm launching a lot of clients, that may be slow, with a big corpus.
> the constant definition says:
> ```
> /// The max number of pages a [`client`] may have mapped that were not yet read by the [`broker`]
> /// Usually, this value should not exceed `1`, else the broker cannot keep up with the amount of incoming messages.
> /// Instead of increasing this value, you may consider sending new messages at a lower rate, else your Sender will eventually `OOM`.
> const LLMP_CFG_MAX_PENDING_UNREAD_PAGES: usize = 3;
> ```

My answer to have this thing fixed quickly is this one:

> a quick and dirty patch is this one https://github.com/AFLplusplus/LibAFL/blob/main/libafl/src/state/mod.rs#L751
> change the call to evaluate_input to evaluate_input_events that takes a parameter more, send_events, set it to false

How should we address this problem? Apply my patch? We can assume all the nodes load the initial corpus by themself so no need to create NewTestcase events, but maybe there are situation I'm not thinking about now that are useful.
The initial corpus loading methods are already very configurable and we have many variants, I would avoid adding another one to let the user choose whatever send NewTestcase messages when loading the initial corpus or not and simply hardcode the best solution.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.