GH-49435: [C++][FlightRPC] Check return value for new nodiscard declared functions on Protobuf#49436
GH-49435: [C++][FlightRPC] Check return value for new nodiscard declared functions on Protobuf#49436raulcd wants to merge 5 commits intoapache:mainfrom
Conversation
… declared functions on Protobuf
|
|
raulcd
left a comment
There was a problem hiding this comment.
The C++ build is successful now but C GLib flight fails with:
[75/124] Generating arrow-flight-glib/ArrowFlight-24.0.gir with a custom command (wrapped by meson to set env)
FAILED: [code=1] arrow-flight-glib/ArrowFlight-24.0.gir
env PKG_CONFIG_PATH=/Users/runner/work/arrow/arrow/build/c_glib/meson-uninstalled:/tmp/local/lib/pkgconfig PKG_CONFIG=/opt/homebrew/opt/pkgconf/bin/pkgconf 'CC=/opt/homebrew/bin/ccache cc' CFLAGS= /opt/homebrew/Cellar/gobject-introspection/1.86.0/bin/g-ir-scanner --quiet --no-libtool --namespace=ArrowFlight --nsversion=24.0 --warn-all --output arrow-flight-glib/ArrowFlight-24.0.gir --c-include=arrow-flight-glib/arrow-flight-glib.h --cflags-begin -fPIE --cflags-end --include-uninstalled=arrow-glib/Arrow-24.0.gir -I/Users/runner/work/arrow/arrow/c_glib/arrow-flight-glib -I/Users/runner/work/arrow/arrow/build/c_glib/arrow-flight-glib -I/Users/runner/work/arrow/arrow/c_glib/. -I/Users/runner/work/arrow/arrow/build/c_glib/. --filelist=/Users/runner/work/arrow/arrow/build/c_glib/arrow-flight-glib/libarrow-flight-glib.2400.dylib.p/ArrowFlight_24.0_gir_filelist --include=Arrow-24.0 --symbol-prefix=gaflight --identifier-prefix=GAFlight --pkg-export=arrow-flight-glib --cflags-begin -I/Users/runner/work/arrow/arrow/c_glib/. -I/Users/runner/work/arrow/arrow/build/c_glib/. -I/tmp/local/include -I/opt/homebrew/Cellar/glib/2.86.4/include -I/opt/homebrew/Cellar/glib/2.86.4/include/glib-2.0 -I/opt/homebrew/Cellar/glib/2.86.4/lib/glib-2.0/include -I/opt/homebrew/opt/gettext/include -I/opt/homebrew/Cellar/pcre2/10.47_1/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/ffi -I/opt/homebrew/Cellar/gobject-introspection/1.86.0/include/gobject-introspection-1.0 --cflags-end --add-include-path=/Users/runner/work/arrow/arrow/build/c_glib/arrow-glib --add-include-path=/opt/homebrew/Cellar/gobject-introspection/1.86.0/share/gir-1.0 -L/Users/runner/work/arrow/arrow/build/c_glib/arrow-flight-glib --library arrow-flight-glib -L/Users/runner/work/arrow/arrow/build/c_glib/arrow-glib -L/tmp/local/lib -L/opt/homebrew/Cellar/glib/2.86.4/lib -L/opt/homebrew/opt/gettext/lib -L/tmp/local/lib --extra-library=arrow_flight --extra-library=arrow --extra-library=arrow_acero --extra-library=arrow_compute -L/opt/homebrew/Cellar/glib/2.86.4/lib --extra-library=gobject-2.0 --extra-library=glib-2.0 -L/opt/homebrew/opt/gettext/lib --extra-library=intl -L/opt/homebrew/Cellar/gobject-introspection/1.86.0/lib --extra-library=girepository-1.0 --sources-top-dirs /Users/runner/work/arrow/arrow/c_glib/ --sources-top-dirs /Users/runner/work/arrow/arrow/build/c_glib/ --warn-error
ld: warning: duplicate -rpath '/tmp/local/lib' ignored
ld: warning: duplicate -rpath '/opt/homebrew/opt/gettext/lib' ignored
ld: warning: duplicate -rpath '/opt/homebrew/Cellar/glib/2.86.4/lib' ignored
ld: warning: duplicate -rpath '/opt/homebrew/Cellar/glib/2.86.4/lib' ignored
ld: warning: duplicate -rpath '/opt/homebrew/opt/gettext/lib' ignored
ld: warning: ignoring duplicate libraries: '-lglib-2.0', '-lgobject-2.0', '-lintl'
Command '['/Users/runner/work/arrow/arrow/build/c_glib/tmp-introspectqsu1d025/ArrowFlight-24.0', '--introspect-dump=/Users/runner/work/arrow/arrow/build/c_glib/tmp-introspectqsu1d025/functions.txt,/Users/runner/work/arrow/arrow/build/c_glib/tmp-introspectqsu1d025/dump.xml']' died with <Signals.SIGBUS: 10>.
@kou any idea what could be the issue?
|
I could reproduce this on local. I'll look into this. |
|
It seems that protobuf 33.5 and 34 are mixed. Backtrace: |
|
gRPC uses protobuf 33 not 34 because of grpc/grpc#41755 . |
kou
left a comment
There was a problem hiding this comment.
Could you try using protobuf 33?
diff --git a/cpp/Brewfile b/cpp/Brewfile
index 811712516b..afd1bfe0a3 100644
--- a/cpp/Brewfile
+++ b/cpp/Brewfile
@@ -36,7 +36,7 @@ brew "ninja"
brew "node"
brew "openssl"
brew "pkgconf"
-brew "protobuf"
+brew "protobuf@33"
brew "python"
brew "rapidjson"
brew "re2"Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
|
I am unsure why pinning and thus failing with building other dependencies: https://github.com/apache/arrow/actions/runs/22716367408/job/65866946432?pr=49436 |
I'm not familiar with how CI works in this project, but I do know that |
Rationale for this change
What changes are included in this PR?
Are these changes tested?
Are there any user-facing changes?
This PR includes breaking changes to public APIs. (If there are any breaking changes to public APIs, please explain which changes are breaking. If not, you can remove this.)
This PR contains a "Critical Fix". (If the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld), please provide explanation. If not, you can remove this.)