cloudflare
workerd
BlogDocsChangelog

Reprl for Fuzzilli fuzzing

#4917Merged
Comparing
reprl-2
(
2c32de2
) with
main
(
2376e81
)
CodSpeed Performance Gauge
-9%
Regressions
1
Untouched
33
Skipped
9

Benchmarks

Skipped (9)

Failed

Encode_ASCII_256[0/0/256]
unknown_file
Regression
CodSpeed Performance Gauge
-9%
4.4 ms4.8 ms

Passed

bodyWithHeaders[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
+2%
23.5 µs23.1 µs
Encode_TwoByte_256[0/2/256]
unknown_file
CodSpeed Performance Gauge
0%
7 ms7 ms
Encode_OneByte_256[0/1/256]
unknown_file
CodSpeed Performance Gauge
0%
5.1 ms5.1 ms
request[GlobalScopeBenchmark]
src/workerd/tests/bench-global-scope.c++
CodSpeed Performance Gauge
0%
52.3 ms52.2 ms
Encode_ASCII_32[0/0/32]
unknown_file
CodSpeed Performance Gauge
0%
3.1 ms3.1 ms
Encode_TwoByte_1024[0/2/1024]
unknown_file
CodSpeed Performance Gauge
0%
19.5 ms19.5 ms
Encode_OneByte_1024[0/1/1024]
unknown_file
CodSpeed Performance Gauge
0%
11.9 ms11.9 ms
Encode_ASCII_1024[0/0/1024]
unknown_file
CodSpeed Performance Gauge
0%
8.9 ms8.9 ms
Test_JSON_ENC
src/workerd/tests/bench-json.c++
CodSpeed Performance Gauge
0%
195.8 ms195.8 ms
Encode_TwoByte_8192[0/2/8192]
unknown_file
CodSpeed Performance Gauge
0%
146.2 ms146.1 ms
Encode_ASCII_8192[0/0/8192]
unknown_file
CodSpeed Performance Gauge
0%
55.6 ms55.6 ms
EncodeInto_OneByte_8192[1/1/8192]
unknown_file
CodSpeed Performance Gauge
0%
66.6 ms66.6 ms
constructor[ApiHeaders]
src/workerd/tests/bench-api-headers.c++
CodSpeed Performance Gauge
0%
91 ms91 ms
Parse[KjHeaders]
src/workerd/tests/bench-kj-headers.c++
CodSpeed Performance Gauge
0%
44.3 µs44.3 µs
simpleStringBody[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
0%
20 µs20 µs
nullBodyWithStatus[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
0%
10.1 µs10.1 µs
Util_RecursivelyFreeze
src/workerd/tests/bench-util.c++
CodSpeed Performance Gauge
0%
10.8 ms10.8 ms
EncodeInto_OneByte_1024[1/1/1024]
unknown_file
CodSpeed Performance Gauge
0%
10.4 ms10.4 ms
Test_JSON_DEC
src/workerd/tests/bench-json.c++
CodSpeed Performance Gauge
0%
3.2 s3.2 s
ParseAndSerialize
Mimetype
CodSpeed Performance Gauge
0%
70.5 ms70.5 ms
request[RegExpBenchmark]
src/workerd/tests/bench-regex.c++
CodSpeed Performance Gauge
0%
7.3 ms7.3 ms
set_append[ApiHeaders]
src/workerd/tests/bench-api-headers.c++
CodSpeed Performance Gauge
0%
15.9 ms15.9 ms
Encode_OneByte_8192[0/1/8192]
unknown_file
CodSpeed Performance Gauge
0%
84.7 ms84.7 ms
EncodeInto_TwoByte_8192[1/2/8192]
unknown_file
CodSpeed Performance Gauge
0%
96.7 ms96.7 ms
Serialize
Mimetype
CodSpeed Performance Gauge
0%
68.5 ms68.5 ms
EncodeInto_ASCII_8192[1/0/8192]
unknown_file
CodSpeed Performance Gauge
0%
45.8 ms45.8 ms
EncodeInto_TwoByte_1024[1/2/1024]
unknown_file
CodSpeed Performance Gauge
0%
14.1 ms14.1 ms
EncodeInto_ASCII_1024[1/0/1024]
unknown_file
CodSpeed Performance Gauge
0%
7.9 ms7.9 ms
arrayBufferBody[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
0%
16.2 µs16.3 µs
EncodeInto_OneByte_256[1/1/256]
unknown_file
CodSpeed Performance Gauge
0%
4.5 ms4.5 ms
EncodeInto_ASCII_256[1/0/256]
unknown_file
CodSpeed Performance Gauge
0%
3.8 ms3.8 ms
EncodeInto_TwoByte_256[1/2/256]
unknown_file
CodSpeed Performance Gauge
0%
5.4 ms5.4 ms
jsonResponse[Response]
src/workerd/tests/bench-response.c++
CodSpeed Performance Gauge
-7%
33.6 µs36.3 µs

Commits

Click on a commit to change the comparison range
Base
main
2376e81
-9.25%
Add Fuzzilli REPRL integration for fuzzing support This commit adds comprehensive support for fuzzing workerd using Fuzzilli's REPRL (Read-Eval-Print-Reset-Loop) protocol. Key changes: - Implement REPRL protocol handler in workerd server with --stdin-reprl flag - Add fuzzilli() JavaScript API for crash testing and coverage tracking - Integrate libreprl C library for REPRL client communication - Add KJ-based test framework integration (test-reprl.c++) - Create example Fuzzilli configurations and mock services - Add immediate-crash.h utility for controlled crash testing - Fix V8 ASAN macro redefinition warnings by adding V8_USE_ADDRESS_SANITIZER - Update .bazelrc to use clang-19 directly instead of ccache wrapper The implementation allows Fuzzilli to: - Execute JavaScript code in isolated REPRL sessions - Collect sanitizer coverage feedback - Detect crashes and memory errors - Reset worker state between executions Example usage: bazel test --config=fuzzilli //src/workerd/tests:test-reprl ./workerd test fuzzilli/config.capnp --experimental --stdin-reprl
2c32de2
1 month ago
by mschwarzl
© 2025 CodSpeed Technology
Home Terms Privacy Docs