Skip to content

Conversation

@wesm
Copy link
Member

@wesm wesm commented Jul 8, 2022

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

@github-actions
Copy link

github-actions bot commented Jul 8, 2022

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
Copy link
Member Author

wesm commented Jul 8, 2022

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:20
  a <- 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 wesm force-pushed the mingw32-failure branch from 1e1a5db to 0246767 Compare July 8, 2022 23:47
@wesm
Copy link
Member Author

wesm commented Jul 9, 2022

@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 wesm force-pushed the mingw32-failure branch from 0246767 to abac54c Compare July 9, 2022 00:57
@wesm wesm changed the title [C++] Revert changes to vector_selection.cc to try to fix RTools mingw32 failure ARROW-16757: [C++][FOLLOWUP] Fix mingw32 RTools 4.0 build by removing usage of alignas Jul 9, 2022
@github-actions
Copy link

github-actions bot commented Jul 9, 2022

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

1 participant