-
Notifications
You must be signed in to change notification settings - Fork 25
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
MDBF-793 - Retire MSAN clang-15 builder, upgrade to clang-19 #562
Open
RazvanLiviuVarzaru
wants to merge
50
commits into
MariaDB:dev
Choose a base branch
from
RazvanLiviuVarzaru:feature/msan-clang-19
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
MDBF-793 - Retire MSAN clang-15 builder, upgrade to clang-19 #562
RazvanLiviuVarzaru
wants to merge
50
commits into
MariaDB:dev
from
RazvanLiviuVarzaru:feature/msan-clang-19
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
vladbogo
approved these changes
Sep 18, 2024
@grooverdan |
grooverdan
force-pushed
the
feature/msan-clang-19
branch
from
September 25, 2024 01:37
89ab27f
to
852a451
Compare
grooverdan
force-pushed
the
feature/msan-clang-19
branch
from
November 15, 2024 07:22
0c93f34
to
92566d9
Compare
RazvanLiviuVarzaru
force-pushed
the
dev
branch
from
November 19, 2024 11:49
d7eb898
to
4be5d7c
Compare
- replace debian 11 - clang 15 with debian 12 - clang 19 For msan.Dockerfile - starting from clang 18 libunwing is added to ENABLE_RUNTIMES - make the dockerfile work for both bookworm / bullseye editions (LLVM repository) - doc Makefile is not present in bookworm for gmp - bookworm has newer aclocal / automake -> cracklib2 fix - clang 19 needs libclang-19-dev and libllvmlibc-19-dev installed
This is to aid consumption by developers and have a ready available MSAN container. Technically we don't need to purge from image as its a build stage, but we do to keep size a bit smaller.
Also use update-alternatives to provide clang/clang++ links. With a 6 monthly new release cycle of clang. Keeping it such that a rebuild of image is sufficient to re-deploy rather than a master restart will facilitate more frequent updates and a fixed builder url.
Requested by Marko to make this a more realistic test of the codebase delivered to users. No -DWITH_DBUG_TRACE=OFF exists in RelWithDebInfo mode
make clang/clang++ alternates as soon as installed
Unit tests run all ok. WITH_SAFE_MALLOC=OFF is default in RelWithDebInfo mode.
Also convient CFLAGS and MSAN environment variables.
to non-instrumented things. Otherwise these sorts of error in testing: LD_LIBRARY_PATH=/msan-libs/ /usr/bin/ctest /usr/bin/ctest: symbol lookup error: /msan-libs/libgmp.so.10: undefined symbol: __msan_va_arg_overflow_size_tls
And the --force is for debian:11 compat where the files exist in the tarball.
Use cmake to install
Didn't instrument sufficiently. MSAN errors resultin the form: ==9000==WARNING: MemorySanitizer: use-of-uninitialized-value [Detaching after fork from child process 9003] #0 0x55c87cbda03f in my_base64_encode /source/mysys/base64.c:113:13 #1 0x55c87af96efb in calculate_server_uid(char*) /source/sql/mysqld.cc:9889:3 #2 0x55c87af96efb in init_common_variables() /source/sql/mysqld.cc:3882:7 #3 0x55c87af9111e in mysqld_main(int, char**) /source/sql/mysqld.cc:5546:7 #4 0x7f6d94ab5249 (/lib/x86_64-linux-gnu/libc.so.6+0x27249) (BuildId: c047672cae7964324658491e7dee26748ae5d2f8) #5 0x7f6d94ab5304 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x27304) (BuildId: c047672cae7964324658491e7dee26748ae5d2f8) #6 0x55c87aeef130 in _start (/build/sql/mariadbd+0x6ee130) (BuildId: abe0c6d0a0f0bdcee26c5e1f69353335cca3bd8a) The sha1 has that is being encoded wasn't maked as initialized though the openssl libs wrote the hash there.
Weird permission issue apt-sourcing the snapshot llvm about _apt user not having access to root files
This reverts commit 92566d9.
(and fix cracklib to build).
It has been corrected upstream cracklib/cracklib@bdb3aee but in this case the Debug function is a no-op so no harm done.
Saw debian having 11.0.2 in experimental which once it reaches sid will be possible to revert this change.
trying to resolve large stacks in msan itself.
…braries This was in Marko's original script.
grooverdan
force-pushed
the
feature/msan-clang-19
branch
from
November 28, 2024 04:32
fe47a5e
to
54b43e1
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Replace MSAN CLANG-15 builder with CLANG 19 on Debian 12.