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

Silence MSAN warning when running protoc #2

Merged
merged 1 commit into from
Jun 1, 2023
Merged

Conversation

rschu1ze
Copy link
Member

@rschu1ze rschu1ze commented Jun 1, 2023

(port of ClickHouse/protobuf#4 to this repo)

When building CH with msan flags you get warnings from protoc (as it's built with the flags):

cd /mnt/ch/ClickHouse/build_msan/contrib/arrow-cmake && /mnt/ch/ClickHouse/build_msan/contrib/protobuf-cmake/protoc -I /mnt/ch/ClickHouse/contrib/orc/c++/../proto --cpp_out="/mnt/ch/ClickHouse/build_msan/contrib/arrow-cmake" /mnt/ch/ClickHouse/contrib/orc/c++/../proto/orc_proto.proto
==500166==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0xdd383e in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7
    #1 0xdd1eb2 in google::protobuf::compiler::DiskSourceTree::DiskFileToVirtualFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:431:51
    #2 0x540619 in google::protobuf::compiler::CommandLineInterface::MakeProtoProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1362:24
    #3 0x5314fb in google::protobuf::compiler::CommandLineInterface::MakeInputsBeProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1415:10
    #4 0x5314fb in google::protobuf::compiler::CommandLineInterface::InitializeDiskSourceTree(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1168:8
    #5 0x52541f in google::protobuf::compiler::CommandLineInterface::Run(int, char const* const*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1026:10
    #6 0x50f5d6 in google::protobuf::compiler::ProtobufMain(int, char**) build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:104:14
    #7 0x50fe58 in main build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:112:10
    #8 0x7f817143db24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
    #9 0x48904d in _start (/mnt/ch/ClickHouse/build_msan/contrib/protobuf-cmake/protoc+0x48904d)

  Uninitialized value was created by an allocation of 'sb' in the stack frame of function '_ZN6google8protobuf8compiler14DiskSourceTree12OpenDiskFileERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE'
    #0 0xdd3320 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:492

SUMMARY: MemorySanitizer: use-of-uninitialized-value build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Exiting

==500166==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0xdd383e in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7
    #1 0xdd1eb2 in google::protobuf::compiler::DiskSourceTree::DiskFileToVirtualFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:431:51
    #2 0x540619 in google::protobuf::compiler::CommandLineInterface::MakeProtoProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1362:24
    #3 0x5314fb in google::protobuf::compiler::CommandLineInterface::MakeInputsBeProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1415:10
    #4 0x5314fb in google::protobuf::compiler::CommandLineInterface::InitializeDiskSourceTree(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1168:8
    #5 0x52541f in google::protobuf::compiler::CommandLineInterface::Run(int, char const* const*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1026:10
    #6 0x50f5d6 in google::protobuf::compiler::ProtobufMain(int, char**) build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:104:14
    protocolbuffers#7 0x50fe58 in main build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:112:10
    protocolbuffers#8 0x7f817143db24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
    protocolbuffers#9 0x48904d in _start (/mnt/ch/ClickHouse/build_msan/contrib/protobuf-cmake/protoc+0x48904d)

  Uninitialized value was created by an allocation of 'sb' in the stack frame of function '_ZN6google8protobuf8compiler14DiskSourceTree12OpenDiskFileERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE'
    #0 0xdd3320 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:492

SUMMARY: MemorySanitizer: use-of-uninitialized-value build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Exiting
@rschu1ze rschu1ze merged commit c47efe2 into ClickHouse/v3.18.x Jun 1, 2023
rschu1ze pushed a commit that referenced this pull request Oct 24, 2023
==500166==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0xdd383e in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7
    #1 0xdd1eb2 in google::protobuf::compiler::DiskSourceTree::DiskFileToVirtualFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:431:51
    #2 0x540619 in google::protobuf::compiler::CommandLineInterface::MakeProtoProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1362:24
    #3 0x5314fb in google::protobuf::compiler::CommandLineInterface::MakeInputsBeProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1415:10
    #4 0x5314fb in google::protobuf::compiler::CommandLineInterface::InitializeDiskSourceTree(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1168:8
    #5 0x52541f in google::protobuf::compiler::CommandLineInterface::Run(int, char const* const*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1026:10
    #6 0x50f5d6 in google::protobuf::compiler::ProtobufMain(int, char**) build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:104:14
    protocolbuffers#7 0x50fe58 in main build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:112:10
    protocolbuffers#8 0x7f817143db24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
    protocolbuffers#9 0x48904d in _start (/mnt/ch/ClickHouse/build_msan/contrib/protobuf-cmake/protoc+0x48904d)

  Uninitialized value was created by an allocation of 'sb' in the stack frame of function '_ZN6google8protobuf8compiler14DiskSourceTree12OpenDiskFileERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE'
    #0 0xdd3320 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:492

SUMMARY: MemorySanitizer: use-of-uninitialized-value build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Exiting
rschu1ze pushed a commit that referenced this pull request Oct 24, 2023
==500166==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0xdd383e in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7
    #1 0xdd1eb2 in google::protobuf::compiler::DiskSourceTree::DiskFileToVirtualFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:431:51
    #2 0x540619 in google::protobuf::compiler::CommandLineInterface::MakeProtoProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1362:24
    #3 0x5314fb in google::protobuf::compiler::CommandLineInterface::MakeInputsBeProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1415:10
    #4 0x5314fb in google::protobuf::compiler::CommandLineInterface::InitializeDiskSourceTree(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1168:8
    #5 0x52541f in google::protobuf::compiler::CommandLineInterface::Run(int, char const* const*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1026:10
    #6 0x50f5d6 in google::protobuf::compiler::ProtobufMain(int, char**) build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:104:14
    protocolbuffers#7 0x50fe58 in main build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:112:10
    protocolbuffers#8 0x7f817143db24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
    protocolbuffers#9 0x48904d in _start (/mnt/ch/ClickHouse/build_msan/contrib/protobuf-cmake/protoc+0x48904d)

  Uninitialized value was created by an allocation of 'sb' in the stack frame of function '_ZN6google8protobuf8compiler14DiskSourceTree12OpenDiskFileERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE'
    #0 0xdd3320 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:492

SUMMARY: MemorySanitizer: use-of-uninitialized-value build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Exiting
rschu1ze pushed a commit that referenced this pull request Oct 25, 2023
==500166==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0xdd383e in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7
    #1 0xdd1eb2 in google::protobuf::compiler::DiskSourceTree::DiskFileToVirtualFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:431:51
    #2 0x540619 in google::protobuf::compiler::CommandLineInterface::MakeProtoProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1362:24
    #3 0x5314fb in google::protobuf::compiler::CommandLineInterface::MakeInputsBeProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1415:10
    #4 0x5314fb in google::protobuf::compiler::CommandLineInterface::InitializeDiskSourceTree(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1168:8
    #5 0x52541f in google::protobuf::compiler::CommandLineInterface::Run(int, char const* const*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1026:10
    #6 0x50f5d6 in google::protobuf::compiler::ProtobufMain(int, char**) build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:104:14
    protocolbuffers#7 0x50fe58 in main build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:112:10
    protocolbuffers#8 0x7f817143db24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
    protocolbuffers#9 0x48904d in _start (/mnt/ch/ClickHouse/build_msan/contrib/protobuf-cmake/protoc+0x48904d)

  Uninitialized value was created by an allocation of 'sb' in the stack frame of function '_ZN6google8protobuf8compiler14DiskSourceTree12OpenDiskFileERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE'
    #0 0xdd3320 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:492

SUMMARY: MemorySanitizer: use-of-uninitialized-value build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Exiting
rschu1ze pushed a commit that referenced this pull request Nov 12, 2023
==500166==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0xdd383e in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7
    #1 0xdd1eb2 in google::protobuf::compiler::DiskSourceTree::DiskFileToVirtualFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:431:51
    #2 0x540619 in google::protobuf::compiler::CommandLineInterface::MakeProtoProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1362:24
    #3 0x5314fb in google::protobuf::compiler::CommandLineInterface::MakeInputsBeProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1415:10
    #4 0x5314fb in google::protobuf::compiler::CommandLineInterface::InitializeDiskSourceTree(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1168:8
    #5 0x52541f in google::protobuf::compiler::CommandLineInterface::Run(int, char const* const*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1026:10
    #6 0x50f5d6 in google::protobuf::compiler::ProtobufMain(int, char**) build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:104:14
    protocolbuffers#7 0x50fe58 in main build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:112:10
    protocolbuffers#8 0x7f817143db24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
    protocolbuffers#9 0x48904d in _start (/mnt/ch/ClickHouse/build_msan/contrib/protobuf-cmake/protoc+0x48904d)

  Uninitialized value was created by an allocation of 'sb' in the stack frame of function '_ZN6google8protobuf8compiler14DiskSourceTree12OpenDiskFileERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE'
    #0 0xdd3320 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:492

SUMMARY: MemorySanitizer: use-of-uninitialized-value build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Exiting
rschu1ze pushed a commit that referenced this pull request Nov 15, 2023
This switches upb to using legacy editions for all proto2/proto3 logic.  This does not yet enable code generation for editions protos (ie. we do not yet turn on `FEATURE_SUPPORTS_EDITIONS`), but with feature inheritance in place, this will be a much smaller follow-on change.

There is a ~10% increase in allocations, but only a ~1% increase in peak memory.  There are some <5% increases in instructions and cycles, but apparently no increase in time:

```
name                                           old cpu/op   new cpu/op   delta
BM_ArenaOneAlloc                                 17.8ns ±11%  16.9ns ±17%     ~     (p=0.310 n=5+5)
BM_ArenaInitialBlockOneAlloc                     5.99ns ±13%  5.35ns ± 2%     ~     (p=0.421 n=5+5)
BM_ArenaFuseUnbalanced/2                         71.4ns ±11%  63.1ns ± 3%     ~     (p=0.095 n=5+5)
BM_ArenaFuseUnbalanced/8                          509ns ± 2%   532ns ±15%     ~     (p=0.421 n=5+5)
BM_ArenaFuseUnbalanced/64                        4.73µs ±20%  4.43µs ±10%     ~     (p=0.841 n=5+5)
BM_ArenaFuseUnbalanced/128                       9.77µs ±12%  8.64µs ± 4%     ~     (p=0.095 n=5+5)
BM_ArenaFuseBalanced/2                           67.5ns ±13%  62.6ns ± 3%     ~     (p=0.841 n=5+5)
BM_ArenaFuseBalanced/8                            552ns ±23%   496ns ±25%     ~     (p=0.222 n=5+5)
BM_ArenaFuseBalanced/64                          4.76µs ±14%  4.24µs ± 4%     ~     (p=0.421 n=5+5)
BM_ArenaFuseBalanced/128                         10.2µs ±14%   8.6µs ± 4%  -15.61%  (p=0.016 n=5+5)
BM_LoadAdsDescriptor_Upb<NoLayout>               6.20ms ±12%  6.18ms ±16%     ~     (p=0.421 n=5+5)
BM_LoadAdsDescriptor_Upb<WithLayout>             6.91ms ±12%  6.63ms ± 3%     ~     (p=0.690 n=5+5)
BM_LoadAdsDescriptor_Proto2<NoLayout>            15.0ms ±12%  13.7ms ± 3%     ~     (p=0.421 n=5+5)
BM_LoadAdsDescriptor_Proto2<WithLayout>          15.1ms ±13%  13.8ms ± 3%     ~     (p=0.548 n=5+5)
BM_Parse_Upb_FileDesc<UseArena, Copy>            14.4µs ±13%  13.2µs ± 3%     ~     (p=0.548 n=5+5)
BM_Parse_Upb_FileDesc<UseArena, Alias>           12.8µs ±12%  11.8µs ± 3%     ~     (p=0.222 n=5+5)
BM_Parse_Upb_FileDesc<InitBlock, Copy>           13.7µs ±12%  12.9µs ± 3%     ~     (p=1.000 n=5+5)
BM_Parse_Upb_FileDesc<InitBlock, Alias>          13.1µs ±11%  11.6µs ± 3%     ~     (p=0.056 n=5+5)
BM_Parse_Proto2<FileDesc, NoArena, Copy>         24.7µs ±12%  22.6µs ± 8%     ~     (p=0.310 n=5+5)
BM_Parse_Proto2<FileDesc, UseArena, Copy>        11.6µs ±13%  10.9µs ± 2%     ~     (p=1.000 n=5+5)
BM_Parse_Proto2<FileDesc, InitBlock, Copy>       11.7µs ±10%  10.6µs ± 3%     ~     (p=0.310 n=5+5)
BM_Parse_Proto2<FileDescSV, InitBlock, Alias>    13.4µs ±12%  12.3µs ± 4%     ~     (p=0.310 n=5+5)
BM_SerializeDescriptor_Proto2                    6.62µs ±13%  6.00µs ± 6%     ~     (p=0.056 n=5+5)
BM_SerializeDescriptor_Upb                       11.1µs ±13%  10.3µs ± 3%     ~     (p=1.000 n=5+5)

name                                           old time/op             new time/op             delta
BM_ArenaOneAlloc                                 17.9ns ±12%             17.0ns ±17%     ~             (p=0.310 n=5+5)
BM_ArenaInitialBlockOneAlloc                     6.03ns ±14%             5.36ns ± 2%     ~             (p=0.421 n=5+5)
BM_ArenaFuseUnbalanced/2                         71.9ns ±12%             63.3ns ± 3%     ~             (p=0.095 n=5+5)
BM_ArenaFuseUnbalanced/8                          511ns ± 2%              533ns ±15%     ~             (p=0.421 n=5+5)
BM_ArenaFuseUnbalanced/64                        4.75µs ±20%             4.44µs ±10%     ~             (p=0.841 n=5+5)
BM_ArenaFuseUnbalanced/128                       9.83µs ±12%             8.66µs ± 4%     ~             (p=0.151 n=5+5)
BM_ArenaFuseBalanced/2                           67.8ns ±13%             62.7ns ± 3%     ~             (p=0.841 n=5+5)
BM_ArenaFuseBalanced/8                            555ns ±24%              497ns ±26%     ~             (p=0.222 n=5+5)
BM_ArenaFuseBalanced/64                          4.79µs ±14%             4.25µs ± 4%     ~             (p=0.310 n=5+5)
BM_ArenaFuseBalanced/128                         10.3µs ±14%              8.6µs ± 4%  -15.93%          (p=0.016 n=5+5)
BM_LoadAdsDescriptor_Upb<NoLayout>               6.25ms ±12%             6.20ms ±16%     ~             (p=0.421 n=5+5)
BM_LoadAdsDescriptor_Upb<WithLayout>             6.96ms ±13%             6.65ms ± 3%     ~             (p=0.690 n=5+5)
BM_LoadAdsDescriptor_Proto2<NoLayout>            15.2ms ±12%             13.7ms ± 3%     ~             (p=0.421 n=5+5)
BM_LoadAdsDescriptor_Proto2<WithLayout>          15.3ms ±14%             13.8ms ± 3%     ~             (p=0.548 n=5+5)
BM_Parse_Upb_FileDesc<UseArena, Copy>            14.5µs ±14%             13.2µs ± 3%     ~             (p=0.690 n=5+5)
BM_Parse_Upb_FileDesc<UseArena, Alias>           12.8µs ±12%             11.8µs ± 3%     ~             (p=0.222 n=5+5)
BM_Parse_Upb_FileDesc<InitBlock, Copy>           13.8µs ±13%             13.0µs ± 3%     ~             (p=1.000 n=5+5)
BM_Parse_Upb_FileDesc<InitBlock, Alias>          13.2µs ±12%             11.6µs ± 3%     ~             (p=0.056 n=5+5)
BM_Parse_Proto2<FileDesc, NoArena, Copy>         24.9µs ±12%             22.6µs ± 8%     ~             (p=0.310 n=5+5)
BM_Parse_Proto2<FileDesc, UseArena, Copy>        11.7µs ±14%             10.9µs ± 2%     ~             (p=1.000 n=5+5)
BM_Parse_Proto2<FileDesc, InitBlock, Copy>       11.7µs ±11%             10.7µs ± 3%     ~             (p=0.222 n=5+5)
BM_Parse_Proto2<FileDescSV, InitBlock, Alias>    13.5µs ±12%             12.3µs ± 4%     ~             (p=0.310 n=5+5)
BM_SerializeDescriptor_Proto2                    6.65µs ±13%             6.01µs ± 6%     ~             (p=0.056 n=5+5)
BM_SerializeDescriptor_Upb                       11.2µs ±13%             10.3µs ± 3%     ~             (p=1.000 n=5+5)

name                                           old INSTRUCTIONS/op     new INSTRUCTIONS/op     delta
BM_ArenaOneAlloc                                    189 ± 0%                189 ± 0%     ~             (p=0.881 n=5+5)
BM_ArenaInitialBlockOneAlloc                       69.0 ± 0%               69.0 ± 0%     ~     (all samples are equal)
BM_ArenaFuseUnbalanced/2                            458 ± 0%                458 ± 0%     ~             (p=1.000 n=5+5)
BM_ArenaFuseUnbalanced/8                          3.28k ±15%              3.60k ± 0%     ~             (p=0.286 n=5+4)
BM_ArenaFuseUnbalanced/64                         28.6k ± 2%              29.2k ± 0%   +2.17%          (p=0.032 n=5+4)
BM_ArenaFuseUnbalanced/128                        57.9k ± 1%              57.9k ± 1%     ~             (p=1.000 n=5+5)
BM_ArenaFuseBalanced/2                              482 ± 0%                482 ± 0%     ~             (p=0.421 n=5+5)
BM_ArenaFuseBalanced/8                            3.35k ±14%              3.35k ±14%     ~             (p=0.841 n=5+5)
BM_ArenaFuseBalanced/64                           29.2k ± 2%              29.3k ± 1%     ~             (p=0.421 n=5+5)
BM_ArenaFuseBalanced/128                          59.2k ± 1%              59.3k ± 1%     ~             (p=0.556 n=4+5)
BM_LoadAdsDescriptor_Upb<NoLayout>                37.3M ± 0%              38.2M ± 0%   +2.39%          (p=0.008 n=5+5)
BM_LoadAdsDescriptor_Upb<WithLayout>              40.9M ± 0%              41.7M ± 0%   +2.02%          (p=0.008 n=5+5)
BM_LoadAdsDescriptor_Proto2<NoLayout>             87.2M ± 0%              88.3M ± 1%   +1.25%          (p=0.008 n=5+5)
BM_LoadAdsDescriptor_Proto2<WithLayout>           88.0M ± 0%              88.9M ± 1%   +1.13%          (p=0.016 n=5+5)
BM_Parse_Upb_FileDesc<UseArena, Copy>              154k ± 0%               154k ± 0%     ~             (p=1.000 n=5+5)
BM_Parse_Upb_FileDesc<UseArena, Alias>             143k ± 0%               143k ± 0%     ~             (p=0.310 n=5+5)
BM_Parse_Upb_FileDesc<InitBlock, Copy>             153k ± 0%               153k ± 0%     ~             (p=1.016 n=5+4)
BM_Parse_Upb_FileDesc<InitBlock, Alias>            142k ± 0%               142k ± 0%     ~             (p=0.127 n=5+5)
BM_Parse_Proto2<FileDesc, NoArena, Copy>           213k ± 1%               217k ± 5%     ~             (p=1.000 n=5+5)
BM_Parse_Proto2<FileDesc, UseArena, Copy>          122k ± 0%               123k ± 0%   +0.86%          (p=0.008 n=5+5)
BM_Parse_Proto2<FileDesc, InitBlock, Copy>         120k ± 0%               120k ± 0%     ~             (p=0.421 n=5+5)
BM_Parse_Proto2<FileDescSV, InitBlock, Alias>      124k ± 0%               124k ± 0%     ~             (p=0.587 n=5+5)
BM_SerializeDescriptor_Proto2                     63.5k ± 0%              63.5k ± 0%     ~             (p=0.278 n=5+5)
BM_SerializeDescriptor_Upb                         111k ± 0%               111k ± 0%     ~             (p=1.000 n=5+5)

name                                           old CYCLES/op           new CYCLES/op           delta
BM_ArenaOneAlloc                                   53.5 ± 0%               53.4 ± 0%     ~             (p=0.095 n=5+5)
BM_ArenaInitialBlockOneAlloc                       17.5 ± 1%               17.4 ± 0%     ~             (p=0.087 n=5+5)
BM_ArenaFuseUnbalanced/2                            206 ± 0%                206 ± 0%     ~             (p=0.548 n=5+5)
BM_ArenaFuseUnbalanced/8                          1.55k ±12%              1.67k ± 1%     ~             (p=0.548 n=5+5)
BM_ArenaFuseUnbalanced/64                         14.1k ± 8%              14.1k ± 1%     ~             (p=0.222 n=5+5)
BM_ArenaFuseUnbalanced/128                        28.2k ± 1%              28.3k ± 1%     ~             (p=0.548 n=5+5)
BM_ArenaFuseBalanced/2                              205 ± 0%                204 ± 0%     ~             (p=0.548 n=5+5)
BM_ArenaFuseBalanced/8                            1.57k ±12%              1.56k ±12%     ~             (p=0.421 n=5+5)
BM_ArenaFuseBalanced/64                           13.9k ± 2%              13.9k ± 1%     ~             (p=1.000 n=5+5)
BM_ArenaFuseBalanced/128                          28.1k ± 1%              28.2k ± 1%     ~             (p=0.730 n=4+5)
BM_LoadAdsDescriptor_Upb<NoLayout>                18.7M ± 0%              19.3M ± 1%   +3.38%          (p=0.008 n=5+5)
BM_LoadAdsDescriptor_Upb<WithLayout>              20.9M ± 0%              21.6M ± 0%   +3.09%          (p=0.008 n=5+5)
BM_LoadAdsDescriptor_Proto2<NoLayout>             43.4M ± 0%              44.4M ± 1%   +2.33%          (p=0.008 n=5+5)
BM_LoadAdsDescriptor_Proto2<WithLayout>           44.0M ± 0%              44.9M ± 2%   +1.92%          (p=0.016 n=5+5)
BM_Parse_Upb_FileDesc<UseArena, Copy>             42.0k ± 1%              43.0k ± 1%   +2.32%          (p=0.008 n=5+5)
BM_Parse_Upb_FileDesc<UseArena, Alias>            38.2k ± 1%              38.4k ± 0%   +0.74%          (p=0.032 n=5+5)
BM_Parse_Upb_FileDesc<InitBlock, Copy>            41.6k ± 0%              42.6k ± 1%   +2.51%          (p=0.008 n=5+5)
BM_Parse_Upb_FileDesc<InitBlock, Alias>           37.6k ± 0%              38.1k ± 0%   +1.34%          (p=0.008 n=5+5)
BM_Parse_Proto2<FileDesc, NoArena, Copy>          71.9k ± 1%              74.1k ± 6%     ~             (p=1.000 n=5+5)
BM_Parse_Proto2<FileDesc, UseArena, Copy>         35.4k ± 1%              35.8k ± 0%   +1.10%          (p=0.008 n=5+5)
BM_Parse_Proto2<FileDesc, InitBlock, Copy>        34.6k ± 1%              34.9k ± 1%     ~             (p=0.095 n=5+5)
BM_Parse_Proto2<FileDescSV, InitBlock, Alias>     40.5k ± 0%              40.0k ± 1%   -1.36%          (p=0.008 n=5+5)
BM_SerializeDescriptor_Proto2                     20.1k ± 1%              19.7k ± 4%     ~             (p=0.421 n=5+5)
BM_SerializeDescriptor_Upb                        33.7k ± 0%              33.7k ± 0%     ~             (p=0.222 n=5+5)

name                                           old allocs/op           new allocs/op           delta
BM_ArenaOneAlloc                                   1.00 ± 0%               1.00 ± 0%     ~     (all samples are equal)
BM_ArenaFuseUnbalanced/2                           2.00 ± 0%               2.00 ± 0%     ~     (all samples are equal)
BM_ArenaFuseUnbalanced/8                           8.00 ± 0%               8.00 ± 0%     ~     (all samples are equal)
BM_ArenaFuseUnbalanced/64                          64.0 ± 0%               64.0 ± 0%     ~     (all samples are equal)
BM_ArenaFuseUnbalanced/128                          128 ± 0%                128 ± 0%     ~     (all samples are equal)
BM_ArenaFuseBalanced/2                             2.00 ± 0%               2.00 ± 0%     ~     (all samples are equal)
BM_ArenaFuseBalanced/8                             8.00 ± 0%               8.00 ± 0%     ~     (all samples are equal)
BM_ArenaFuseBalanced/64                            64.0 ± 0%               64.0 ± 0%     ~     (all samples are equal)
BM_ArenaFuseBalanced/128                            128 ± 0%                128 ± 0%     ~     (all samples are equal)
BM_LoadAdsDescriptor_Upb<NoLayout>                6.21k ± 0%              6.93k ± 0%  +11.54%          (p=0.008 n=5+5)
BM_LoadAdsDescriptor_Upb<WithLayout>              6.54k ± 0%              6.96k ± 0%   +6.34%          (p=0.008 n=5+5)
BM_LoadAdsDescriptor_Proto2<NoLayout>              124k ± 0%               124k ± 0%   +0.00%          (p=0.008 n=5+5)
BM_LoadAdsDescriptor_Proto2<WithLayout>            126k ± 0%               126k ± 0%   +0.00%          (p=0.008 n=5+5)
BM_Parse_Upb_FileDesc<UseArena, Copy>              7.00 ± 0%               7.00 ± 0%     ~     (all samples are equal)
BM_Parse_Upb_FileDesc<UseArena, Alias>             7.00 ± 0%               7.00 ± 0%     ~     (all samples are equal)
BM_Parse_Proto2<FileDesc, NoArena, Copy>            709 ± 0%                709 ± 0%     ~     (all samples are equal)
BM_Parse_Proto2<FileDesc, UseArena, Copy>          8.00 ± 0%               8.00 ± 0%     ~     (all samples are equal)

name                                           old peak-mem(Bytes)/op  new peak-mem(Bytes)/op  delta
BM_ArenaOneAlloc                                    328 ± 0%                328 ± 0%     ~     (all samples are equal)
BM_ArenaFuseUnbalanced/2                            656 ± 0%                656 ± 0%     ~     (all samples are equal)
BM_ArenaFuseUnbalanced/8                          2.62k ± 0%              2.62k ± 0%     ~     (all samples are equal)
BM_ArenaFuseUnbalanced/64                         21.0k ± 0%              21.0k ± 0%     ~     (all samples are equal)
BM_ArenaFuseUnbalanced/128                        42.0k ± 0%              42.0k ± 0%     ~     (all samples are equal)
BM_ArenaFuseBalanced/2                              656 ± 0%                656 ± 0%     ~     (all samples are equal)
BM_ArenaFuseBalanced/8                            2.62k ± 0%              2.62k ± 0%     ~     (all samples are equal)
BM_ArenaFuseBalanced/64                           21.0k ± 0%              21.0k ± 0%     ~     (all samples are equal)
BM_ArenaFuseBalanced/128                          42.0k ± 0%              42.0k ± 0%     ~     (all samples are equal)
BM_LoadAdsDescriptor_Upb<NoLayout>                10.2M ± 0%              10.4M ± 0%   +1.15%          (p=0.008 n=5+5)
BM_LoadAdsDescriptor_Upb<WithLayout>              10.5M ± 0%              10.5M ± 0%   +0.11%          (p=0.008 n=5+5)
BM_LoadAdsDescriptor_Proto2<NoLayout>             7.14M ± 0%              7.14M ± 0%     ~             (p=0.317 n=4+5)
BM_LoadAdsDescriptor_Proto2<WithLayout>           7.18M ± 0%              7.18M ± 0%     ~             (p=0.159 n=5+4)
BM_Parse_Upb_FileDesc<UseArena, Copy>             36.5k ± 0%              36.5k ± 0%     ~     (all samples are equal)
BM_Parse_Upb_FileDesc<UseArena, Alias>            36.5k ± 0%              36.5k ± 0%     ~     (all samples are equal)
BM_Parse_Proto2<FileDesc, NoArena, Copy>          35.4k ± 0%              35.4k ± 0%     ~     (all samples are equal)
BM_Parse_Proto2<FileDesc, UseArena, Copy>         65.3k ± 0%              65.3k ± 0%     ~     (all samples are equal)

name                                           old items/s             new items/s             delta
BM_ArenaFuseUnbalanced/2                          28.2M ±12%              31.7M ± 3%     ~             (p=0.095 n=5+5)
BM_ArenaFuseUnbalanced/8                          15.7M ± 2%              15.1M ±14%     ~             (p=0.421 n=5+5)
BM_ArenaFuseUnbalanced/64                         13.7M ±18%              14.5M ± 9%     ~             (p=0.841 n=5+5)
BM_ArenaFuseUnbalanced/128                        13.2M ±12%              14.8M ± 5%     ~             (p=0.095 n=5+5)
BM_ArenaFuseBalanced/2                            29.9M ±12%              32.0M ± 3%     ~             (p=0.841 n=5+5)
BM_ArenaFuseBalanced/8                            14.8M ±28%              16.5M ±22%     ~             (p=0.222 n=5+5)
BM_ArenaFuseBalanced/64                           13.6M ±15%              15.1M ± 4%     ~             (p=0.421 n=5+5)
BM_ArenaFuseBalanced/128                          12.6M ±15%              14.9M ± 4%  +17.88%          (p=0.016 n=5+5)

name                                           old speed               new speed               delta
BM_LoadAdsDescriptor_Upb<NoLayout>              128MB/s ±11%            128MB/s ±14%     ~             (p=0.421 n=5+5)
BM_LoadAdsDescriptor_Upb<WithLayout>            115MB/s ±12%            119MB/s ± 3%     ~             (p=0.690 n=5+5)
BM_LoadAdsDescriptor_Proto2<NoLayout>          52.9MB/s ±12%           57.6MB/s ± 3%     ~             (p=0.421 n=5+5)
BM_LoadAdsDescriptor_Proto2<WithLayout>        52.6MB/s ±14%           57.2MB/s ± 2%     ~             (p=0.548 n=5+5)
BM_Parse_Upb_FileDesc<UseArena, Copy>           527MB/s ±14%            571MB/s ± 3%     ~             (p=0.548 n=5+5)
BM_Parse_Upb_FileDesc<UseArena, Alias>          595MB/s ±11%            640MB/s ± 3%     ~             (p=0.222 n=5+5)
BM_Parse_Upb_FileDesc<InitBlock, Copy>          553MB/s ±12%            582MB/s ± 3%     ~             (p=1.000 n=5+5)
BM_Parse_Upb_FileDesc<InitBlock, Alias>         576MB/s ±12%            649MB/s ± 3%     ~             (p=0.056 n=5+5)
BM_Parse_Proto2<FileDesc, NoArena, Copy>        307MB/s ±13%            334MB/s ± 8%     ~             (p=0.310 n=5+5)
BM_Parse_Proto2<FileDesc, UseArena, Copy>       653MB/s ±13%            689MB/s ± 2%     ~             (p=1.000 n=5+5)
BM_Parse_Proto2<FileDesc, InitBlock, Copy>      650MB/s ±10%            708MB/s ± 3%     ~             (p=0.310 n=5+5)
BM_Parse_Proto2<FileDescSV, InitBlock, Alias>   564MB/s ±12%            614MB/s ± 4%     ~             (p=0.310 n=5+5)
BM_SerializeDescriptor_Proto2                  1.15GB/s ±12%           1.25GB/s ± 5%     ~             (p=0.056 n=5+5)
BM_SerializeDescriptor_Upb                      684MB/s ±12%            730MB/s ± 3%     ~             (p=1.000 n=5+5)
```

This adds about 5Ki of code size.  Some of this likely comes from the fact that we now link in `message/copy.c` to perform a deep copy of a FeatureSet proto.

```
$ /google/bin/releases/protobuf-team/bloaty/bloaty-google3-diff --blaze-build-opts="-c opt" third_party/upb/upb/conformance/conformance_upb
    FILE SIZE        VM SIZE
 --------------  --------------
  +0.5% +4.19Ki  +0.5% +4.19Ki    .text
  +0.4%    +656  +0.4%    +656    .rodata
  +0.1%    +504  [ = ]       0    .strtab
  +0.2%    +384  [ = ]       0    .symtab
  +0.2%    +280  +0.2%    +280    .eh_frame
  +0.2%    +216  +0.2%    +216    .rela.dyn
  +0.3%     +96  +0.3%     +96    .data.rel.ro
  +0.2%     +64  +0.2%     +64    .eh_frame_hdr
  +1.1%     +16  [ = ]       0    .got.plt
  +0.2%      +8  +0.2%      +8    .rela.plt
  -4.6%      -8  -4.6%      -8    [LOAD #2 [RX]]
 -50.0%     -48  [ = ]       0    [Unmapped]
  [ = ]       0 -81.7% -1.47Ki    .relro_padding
  +0.1% +6.30Ki  +0.0% +4.00Ki    TOTAL
```

PiperOrigin-RevId: 579321454
rschu1ze pushed a commit that referenced this pull request Nov 15, 2023
==500166==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0xdd383e in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7
    #1 0xdd1eb2 in google::protobuf::compiler::DiskSourceTree::DiskFileToVirtualFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:431:51
    #2 0x540619 in google::protobuf::compiler::CommandLineInterface::MakeProtoProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1362:24
    #3 0x5314fb in google::protobuf::compiler::CommandLineInterface::MakeInputsBeProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1415:10
    #4 0x5314fb in google::protobuf::compiler::CommandLineInterface::InitializeDiskSourceTree(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1168:8
    #5 0x52541f in google::protobuf::compiler::CommandLineInterface::Run(int, char const* const*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1026:10
    #6 0x50f5d6 in google::protobuf::compiler::ProtobufMain(int, char**) build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:104:14
    protocolbuffers#7 0x50fe58 in main build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:112:10
    protocolbuffers#8 0x7f817143db24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
    protocolbuffers#9 0x48904d in _start (/mnt/ch/ClickHouse/build_msan/contrib/protobuf-cmake/protoc+0x48904d)

  Uninitialized value was created by an allocation of 'sb' in the stack frame of function '_ZN6google8protobuf8compiler14DiskSourceTree12OpenDiskFileERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE'
    #0 0xdd3320 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:492

SUMMARY: MemorySanitizer: use-of-uninitialized-value build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Exiting
rschu1ze pushed a commit that referenced this pull request Nov 16, 2023
==500166==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0xdd383e in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7
    #1 0xdd1eb2 in google::protobuf::compiler::DiskSourceTree::DiskFileToVirtualFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:431:51
    #2 0x540619 in google::protobuf::compiler::CommandLineInterface::MakeProtoProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1362:24
    #3 0x5314fb in google::protobuf::compiler::CommandLineInterface::MakeInputsBeProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1415:10
    #4 0x5314fb in google::protobuf::compiler::CommandLineInterface::InitializeDiskSourceTree(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1168:8
    #5 0x52541f in google::protobuf::compiler::CommandLineInterface::Run(int, char const* const*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1026:10
    #6 0x50f5d6 in google::protobuf::compiler::ProtobufMain(int, char**) build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:104:14
    protocolbuffers#7 0x50fe58 in main build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:112:10
    protocolbuffers#8 0x7f817143db24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
    protocolbuffers#9 0x48904d in _start (/mnt/ch/ClickHouse/build_msan/contrib/protobuf-cmake/protoc+0x48904d)

  Uninitialized value was created by an allocation of 'sb' in the stack frame of function '_ZN6google8protobuf8compiler14DiskSourceTree12OpenDiskFileERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE'
    #0 0xdd3320 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:492

SUMMARY: MemorySanitizer: use-of-uninitialized-value build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Exiting
rschu1ze pushed a commit that referenced this pull request Nov 17, 2023
==500166==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0xdd383e in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7
    #1 0xdd1eb2 in google::protobuf::compiler::DiskSourceTree::DiskFileToVirtualFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:431:51
    #2 0x540619 in google::protobuf::compiler::CommandLineInterface::MakeProtoProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1362:24
    #3 0x5314fb in google::protobuf::compiler::CommandLineInterface::MakeInputsBeProtoPathRelative(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1415:10
    #4 0x5314fb in google::protobuf::compiler::CommandLineInterface::InitializeDiskSourceTree(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1168:8
    #5 0x52541f in google::protobuf::compiler::CommandLineInterface::Run(int, char const* const*) build_msan/./contrib/protobuf/src/google/protobuf/compiler/command_line_interface.cc:1026:10
    #6 0x50f5d6 in google::protobuf::compiler::ProtobufMain(int, char**) build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:104:14
    protocolbuffers#7 0x50fe58 in main build_msan/./contrib/protobuf/src/google/protobuf/compiler/main.cc:112:10
    protocolbuffers#8 0x7f817143db24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
    protocolbuffers#9 0x48904d in _start (/mnt/ch/ClickHouse/build_msan/contrib/protobuf-cmake/protoc+0x48904d)

  Uninitialized value was created by an allocation of 'sb' in the stack frame of function '_ZN6google8protobuf8compiler14DiskSourceTree12OpenDiskFileERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE'
    #0 0xdd3320 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:492

SUMMARY: MemorySanitizer: use-of-uninitialized-value build_msan/./contrib/protobuf/src/google/protobuf/compiler/importer.cc:504:7 in google::protobuf::compiler::DiskSourceTree::OpenDiskFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Exiting
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.

2 participants