8000 Fix crash in `ArrowTableFunction::GetArrowLogicalType` on Linux by Tishj · Pull Request #7718 · duckdb/duckdb · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Fix crash in ArrowTableFunction::GetArrowLogicalType on Linux #7718

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 29, 2023

Conversation

Tishj
Copy link
Contributor
@Tishj Tishj commented May 28, 2023

This PR fixes #7699

We were relying on undefined behavior in order of operations, this behavior was different in linux, which caused a crash.
I explain the issue in more detail in a reaction to the issue.

I'm not entirely sold on this solution, because this creates an instance of ArrowConvertData within GetArrowLogicalType and populates it with type-specific data.
But then once we get out of this method, we override it with a new instance of ArrowConvertData.

I believe this is the current behavior on Mac.

The instances are created with different constructors so I couldn't quickly figure out if this behavior is expected or not, maybe Pedro can have a look to let me know if this is in fact the right behavior or not.

@Mytherin Mytherin merged commit 722d8cc into duckdb:master May 29, 2023
@Mytherin
Copy link
Collaborator

Thanks!

@Tishj
Copy link
Contributor Author
Tishj commented May 31, 2023

@pdet can you have a look at this?
Since the data gets overwritten im not sure this causes some unforeseen issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

duckdb.register on aarch64: INTERNAL Error: Attempted to dereference unique_ptr that is NULL!
2 participants
0