Skip to content
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

Fix merge conflict for auto merge 16447 #16449

Merged
merged 3 commits into from
Jul 31, 2024

Conversation

davidwendt
Copy link
Contributor

@davidwendt davidwendt commented Jul 31, 2024

Description

Reference #16447
Conflict file was dependencies.yaml.

galipremsagar and others added 3 commits July 31, 2024 12:39
## Description
Without `flatbuffers` being added to the conda environment `libcudf` is
being built in is causing the following build failures:
```
In file included from /nvme/0/pgali/cudf/cpp/src/io/parquet/arrow_schema_writer.cpp:26:
/nvme/0/pgali/cudf/cpp/src/io/parquet/ipc/Message_generated.h:6:10: fatal error: flatbuffers/flatbuffers.h: No such file or directory
    6 | #include <flatbuffers/flatbuffers.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
```

## Checklist
- [x] I am familiar with the [Contributing
Guidelines](https://github.com/rapidsai/cudf/blob/HEAD/CONTRIBUTING.md).
- [ ] New or existing tests cover these changes.
- [x] The documentation is up to date with these changes.
…apidsai#16440)

## Description
Fixes internal parquet_field_list subclass constructors capturing
invalid this pointer when passing objects to std::make_tuple. The
std::make_tuple usage creates a parameter object that is constructed,
moved, and destroyed. The this pointer is captured during constructor
call. The move constructor is called which creates its own separate this
pointer (all member data is moved/copied appropriately). The original
this pointer is invalidated by the following destructor. The lambda that
was captured in the constructor no longer contains a valid this value in
the final moved object.

This PR removes the dependency on the this pointer in the lambda and
captures the vector reference instead which is preserved correctly in
the object move. The ctor, move, dtor pattern occurs because of how
std::make_tuple is implemented by the standard library.

Closes rapidsai#16408

## Checklist
- [x] I am familiar with the [Contributing
Guidelines](https://github.com/rapidsai/cudf/blob/HEAD/CONTRIBUTING.md).
- [x] New or existing tests cover these changes.
- [x] The documentation is up to date with these changes.
@davidwendt davidwendt requested review from a team as code owners July 31, 2024 17:56
@github-actions github-actions bot added the libcudf Affects libcudf (C++/CUDA) code. label Jul 31, 2024
@davidwendt davidwendt self-assigned this Jul 31, 2024
@davidwendt davidwendt added 3 - Ready for Review Ready for review by team ci non-breaking Non-breaking change bug Something isn't working labels Jul 31, 2024
@AyodeAwe AyodeAwe merged commit 38c15f7 into rapidsai:branch-24.10 Jul 31, 2024
80 checks passed
@davidwendt davidwendt deleted the branch-24.10-merge-24.08 branch July 31, 2024 19:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 - Ready for Review Ready for review by team bug Something isn't working ci libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants