Skip to content

GH-46394: [C++][R] gcc-UBSAN errors on CRAN #46397

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

Merged
merged 3 commits into from
May 13, 2025

Conversation

jonkeane
Copy link
Member

@jonkeane jonkeane commented May 11, 2025

Rationale for this change

Fix gcc-UBSAN CI job to be correctly running, then fix the UBSAN error.

What changes are included in this PR?

  • Generalize our sanitizer jobs and use rhub's containers for this. wch/r-debug looks like it's out of date (hence why we didn't catch this), and it's easier to use a matrix of images with rhubarb anyway.
  • Initialize the _quoted variable — we could also cast it to boolean where the UBSAN popped, but this seems to be enough.

Are these changes tested?

Yes

Are there any user-facing changes?

No

Copy link

⚠️ GitHub issue #46394 has been automatically assigned in GitHub to PR creator.

@github-actions github-actions bot added the awaiting committer review Awaiting committer review label May 11, 2025
@jonkeane jonkeane force-pushed the 46394-UBSAN branch 4 times, most recently from 479dbdd to db2d59a Compare May 11, 2025 23:05
@jonkeane
Copy link
Member Author

@github-actions crossbow submit test-r-linux-sanitizers

This should fail with the new rhub/gcc-asan job

Copy link

Revision: cbc67be

Submitted crossbow builds: ursacomputing/crossbow @ actions-faacd3047b

Task Status
test-r-linux-sanitizers GitHub Actions

@jonkeane
Copy link
Member Author

@github-actions crossbow submit test-r-linux-sanitizers

And this one intializes the quoted variable

Copy link

Revision: f261c56

Submitted crossbow builds: ursacomputing/crossbow @ actions-b0ff1d4e40

Task Status
test-r-linux-sanitizers GitHub Actions

@jonkeane jonkeane requested a review from pitrou May 12, 2025 03:30
Comment on lines -147 to +151
: values_size_(0), values_capacity_(values_capacity), status_(Status::OK()) {
: values_size_(0),
values_capacity_(values_capacity),
quoted_(false),
saved_values_size_(0),
status_(Status::OK()) {
Copy link
Member Author

Choose a reason for hiding this comment

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

quoted_(false) and saved_values_size_(0) are the only additions here (the rest is whitespace)

@github-actions github-actions bot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels May 12, 2025
@jonkeane
Copy link
Member Author

Python / AMD64 Conda Python 3.10 Without Pandas is failing on main right now too, so not the changes in this PR

Copy link
Member

@pitrou pitrou left a comment

Choose a reason for hiding this comment

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

+1, thanks for this @jonkeane . @kou Do you want to take a look at the CI setup changes here?

Copy link
Member

@assignUser assignUser left a comment

Choose a reason for hiding this comment

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

Great change, thanks!

Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

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

+1

Comment on lines 1089 to 1093
R_PRUNE_DEPS: TRUE
image: r-clang-asan

test-r-clang-ubsan:
ci: github
template: docker-tests/github.linux.yml
params:
env:
R_PRUNE_DEPS: TRUE
image: r-clang-ubsan
R_ORG: "rhub"
R_IMAGE: "{{ '${{ matrix.config.r_image }}' }}"
R_TAG: "latest"
ARROW_R_DEV: "TRUE"
Copy link
Member

Choose a reason for hiding this comment

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

Could you move this env: to github.linux.sanitizers.yml?
We don't need to customize them in tasks.yml, right?

Copy link
Member Author

Choose a reason for hiding this comment

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

I can, yeah. I was following other jobs here, but you're right that none of this varies at the tasks level.

@github-actions github-actions bot added awaiting merge Awaiting merge awaiting changes Awaiting changes and removed awaiting changes Awaiting changes awaiting merge Awaiting merge labels May 13, 2025
@jonkeane
Copy link
Member Author

@github-actions crossbow submit test-r-linux-sanitizers

@github-actions github-actions bot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels May 13, 2025
Copy link

Revision: 45fcdd1

Submitted crossbow builds: ursacomputing/crossbow @ actions-6c92c64390

Task Status
test-r-linux-sanitizers GitHub Actions

@assignUser assignUser merged commit 12424cd into apache:main May 13, 2025
37 of 38 checks passed
@assignUser assignUser removed the awaiting change review Awaiting change review label May 13, 2025
Copy link

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

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about 27 possible false positives for unstable benchmarks that are known to sometimes produce them.

amoeba pushed a commit that referenced this pull request May 16, 2025
### Rationale for this change

Fix gcc-UBSAN CI job to be correctly running, then fix the UBSAN error.

### What changes are included in this PR?

* Generalize our sanitizer jobs and use rhub's containers for this. wch/r-debug looks like it's out of date (hence why we didn't catch this), and it's easier to use a matrix of images with rhubarb anyway.
* Initialize the `_quoted` variable — we could also cast it to boolean where the UBSAN popped, but this seems to be enough.

### Are these changes tested?

Yes

### Are there any user-facing changes?

No
* GitHub Issue: #46394

Authored-by: Jonathan Keane <jkeane@gmail.com>
Signed-off-by: Jacob Wujciak-Jens <jacob@wujciak.de>
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.

4 participants