-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Workload Scheduling
-
ALL
-
None
-
None
-
None
-
None
-
None
-
None
-
None
On the v5 toolchain, protoc trips UBSAN due to a pointer misalignment. Example output below.
ERROR: /data/mci/4d4f87c5f05eaf3cce0911674b61a66e/src/src/mongo/transport/grpc/BUILD.bazel:144:22: Action src/mongo/transport/grpc/core_test.grpc.pb.h failed: (Exit 1): protoc failed: error executing Action command (from target //src/mongo/transport/grpc:_core_test_cc_grpc_grpc_codegen) bazel-out/k8-opt-exec-ST-e0dba4dfc6c2/bin/external/protobuf~/protoc '--plugin=protoc-gen-PLUGIN=bazel-out/k8-opt-exec-ST-e0dba4dfc6c2/bin/src/third_party/grpc/grpc_cpp_plugin' ... (remaining 4 arguments skipped) src/third_party/gperftools/dist/src/base/basictypes.h:247:10: runtime error: store to misaligned address 0x7f30e2149134 for type 'unsigned long *', which requires 8 byte alignment 0x7f30e2149134: note: pointer points here 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90 91 14 e2 30 7f 00 00 00 00 00 00 00 00 00 00 ^ SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/third_party/gperftools/dist/src/base/basictypes.h:247:10
The misalignment occurs in code whose purpose is explicitly documented as the prevention of misalignment. Remove the temporary suppression from etc/ubsan.denylist added in SERVER-101790 and fix the underlying issue. We will probably need to upgrade the third party libraries involved here (gperftools, maybe protobuf, maybe abseil) to reach a permanent resolution.
- is related to
-
SERVER-101790 Deprecate support for v4 toolchain
-
- Closed
-