-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
GH-43688: [C++] Prevent Snappy from disabling RTTI when bundled #43706
Conversation
@github-actions crossbow submit -g cpp |
This comment was marked as outdated.
This comment was marked as outdated.
@github-actions crossbow submit -g python |
This comment was marked as outdated.
This comment was marked as outdated.
cc @kou |
CI failures are unrelated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
set(SNAPPY_ADDITIONAL_CXX_FLAGS "${SNAPPY_ADDITIONAL_CXX_FLAGS} -frtti") | ||
endif() | ||
|
||
if(NOT MSVC) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we remove this if()
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, we cannot, see build error in https://github.com/apache/arrow/actions/runs/10401760097/job/28804899409
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, https://github.com/apache/arrow/pull/43706/files#r1719156798 will fix it. I'll try it.
Co-authored-by: Sutou Kouhei <[email protected]>
Co-authored-by: Sutou Kouhei <[email protected]>
@github-actions crossbow submit -g cpp |
This comment was marked as outdated.
This comment was marked as outdated.
@github-actions crossbow submit -g cpp -g python |
This comment was marked as outdated.
This comment was marked as outdated.
@github-actions crossbow submit -g cpp -g python |
Revision: 1d0aefa Submitted crossbow builds: ursacomputing/crossbow @ actions-5b7a47bd42 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
After merging your PR, Conbench analyzed the 7 benchmarking runs that have been run so far on merge-commit a970fd7. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 143 possible false positives for unstable benchmarks that are known to sometimes produce them. |
In PR #12320, we enabled more compression algorithms for Arrow C++, but had to disable Snappy because of build issues. Since then, the Arrow project merged a PR (apache/arrow#43706) which enables RTTI when building Snappy. Therefore, we can now enable Snappy in the OSS-Fuzz builds of Arrow C++ as well.
Rationale for this change
Snappy's CMakeLists.txt unconditionally disables RTTI. This is incompatible with some other options, such as activating UBSAN for a fuzzing build:
google/snappy#189
What changes are included in this PR?
Add
-frtti
at the end of compiler options when compiling a bundled Snappy build.Are these changes tested?
On CI; also manually checked that this allows enabling Snappy on OSS-Fuzz builds.
Are there any user-facing changes?
No.