- fuzztest in PX4/Firmware (eb1f3465a68fa8e593a566c6c07bd0b4cc6e04f3): 1e47f9d743
- fuzztest current upstream: 3bf45cbe08
- Changes: 1e47f9d743...3bf45cbe08
3bf45cb 2025-09-10 FuzzTest Team - Implement printer autodetection for smart pointers.
3741e31 2025-09-10 Filip Niksic - Implement printer autodetection for smart pointers.
d8f299d 2025-09-10 László Szekeres - Split fuzz_tests_with_proto_inputs into a library and a binary.
4ff90b7 2025-09-08 Xinhao Yuan - Add a static library to generate a self-contained archive.
3194801 2025-09-08 Xinhao Yuan - Process the execution metadata when finalizing coverage.
55c908f 2025-09-08 Xinhao Yuan - Add configs to avoid single job timeout for running multiple configs.
61015dd 2025-09-02 Ivo Ristovski List - No public description
70d96c4 2025-09-02 Ivo Ristovski List - No public description
d897f74 2025-08-27 Xinhao Yuan - Pass runner flags to the Sancov runtime.
62174b5 2025-08-27 Xinhao Yuan - Add MSAN support with a functional test.
8b93bbe 2025-08-26 Xinhao Yuan - Add compact mode to comparison tables to not sample from unpopulated entries.
169baf1 2025-08-26 Filip Niksic - Report crash summary when replaying a corpus or a crashing input.
b87fa7d 2025-08-26 Xinhao Yuan - Prioritize higher scores in CMP features.
e9b49f3 2025-08-21 László Szekeres - A few more LOG macro cleanup.
73721c6 2025-08-21 László Szekeres - Remove unused batch fuzz example.
f6aa6f6 2025-08-20 László Szekeres - Simplify some log statements with FUZZTEST_PCHECK.
b742bb0 2025-08-20 László Szekeres - Change instances of FUZZTEST_CHECK(false) to FUZZTEST_LOG(FATAL).
e91ddf2 2025-08-19 Yamil Morales - Implement sancov runtime API to be able to emit features for other frameworks, and add a new interface to the dispatcher for exposed feature compatibility.
c086c98 2025-08-19 Xinhao Yuan - Allow infinite time limit when there is only one test.
0bf1031 2025-08-19 László Szekeres - Remove redundant and stale metadata files from Centipede codebase.
3623860 2025-08-18 Xinhao Yuan - Fix runner/sancov state lifetime by adding manual lifetime wrappers.
4c66517 2025-08-18 László Szekeres - Consolidate CHECK and LOG implementations.
a1840dc 2025-08-15 Xinhao Yuan - Replace fuzztest_single_test_mode with ..._multi_test_mode_soon_to_be_removed.
fd61d9a 2025-08-15 Xinhao Yuan - Revert an accidentally flipped prediction.
805f32c 2025-08-15 Dan Snyder - Add ability to exclude specific sets of features when creating a seed corpus.
2bdfb36 2025-08-15 Xinhao Yuan - Fix logging.
eca35cc 2025-08-15 Hadi Ravanbakhsh - Mutate newly added fields to protobuf because they can have empty value (e.g., nullopt).
2bc3312 2025-08-14 Xinhao Yuan - Add thread level tracing control and disable tracing for FuzzTest runtime.
ad40838 2025-08-14 Hadi Ravanbakhsh - Add pointer stability to flash_hash_map-s used for caches.
5132f07 2025-08-12 Xinhao Yuan - Implement persistent mode in runner and `CentipedeCallbacks`.
b8a1c8c 2025-08-12 FuzzTest Team - Add Flatbuffers table nested support.
d08c250 2025-08-11 Yamil Morales - Revert HasDefaultFlag: Some instrumentation behaviors were enabled by default causing test failures
9598f90 2025-08-11 Xinhao Yuan - Attempt to fix a potential ASAN false positive of "initialization-order-fiasco".
fb61507 2025-08-11 Xinhao Yuan - Introduce `EXPECT_THAT_LOG` macro to improve test failure messages.
dff1bd3 2025-08-11 Filip Niksic - Use the same seed for mutation runs when testing parallel efficiency.
3aa1c32 2025-08-11 Filip Niksic - Correctly initialize `fields_cache_` in the protobuf domain.
1d21791 2025-08-08 FuzzTest Team - No public description
4bb9339 2025-08-08 Dan Snyder - Add a tool for analyzing feature files from centipede.
85f38ce 2025-08-08 Hadi Ravanbakhsh - Avoid reading from files in construction time of the protobuf domain.
a2f4cc5 2025-08-08 Xinhao Yuan - Add more logging to help explain failures.
4864826 2025-08-08 Xinhao Yuan - No public description
fd67d41 2025-08-08 Hadi Ravanbakhsh - Cache fields of proto descriptors.
81f0e30 2025-08-08 FuzzTest Team - Add GetStderrFdDup() for logging in signal handler.
2019a35 2025-08-08 Xinhao Yuan - Add GetStderrFdDup() for logging in signal handler.
97d508a 2025-08-08 Hadi Ravanbakhsh - Create a cache for recursive analysis in proto policy and is passed-down by pointer for nested protos.
691fac2 2025-08-08 Hadi Ravanbakhsh - Add a parallel mutation efficiency test for protobuf mutation.
0a6f95e 2025-08-07 Yamil Morales - No public description
a4725f0 2025-08-07 Filip Niksic - No public description
deebe22 2025-08-07 Ali Hijazi - Pass the `seed` by reference to `print_one_arg`.
cedea38 2025-08-06 Xinhao Yuan - Create a public mutex for atomically printing execution logs.
c89794a 2025-08-06 Xinhao Yuan - Make execution log printing less verbose in command.
67642ca 2025-08-06 Ali Hijazi - Minor: Remove stray semicolon
2d6ca21 2025-08-05 Yamil Morales - Refactor sancov related objects and coverage processing functions out of the runner with the purpose of sharing it with other frameworks for emitting features.
a292a7b 2025-08-05 Dan Snyder - Clear features when the input is rejected
be7434d 2025-08-04 Xinhao Yuan - Abort on external failures in runner mode instead of keep running.
f0ba189 2025-08-01 Xinhao Yuan - Fix test filtering when running FuzzTest with the separate Centipede binary.
c1c656a 2025-07-31 Alex Light - Add fuzztest::unstable::ParseReproducerValue function.
bdb32e6 2025-07-28 Yamil Morales - No public description
afcef76 2025-07-28 Copybara-Service - Merge pull request #1791 from ShadowBearVR:main
a183551 2025-07-28 Collin MacDonald - Ensure Corpus Telemetry is correctly collected
81e4fbd 2025-07-25 Alex Light - Allow fuzz test users to define source-code printers
ff0ac29 2025-07-22 László Szekeres - No public description
b8817b3 2025-07-22 Hadi Ravanbakhsh - No public description
33ad8c0 2025-07-21 Hadi Ravanbakhsh - No public description
4f2e879 2025-07-21 FuzzTest Team - Add flatbuffers enum domain
391c34a 2025-07-17 Hadi Ravanbakhsh - No public description
0f82dad 2025-07-15 Copybara-Service - Merge pull request #1774 from backes:fix-invalid-seed-typo
41aff1b 2025-07-15 Clemens Backes - Fix reporting invalid multi-value seeds
7bab06f 2025-07-12 FuzzTest Team - No public description
5b5b1af 2025-07-11 FuzzTest Team - No public description
e22ceff 2025-07-10 FuzzTest Team - Add flatbuffers domain
1d26596 2025-07-09 Xinhao Yuan - Extend Command for more control over a single exectuion. #Centipede
3cb8569 2025-07-09 Xinhao Yuan - No public description
d5857a5 2025-07-01 FuzzTest Team - No public description
62dfb3a 2025-06-30 Filip Niksic - Add the ability to set an external crash reporter for crash summaries.
31ca9be 2025-06-30 Filip Niksic - Report a summary of crashes at the end of an "update corpus database" session.
45a1c3a 2025-06-20 FuzzTest Team - Fix a potential race condition when incrementing static counters.
6c64b55 2025-06-17 FuzzTest Team - No public description
4dda385 2025-06-17 Xinhao Yuan - Add a test for crash deduplication.
3a04e5c 2025-06-17 Xinhao Yuan - Basic dispatcher prototype.
dad90ee 2025-06-17 Xinhao Yuan - No public description
69cac4b 2025-06-17 Hadi Ravanbakhsh - Limit the input size when printing in human-readable format.
466e457 2025-06-17 Xinhao Yuan - Add new experimental result types for the Dispatcher prototype.
7618998 2025-06-13 Samuel Freilich - Also bump Protobuf to latest version
18b45b9 2025-06-13 Ali Hijazi - Remove Deprecated Call to FieldDescriptor::is_optional
8c215ac 2025-06-12 Xinhao Yuan - Make Centipede calls aware of termination.
2546e95 2025-06-12 Xinhao Yuan - Fix MacOS build.
27eb467 2025-06-11 Copybara-Service - Merge pull request #1742 from sfreilich:patch-1
b0db9fd 2025-06-11 Filip Niksic - Split crash metadata into description and signature.
c2b8c85 2025-06-11 Samuel Freilich - Update Abseil and Riegeli
- The velocity constraint gets set from multiple places e.g. Position slow knob and altitude related slow down. Depending on the execution order it was overwritten with a higher value again not obeying a stricter limit.
- The slowdown used valocities as inputs instead of the ratio of available altitude.
In an effort to reduce configuration space.
I've not seen use for this option.
If a pilot flies manually in position mode he has some visual reference of the vehicle and can do better than an autonomous mode without position reference.
Also by now we have nudging in Descend mode so the pilot can still give input and the only difference is it automatically goes down instead of the pilot having to descend by stick to land.
* Create a dummy BAHRS driver
* Resolve compilation
* Switch back to cpp, fix compilation
* Create module.yaml
* Implement required module APIs and open serial port
* Revise info and error messages
* Poll serial port
* Push received bytes into the ring buffer
* Process data buffer (1)
* Process data buffer (2)
* Process data buffer (3)
* Process data buffer (4)
* Process data buffer (5)
* Process data buffer (6)
* Implement and use initialize() and deinitialize() methods
* Implement print_usage() and print_status()
* Collect all config constants in a class
* Put info about next found message into a class
* Print CRC failure count
* Remove unneeded print
* Add comments
* Disable EKF2, advertise vehicle attitude
* Decode and publish BAHRS signals (1)
* Run the driver as an additional source of sensor signals
* Add tiny noise to baro-inertial pressure signal
* Fix the sensor ID
* Add copyrights
* Fix formatting
* Remove redundant newline character
* Fix long parameter name
* Fix findings (1)
* Fix finding (2)
* Fix formatting
* Fix the timeout value
* Remove aliases
* Fix copyright
* Fix indent
* Comply with naming convention
* Rework comparison to false
* Reduce nesting (1)
* Reduce nesting (2)
* Reduce nesting (3)
* Fix BAHRS sensor ID
This allows external modes to individually check if they are flagged as
invalid/unresponsive.
Previously this was done only based on whether or not ArmingCheckRequest
was received, which does not work when multiple modes are running.
based on the message timestamp.
Previously it was possible to run into the following case:
- 2 external modes are registered (running inside the same ROS node)
- they time out due to the micro xrce agent being blocked for some reason
- PX4 removes them
- the latest arming check replies still arrive to PX4
- the application restarts
- the first mode gets registered
- PX4 handles the previous arming check reply, and clears
waiting_for_first_response, which reduces the timeout
- the second mode registers and as part of that checks for message
compatibility. This takes ~1s, triggering a timeout of the first mode
RIHS01 has the same functionality and already provides type safety with
rmw_zenoh_cpp. The user on ROS2 can compare the PX4 ros2_lv hashes with
their own px4_msgs for a mismatch