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

[BUG] List comparison testing creating thrust failures #6364

Closed
rwlee opened this issue Sep 30, 2020 · 1 comment
Closed

[BUG] List comparison testing creating thrust failures #6364

rwlee opened this issue Sep 30, 2020 · 1 comment
Assignees
Labels
bug Something isn't working libcudf Affects libcudf (C++/CUDA) code. tests Unit testing for project

Comments

@rwlee
Copy link
Contributor

rwlee commented Sep 30, 2020

Describe the bug
When comparing list columns using CUDF_TEST_EXPECT_COLUMNS_EQUAL with print_all_differences set to true, any difference in the columns will cause a thrust error and crash with the following error:

terminate called after throwing an instance of 'thrust::system::system_error'
  what():  CUDA free failed: cudaErrorLaunchFailure: unspecified launch failure
Aborted (core dumped)

Steps/Code to reproduce bug
In cpp/tests/reshape/byte_cast_tests.cpp change any byte in int16_expected's definition. Then add true as the third argument to the comparison on line 44 of the same file. This can be repeated with other tests, but this is the first and simplest case to recreate.

Expected behavior
The difference between to the two columns printed out without crashing and aborting the entire test suite.

Additional context
Error was traced to cpp/tests/utilities/column_utilities.cu:163 -- something to do with the conversion of the differences to an int32 column is causing the thrust failure. Commenting out lines 163 through 173 skips the thrust failure, but 164 through 173 still has the error.

@rwlee rwlee added bug Something isn't working Needs Triage Need team to review and classify libcudf Affects libcudf (C++/CUDA) code. labels Sep 30, 2020
@kkraus14 kkraus14 added tests Unit testing for project and removed Needs Triage Need team to review and classify labels Sep 30, 2020
@ttnghia ttnghia self-assigned this Feb 11, 2021
rapids-bot bot pushed a commit that referenced this issue Feb 17, 2021
…ector with vectors of size 1 (#7382)

This is a fix for the problem that popped up in the bug #6364.

I debug this problem and discovered that thrust crashes only when the vector size is 1. There should not be any problem with the vector size, thus the bug should be due to something else. Finally, I found a fix for this: adding qualifiers `__host__ __device__` to the type transformer. 

It really weird that without those qualifiers,  there is runtime problem only when the vector size is 1.

Authors:
  - Nghia Truong (@ttnghia)

Approvers:
  - Mark Harris (@harrism)
  - @nvdbaranec
  - Conor Hoekstra (@codereport)
  - Vukasin Milovanovic (@vuule)

URL: #7382
@ttnghia
Copy link
Contributor

ttnghia commented Feb 17, 2021

This is fixed in #7382. Close.

@ttnghia ttnghia closed this as completed Feb 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working libcudf Affects libcudf (C++/CUDA) code. tests Unit testing for project
Projects
None yet
Development

No branches or pull requests

3 participants