raulcd commented on PR #13581: URL: https://github.com/apache/arrow/pull/13581#issuecomment-1183074782
@pitrou @lidavidm The latest version of protocol buffers is the following (there was a change of schema versioning between v3.20 and v21): ``` ARROW_PROTOBUF_BUILD_VERSION=v21.2 ARROW_PROTOBUF_BUILD_SHA256_CHECKSUM=9ae699200f3a80c735f9dc3b20e46d447584266f4601403e8fe5b97005f204dd ``` If I try to set the latest version all code and test works but there is a failure on the thread-sanitizer job building substrait. See part of the stack trace for this build (https://github.com/ursacomputing/crossbow/runs/7302033023?check_suite_focus=true): ``` [86/902] Building CXX object CMakeFiles/substrait.dir/substrait_ep-generated/substrait/type.pb.cc.o FAILED: CMakeFiles/substrait.dir/substrait_ep-generated/substrait/type.pb.cc.o /usr/bin/ccache /usr/lib/ccache/clang++-12 -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_HAVE_SSE4_2 -DARROW_NO_DEPRECATED_API -DARROW_WITH_RE2 -DARROW_WITH_TIMING_TESTS -DARROW_WITH_UTF8PROC -DDYNAMIC_ANNOTATIONS_ENABLED -DTHREAD_SANITIZER -D_GLIBCXX_EXTERN_TEMPLATE=0 -Isubstrait_ep-generated -Iprotobuf_ep-install/include -Isrc -I/arrow/cpp/src -I/arrow/cpp/src/generated -Qunused-arguments -fcolor-diagnostics -ggdb -O0 -Wall -Wextra -Wdocumentation -Wshorten-64-to-32 -Wno-missing-braces -Wno-unused-parameter -Wno-constant-logical-operand -Wno-return-stack-address -Werror -Wno-unknown-warning-option -Wno-pass-failed -msse4.2 -fsanitize-blacklist=/arrow/cpp/build-support/sanitizer-disallowed-entries.txt -g -fPIC -fsanitize=thread -std=c++11 -MD -MT CMakeFiles/substrait.dir/substrait_ep-generated/substrait/type.pb.cc.o -MF CMakeFiles/substrait.dir/substrait_ep-generated/substrait/type.pb.cc.o.d -o CMakeFiles/ substrait.dir/substrait_ep-generated/substrait/type.pb.cc.o -c substrait_ep-generated/substrait/type.pb.cc In file included from substrait_ep-generated/substrait/type.pb.cc:4: In file included from substrait_ep-generated/substrait/type.pb.h:28: In file included from protobuf_ep-install/include/google/protobuf/generated_message_reflection.h:47: In file included from protobuf_ep-install/include/google/protobuf/unknown_field_set.h:53: protobuf_ep-install/include/google/protobuf/parse_context.h:328:47: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] int chunk_size = buffer_end_ + kSlopBytes - ptr; ~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ protobuf_ep-install/include/google/protobuf/parse_context.h:342:45: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] chunk_size = buffer_end_ + kSlopBytes - ptr; ~ ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ protobuf_ep-install/include/google/protobuf/parse_context.h:786:41: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] int nbytes = buffer_end_ + kSlopBytes - ptr; ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ protobuf_ep-install/include/google/protobuf/parse_context.h:804:39: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] nbytes = buffer_end_ + kSlopBytes - ptr; ~ ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ protobuf_ep-install/include/google/protobuf/parse_context.h:836:32: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] int chunk_size = buffer_end_ - ptr; ~~~~~~~~~~ ~~~~~~~~~~~~^~~~~ protobuf_ep-install/include/google/protobuf/parse_context.h:840:23: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] int overrun = ptr - buffer_end_; ~~~~~~~ ~~~~^~~~~~~~~~~~~ protobuf_ep-install/include/google/protobuf/parse_context.h:861:30: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] chunk_size = buffer_end_ - ptr; ~ ~~~~~~~~~~~~^~~~~ protobuf_ep-install/include/google/protobuf/parse_context.h:884:25: error: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Werror,-Wshorten-64-to-32] uint32_t number = tag >> 3; ~~~~~~ ~~~~^~~~ 8 errors generated. ``` This seems to be a substrait issue more than ARROW but I wanted to get your thoughts on this. The current updated version on this PR is the latest before the change of schema versioning which works for the sanitizer job (I reproduced the issue locally). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org