Skip to content

ARROW-16757: [C++][FOLLOWUP] Fix mingw32 RTools 4.0 build by removing usage of alignas - #13557

Merged
wesm merged 1 commit into
apache:masterfrom
wesm:mingw32-failure
Jul 10, 2022
Merged

ARROW-16757: [C++][FOLLOWUP] Fix mingw32 RTools 4.0 build by removing usage of alignas#13557
wesm merged 1 commit into
apache:masterfrom
wesm:mingw32-failure

Conversation

@wesm

@wesmwesm commented Jul 8, 2022

Copy link
Copy Markdown
Member

Using alignas(64) (instead of alignas(8)) seemed to break this build.

@github-actions

Copy link
Copy Markdown

Thanks for opening a pull request!

If this is not a minor PR. Could you open an issue for this pull request on JIRA? https://issues.apache.org/jira/browse/ARROW

Opening JIRAs ahead of time contributes to the Openness of the Apache Arrow project.

Then could you also rename pull request title in the following format?

ARROW-${JIRA_ID}: [${COMPONENT}] ${SUMMARY}

or

MINOR: [${COMPONENT}] ${SUMMARY}

See also:

@wesm

wesm commented Jul 8, 2022

Copy link
Copy Markdown
MemberAuthor

I added some checks to prevent the filter implementations from running in the 0-length chunked array cases, and a different filter test started failing:

test_that("[ accepts Arrays and otherwise handles bad input", {
vec<-11:20a<-Array$create(vec)
ind<- c(9, 3, 5)
expect_error(
a[Array$create(ind)],
"Cannot extract rows with an Array of type double"
)
expect_as_vector(a[Array$create(ind-1, type= int8())], vec[ind])
expect_as_vector(a[Array$create(ind-1, type= uint8())], vec[ind])
expect_as_vector(a[ChunkedArray$create(8, 2, 4, type= uint8())], vec[ind])
filt<- seq_along(vec) %in%ind
expect_as_vector(a[Array$create(filt)], vec[filt])
expect_error(
a["string"],
"Cannot extract rows with an object of class character"
)
})

It segfaults on expect_as_vector(a[Array$create(filt)], vec[filt])

This is good because it's a normal array being filtered, but I'm still perplexed why #13521 would have caused this.

@wesm
wesmforce-pushed the mingw32-failure branch from 1e1a5db to 0246767CompareJuly 8, 2022 23:47
@wesm

wesm commented Jul 9, 2022

Copy link
Copy Markdown
MemberAuthor

@nealrichardson@wjones127@pitrou@paleolimbot so bizarrely, I had mistakenly used alignas(64) instead of alignas(8) with a struct member I added in #13521 -- I don't think that 64-byte alignment for that buffer should necessarily cause something to go wrong, but perhaps this mingw32 in question has a broken implementation of the C++11 alignas keyword? Really strange. In any case I'll clean this up and merge it so builds will stop failing

@wesm
wesmforce-pushed the mingw32-failure branch from 0246767 to abac54cCompareJuly 9, 2022 00:57
@wesmwesm changed the title [C++] Revert changes to vector_selection.cc to try to fix RTools mingw32 failureARROW-16757: [C++][FOLLOWUP] Fix mingw32 RTools 4.0 build by removing usage of alignasJul 9, 2022
@github-actions

Copy link
Copy Markdown

@wesm
wesm merged commit 88b42ef into apache:masterJul 10, 2022
@wesm
wesm deleted the mingw32-failure branch July 10, 2022 14:52
Sign up for freeto 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.

1 participant

@wesm