Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

December 2021 edition of Myanmar Tools Build Failing #6978

Closed
sffc opened this issue Dec 7, 2021 · 9 comments
Closed

December 2021 edition of Myanmar Tools Build Failing #6978

sffc opened this issue Dec 7, 2021 · 9 comments
Assignees

Comments

@sffc
Copy link
Contributor

sffc commented Dec 7, 2021

Updates to the OSS Fuzz images frequently break the Myanmar Tools build:

Here is the latest edition:

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=41876

Step #3 - "compile-afl-address-x86_64": + cmake -DCMAKE_C_COMPILER=/src/aflplusplus/afl-clang-fast -DCMAKE_CXX_COMPILER=/src/aflplusplus/afl-clang-fast++ '-DCMAKE_C_FLAGS=-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope ' '-DCMAKE_CXX_FLAGS=-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope  -stdlib=libc++' -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ..
Step #3 - "compile-afl-address-x86_64": -- [hunter] Initializing Hunter workspace (5ead1e069b437930d0de8a21824b20fb52b37b50)
Step #3 - "compile-afl-address-x86_64": -- [hunter]   https://github.com/ruslo/hunter/archive/v0.21.19.tar.gz
Step #3 - "compile-afl-address-x86_64": -- [hunter]   -> /root/.hunter/_Base/Download/Hunter/0.21.19/5ead1e0
Step #3 - "compile-afl-address-x86_64": -- The C compiler identification is unknown
Step #3 - "compile-afl-address-x86_64": -- The CXX compiler identification is unknown
Step #3 - "compile-afl-address-x86_64": -- Detecting C compiler ABI info
Step #3 - "compile-afl-address-x86_64": -- Detecting C compiler ABI info - failed
Step #3 - "compile-afl-address-x86_64": -- Check for working C compiler: /src/aflplusplus/afl-clang-fast
Step #3 - "compile-afl-address-x86_64": -- Check for working C compiler: /src/aflplusplus/afl-clang-fast - broken
Step #3 - "compile-afl-address-x86_64": CMake Error at /usr/local/share/cmake-3.21/Modules/CMakeTestCCompiler.cmake:69 (message):
Step #3 - "compile-afl-address-x86_64":   The C compiler
Step #3 - "compile-afl-address-x86_64": 
Step #3 - "compile-afl-address-x86_64":     "/src/aflplusplus/afl-clang-fast"
Step #3 - "compile-afl-address-x86_64": 
Step #3 - "compile-afl-address-x86_64":   is not able to compile a simple test program.
Step #3 - "compile-afl-address-x86_64": 
Step #3 - "compile-afl-address-x86_64":   It fails with the following output:
Step #3 - "compile-afl-address-x86_64": 
Step #3 - "compile-afl-address-x86_64":     Change Dir: /src/myanmar-tools/clients/cpp/build/CMakeFiles/CMakeTmp
Step #3 - "compile-afl-address-x86_64":     
Step #3 - "compile-afl-address-x86_64":     Run Build Command(s):/usr/bin/make -f Makefile cmTC_eef60/fast && /usr/bin/make  -f CMakeFiles/cmTC_eef60.dir/build.make CMakeFiles/cmTC_eef60.dir/build
Step #3 - "compile-afl-address-x86_64":     make[1]: Entering directory '/src/myanmar-tools/clients/cpp/build/CMakeFiles/CMakeTmp'
Step #3 - "compile-afl-address-x86_64":     Building C object CMakeFiles/cmTC_eef60.dir/testCCompiler.c.o
Step #3 - "compile-afl-address-x86_64":     /src/aflplusplus/afl-clang-fast   -O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope  -o CMakeFiles/cmTC_eef60.dir/testCCompiler.c.o -c /src/myanmar-tools/clients/cpp/build/CMakeFiles/CMakeTmp/testCCompiler.c
Step #3 - "compile-afl-address-x86_64":     error: unable to load plugin '/src/aflplusplus/SanitizerCoveragePCGUARD.so': '/src/aflplusplus/SanitizerCoveragePCGUARD.so: cannot open shared object file: No such file or directory'
Step #3 - "compile-afl-address-x86_64":     make[1]: *** [CMakeFiles/cmTC_eef60.dir/build.make:78: CMakeFiles/cmTC_eef60.dir/testCCompiler.c.o] Error 1
Step #3 - "compile-afl-address-x86_64":     make[1]: Leaving directory '/src/myanmar-tools/clients/cpp/build/CMakeFiles/CMakeTmp'
Step #3 - "compile-afl-address-x86_64":     make: *** [Makefile:127: cmTC_eef60/fast] Error 2
Step #3 - "compile-afl-address-x86_64":     
Step #3 - "compile-afl-address-x86_64":     
Step #3 - "compile-afl-address-x86_64": 
Step #3 - "compile-afl-address-x86_64":   
Step #3 - "compile-afl-address-x86_64": 
Step #3 - "compile-afl-address-x86_64":   CMake will not be able to correctly generate this project.
Step #3 - "compile-afl-address-x86_64": Call Stack (most recent call first):
Step #3 - "compile-afl-address-x86_64":   CMakeLists.txt:30 (project)

CC @jonathanmetzman @inferno-chromium

@afd
Copy link
Contributor

afd commented Dec 7, 2021

The spirv-tools project is failing with a similar error:

Step #3 - "compile-afl-address-x86_64":     Run Build Command(s):/usr/bin/ninja cmTC_4c32e && [1/2] Building C object CMakeFiles/cmTC_4c32e.dir/testCCompiler.c.o
Step #3 - "compile-afl-address-x86_64":     FAILED: CMakeFiles/cmTC_4c32e.dir/testCCompiler.c.o 
Step #3 - "compile-afl-address-x86_64":     /src/aflplusplus/afl-clang-fast   -O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -o CMakeFiles/cmTC_4c32e.dir/testCCompiler.c.o -c /src/spirv-tools/build/CMakeFiles/CMakeTmp/testCCompiler.c
Step #3 - "compile-afl-address-x86_64":     error: unable to load plugin '/src/aflplusplus/afl-llvm-dict2file.so': '/src/aflplusplus/afl-llvm-dict2file.so: cannot open shared object file: No such file or directory'
Step #3 - "compile-afl-address-x86_64":     error: unable to load plugin '/src/aflplusplus/afl-llvm-pass.so': '/src/aflplusplus/afl-llvm-pass.so: cannot open shared object file: No such file or directory'

@asraa
Copy link
Contributor

asraa commented Dec 7, 2021

related #6957

@jonathanmetzman jonathanmetzman self-assigned this Dec 7, 2021
@jonathanmetzman
Copy link
Contributor

Pretty sure every project with AFL++ has been broken by this issue.
Making this my p0 for now.

Long term we might want to look into better build infra that can determine when a clang roll/other infra changes breaks things.

@jonathanmetzman
Copy link
Contributor

I thought this was fixed yesterday by #6970 (comment). Apologies

@maflcko
Copy link
Contributor

maflcko commented Dec 7, 2021

Not sure what went wrong there a second time in a row. Sorry, I thought I saw our build passing.

Maybe OSS-Fuzz can switch to using only the latest release branche of clang? See #6974 (comment)

@jonathanmetzman
Copy link
Contributor

Rebuilding base-images
Will force a rebuild of your projects when that finishes to verify problem is fixed.

@maflcko
Copy link
Contributor

maflcko commented Dec 7, 2021

I checked locally that all of those pass:

infra/base-images/all.sh
python infra/helper.py build_fuzzers --sanitizer address  --engine afl myanmar-tools
python infra/helper.py build_fuzzers --sanitizer address  --engine afl spirv-tools

Let's hope OSS-Fuzz is happy as well 🙏

@jonathanmetzman
Copy link
Contributor

myanmar-tools build fixed.

@sffc
Copy link
Contributor Author

sffc commented Dec 8, 2021

Yup! https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=41876#c2

Thank you for the quick fix!

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

No branches or pull requests

5 participants