Skip to content

GH-47277: [C++] r-binary-packages nightly failures due to incompatibility with old compiler - #47299

Merged
thisisnic merged 1 commit into
apache:mainfrom
thisisnic:GH-4277-noexcept
Aug 10, 2025
Merged

thisisnic merged 1 commit into
apache:mainfrom
thisisnic:GH-4277-noexcept

Conversation

@thisisnic

@thisisnic thisisnic commented Aug 9, 2025 •

Copy link
Copy Markdown
Member

Rationale for this change

The r-binary-packages job (specifically C++ Binary Linux OpenSSL 1.0 and 1.1) has been failing since 15th July with this error:

/arrow/cpp/src/parquet/encryption/encryption.h:175:62: error: use of deleted function 'arrow::util::SecureString::SecureString()'
         : column_path_(std::move(path)), encrypted_(encrypted) {}
                                                              ^
In file included from /arrow/cpp/src/parquet/encryption/encryption.h:26,
                 from /arrow/cpp/src/parquet/properties.h:30,
                 from /arrow/cpp/src/parquet/arrow/path_internal.cc:109:

What changes are included in this PR?

Remove the unconditional noexcept from SecureString’s default constructor so its exception specification now matches std::string’s on all libstdc++ versions.

Are these changes tested?

No but I'll run the failing CI job

Are there any user-facing changes?

No

@thisisnic

Copy link
Copy Markdown
Member Author

@github-actions crossbow submit r-binary-packages

@github-actions

github-actions Bot commented Aug 9, 2025

Copy link
Copy Markdown

Revision: 8a2d1b8

Submitted crossbow builds: ursacomputing/crossbow @ actions-da716f4052

Task Status
r-binary-packages GitHub Actions

@thisisnic thisisnic changed the title GH-47277: [R][C++] r-binary-packages nightly failures due to incompatibility with old compiler GH-47277: [C++] r-binary-packages nightly failures due to incompatibility with old compiler Aug 9, 2025
@thisisnic
thisisnic requested a review from pitrou August 9, 2025 10:03

@jonkeane jonkeane left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What a simple fix! The GLib job is failing on main, this is good to go IMHO

Thanks for this!

@github-actions github-actions Bot added awaiting merge Awaiting merge and removed awaiting committer review Awaiting committer review labels Aug 9, 2025
@thisisnic
thisisnic merged commit 135357c into apache:main Aug 10, 2025
@thisisnic thisisnic removed the awaiting merge Awaiting merge label Aug 10, 2025
@conbench-apache-arrow

Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit 135357c.

There weren't enough matching historic benchmark results to make a call on whether there were regressions.

The full Conbench report has more details.

@pitrou

pitrou commented Aug 19, 2025

Copy link
Copy Markdown
Member

Wow, interesting that such a hack is needed for old gccs (version 8.3.1 apparently).

@EnricoMi FYI.

@pitrou

pitrou commented Aug 19, 2025

Copy link
Copy Markdown
Member

And thank you @thisisnic for finding the fix!

Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
…patibility with old compiler (apache#47299)

### Rationale for this change

The `r-binary-packages` job (specifically [C++ Binary Linux OpenSSL 1.0](https://github.com/ursacomputing/crossbow/actions/runs/16314662786/job/46077638701#logs) and 1.1) has been failing since 15th July with this error:

```
/arrow/cpp/src/parquet/encryption/encryption.h:175:62: error: use of deleted function 'arrow::util::SecureString::SecureString()'
         : column_path_(std::move(path)), encrypted_(encrypted) {}
                                                              ^
In file included from /arrow/cpp/src/parquet/encryption/encryption.h:26,
                 from /arrow/cpp/src/parquet/properties.h:30,
                 from /arrow/cpp/src/parquet/arrow/path_internal.cc:109:
```

### What changes are included in this PR?

Remove the unconditional `noexcept` from `SecureString`’s default constructor so its exception specification now matches `std::string`’s on all libstdc++ versions.

### Are these changes tested?

No but I'll run the failing CI job

### Are there any user-facing changes?

No
* GitHub Issue: apache#47277

Authored-by: Nic Crane <thisisnic@gmail.com>
Signed-off-by: Nic Crane <thisisnic@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants