Skip to content

Conversation

DavidKorczynski
Copy link
Collaborator

Some harnesses won't recognise the flags if -- is not supplied, causing the bad build check to run the fuzzers forever or until they crash. This happens for Envoy.

Tested this works on other projects as well, but will do a bit more testing before it's ready.

@DavidKorczynski
Copy link
Collaborator Author

@adisuissa fyi

Copy link
Contributor

@adisuissa adisuissa left a comment

Choose a reason for hiding this comment

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

Thanks for fixing this!

@DavidKorczynski
Copy link
Collaborator Author

Tested Envoy:

$ python3 infra/helper.py check_build envoy
...
INFO: performing bad build checks for /tmp/not-out/tmp8k2hlhbo/proxy_protocol_fuzz_test
INFO: performing bad build checks for /tmp/not-out/tmp8k2hlhbo/envoy_quic_h3_fuzz_test
INFO: performing bad build checks for /tmp/not-out/tmp8k2hlhbo/json_sanitizer_fuzz_test
INFO:__main__:Check build passed.

@DavidKorczynski
Copy link
Collaborator Author

/gcbrun trial_build.py all --fuzzing-engines libfuzzer --sanitizers address

@DavidKorczynski
Copy link
Collaborator Author

Hmm, the trial build fails with

Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 46.86 /usr/local/bin/cmake -E cmake_link_script CMakeFiles/index_unittest.dir/link.txt --verbose=1
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 46.86 /usr/local/bin/clang++ -O1   -fno-omit-frame-pointer   -gline-tables-only   -Wno-error=enum-constexpr-conversion   -Wno-error=incompatible-function-pointer-types   -Wno-error=int-conversion   -Wno-error=deprecated-declarations   -Wno-error=implicit-function-declaration   -Wno-error=implicit-int   -Wno-error=vla-cxx-extension   -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -stdlib=libc++ -O3 -DNDEBUG -stdlib=libc++ -fexperimental-library -fno-rtti -fuse-ld=lld -lc++ CMakeFiles/index_unittest.dir/index/file_copier_unittest.cc.o CMakeFiles/index_unittest.dir/index/in_memory_index_unittest.cc.o CMakeFiles/index_unittest.dir/index/types_unittest.cc.o -o index_unittest  lib/libgmock_main.a _deps/absl-build/absl/hash/libabsl_hash.a _deps/absl-build/absl/strings/libabsl_strings.a libindex.a lib/libgmock.a lib/libgtest.a _deps/absl-build/absl/container/libabsl_raw_hash_set.a _deps/absl-build/absl/strings/libabsl_cord.a _deps/absl-build/absl/strings/libabsl_cordz_info.a _deps/absl-build/absl/strings/libabsl_cord_internal.a _deps/absl-build/absl/strings/libabsl_cordz_functions.a _deps/absl-build/absl/strings/libabsl_cordz_handle.a _deps/absl-build/absl/crc/libabsl_crc_cord_state.a _deps/absl-build/absl/crc/libabsl_crc32c.a _deps/absl-build/absl/crc/libabsl_crc_internal.a _deps/absl-build/absl/crc/libabsl_crc_cpu_detect.a _deps/absl-build/absl/container/libabsl_hashtablez_sampler.a _deps/absl-build/absl/profiling/libabsl_exponential_biased.a _deps/absl-build/absl/log/libabsl_log_internal_check_op.a _deps/absl-build/absl/debugging/libabsl_leak_check.a _deps/absl-build/absl/log/libabsl_log_internal_conditions.a _deps/absl-build/absl/log/libabsl_log_internal_message.a _deps/absl-build/absl/log/libabsl_log_internal_nullguard.a _deps/absl-build/absl/debugging/libabsl_examine_stack.a _deps/absl-build/absl/log/libabsl_log_internal_format.a _deps/absl-build/absl/strings/libabsl_str_format_internal.a _deps/absl-build/absl/log/libabsl_log_internal_structured_proto.a _deps/absl-build/absl/log/libabsl_log_internal_proto.a _deps/absl-build/absl/log/libabsl_log_internal_log_sink_set.a _deps/absl-build/absl/log/libabsl_log_internal_globals.a _deps/absl-build/absl/log/libabsl_log_globals.a _deps/absl-build/absl/hash/libabsl_hash.a _deps/absl-build/absl/hash/libabsl_city.a _deps/absl-build/absl/types/libabsl_bad_variant_access.a _deps/absl-build/absl/hash/libabsl_low_level_hash.a _deps/absl-build/absl/log/libabsl_vlog_config_internal.a _deps/absl-build/absl/types/libabsl_bad_optional_access.a _deps/absl-build/absl/log/libabsl_log_internal_fnmatch.a _deps/absl-build/absl/synchronization/libabsl_synchronization.a _deps/absl-build/absl/debugging/libabsl_stacktrace.a _deps/absl-build/absl/debugging/libabsl_symbolize.a _deps/absl-build/absl/debugging/libabsl_debugging_internal.a _deps/absl-build/absl/debugging/libabsl_demangle_internal.a _deps/absl-build/absl/debugging/libabsl_demangle_rust.a _deps/absl-build/absl/debugging/libabsl_decode_rust_punycode.a _deps/absl-build/absl/debugging/libabsl_utf8_for_code_point.a _deps/absl-build/absl/synchronization/libabsl_graphcycles_internal.a _deps/absl-build/absl/base/libabsl_malloc_internal.a _deps/absl-build/absl/synchronization/libabsl_kernel_timeout_internal.a _deps/absl-build/absl/base/libabsl_tracing_internal.a _deps/absl-build/absl/log/libabsl_log_sink.a _deps/absl-build/absl/log/libabsl_log_entry.a _deps/absl-build/absl/base/libabsl_strerror.a _deps/absl-build/absl/time/libabsl_time.a _deps/absl-build/absl/time/libabsl_civil_time.a _deps/absl-build/absl/time/libabsl_time_zone.a _deps/absl-build/absl/strings/libabsl_strings.a _deps/absl-build/absl/numeric/libabsl_int128.a _deps/absl-build/absl/strings/libabsl_strings_internal.a _deps/absl-build/absl/strings/libabsl_string_view.a _deps/absl-build/absl/base/libabsl_base.a _deps/absl-build/absl/base/libabsl_spinlock_wait.a -lpthread -lrt _deps/absl-build/absl/base/libabsl_throw_delegate.a _deps/absl-build/absl/base/libabsl_raw_logging_internal.a _deps/absl-build/absl/base/libabsl_log_severity.a /usr/lib/x86_64-linux-gnu/libsqlite3.a
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 46.93 /usr/local/bin/cmake -D TEST_TARGET=index_unittest -D TEST_EXECUTABLE=/indexer/build/index_unittest -D TEST_EXECUTOR= -D TEST_WORKING_DIR=/indexer/build -D TEST_EXTRA_ARGS= -D TEST_PROPERTIES= -D TEST_PREFIX= -D TEST_SUFFIX= -D TEST_FILTER= -D NO_PRETTY_TYPES=FALSE -D NO_PRETTY_VALUES=FALSE -D TEST_LIST=index_unittest_TESTS -D CTEST_FILE=/indexer/build/index_unittest[1]_tests.cmake -D TEST_DISCOVERY_TIMEOUT=5 -D TEST_XML_OUTPUT_DIR= -P /usr/local/share/cmake-3.29/Modules/GoogleTestAddTests.cmake
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 46.94 make[2]: Leaving directory '/indexer/build'
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 46.94 [ 99%] Built target index_unittest
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 51.09 /indexer/frontend/ast_visitor.cc:1634:33: error: no member named 'getCanonicalTagType' in 'clang::ASTContext'
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 51.09  1632 |         const auto* type = method_decl->getParent()
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 51.09       |                            ~~~~~~~~~~~~~~~~~~~~~~~~
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 51.09  1633 |                                ->getASTContext()
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 51.09       |                                ~~~~~~~~~~~~~~~~~
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 51.09  1634 |                                .getCanonicalTagType(method_decl->getParent())
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 51.09       |                                 ^
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 51.09 /indexer/frontend/ast_visitor.cc:1651:18: error: no member named 'getCanonicalTagType' in 'clang::ASTContext'
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 51.09  1649 |             constructor_decl->getParent()
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 51.09       |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 51.09  1650 |                 ->getASTContext()
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 51.09       |                 ~~~~~~~~~~~~~~~~~
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 51.09  1651 |                 .getCanonicalTagType(constructor_decl->getParent())
Step #1: Step #3 - "build-163cdf70-32b7-45ec-910e-a517b7b24fda": #10 51.09       |                  ^

which looks to be from 23c943f

Will wait to check if the trial build fails in #13915 and if not then perhaps land that PR first.

@oliverchang
Copy link
Collaborator

/gcbrun trial_build.py all --fuzzing-engines libfuzzer --sanitizers address

@DavidKorczynski DavidKorczynski force-pushed the DavidKorczynski-patch-14 branch from 97571d2 to 3b05627 Compare September 9, 2025 16:46
@DavidKorczynski
Copy link
Collaborator Author

/gcbrun trial_build.py all --fuzzing-engines libfuzzer --sanitizers address

@DavidKorczynski
Copy link
Collaborator Author

DavidKorczynski commented Sep 9, 2025

Step #1: INFO:root:Failed project, Statuses, Logs
Step #1: INFO:root:gateway, FAILURE, https://oss-fuzz-gcb-logs.storage.googleapis.com/log-c11fdd7e-539e-44d0-8cab-88bc5f0ec80c.txt
Step #1: INFO:root:gstreamer, FAILURE, https://oss-fuzz-gcb-logs.storage.googleapis.com/log-75c906aa-efea-4761-97db-01f5ca8d4026.txt
Step #1: INFO:root:postgresql, FAILURE, https://oss-fuzz-gcb-logs.storage.googleapis.com/log-2bfd0d58-3948-43da-ab01-b146c03ee559.txt
Step #1: INFO:root:proton-bridge, FAILURE, https://oss-fuzz-gcb-logs.storage.googleapis.com/log-b07f9c19-6b8d-48e1-afde-3f87e7320bb2.txt

None of the failures are due to this PR. This is good to go.

@DavidKorczynski DavidKorczynski merged commit b047915 into master Sep 10, 2025
18 of 19 checks passed
@DavidKorczynski DavidKorczynski deleted the DavidKorczynski-patch-14 branch September 10, 2025 09:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants