-
Notifications
You must be signed in to change notification settings - Fork 4k
ARROW-867: [Python] pyarrow MSVC fixes #575
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
Conversation
|
We're down to 4 test failures It seems that the 128-bit string-to-integer function used in decimal parsing maybe doesn't work on windows void StringToInteger(
const std::string& whole, const std::string& fractional, int8_t sign, int128_t* out) {
DCHECK(sign == -1 || sign == 1);
DCHECK_NE(out, nullptr);
DCHECK(!whole.empty() || !fractional.empty());
*out = int128_t(whole + fractional) * sign;
}I'm looking into the two other test failures |
|
here's print statements from inside StringToInteger digging down into the conversion back to pydecimal |
|
Here's telemetry from inside |
|
Alright, all tests are passing now except for the Decimal128 issue |
|
Looks like there might be more issues than just the decimal thing Will run test suite under valgrind on Linux to see if there's a bad memory access that we've been ignoring |
|
Valgrind output on master branch. Seems like some of the typical spurious Python valgrind warnings, don't see anything overtly worrisome: https://gist.github.com/wesm/fbbd9ccf19267a6bbd6872a6e5dc31dc |
6854e36 to
af6125b
Compare
|
So it seems there's a segfault the first time using the NumPy C API is attempted. Not sure why it works locally and fails in Appveyor. |
|
I'm completely stumped about this Appveyor issue with the NumPy C API. Cannot reproduce locally on Windows 10. If we can fix the Decimal unit tests (locally), then I suggest we merge this without running the unit tests in Appveyor until we can figure out a way to debug |
|
@wesm , wrong shared library .lib file looks like might be really the reason of NumPy C API issue, but I have tried to run your changes locally and rebased against latest commits, in both cases got python test session errors, like following: |
|
@Maxris can you create a clean conda environment and follow the build instructions in https://github.com/apache/arrow/blob/master/ci/msvc-build.bat The pandas import error looks unrelated |
|
@Maxris indeed the static lib issue was the cause of the problems I was having. Now we just have test failures remaining |
|
Is line needed to import numpy? https://github.com/apache/arrow/pull/575/files#diff-6397ece82ce8eb339620f294eecdb045L42 |
python/pyarrow/includes/pyarrow.pxd
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are these identical?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah
|
Yes, that line is required to import numpy |
…sion, platform ints. Add release/acquire methods to PyAcquireGIL lock object. Remove a couple unneeded GIL acquisitions
|
I disable the |
|
+1 |
Author: Wes McKinney <wes.mckinney@twosigma.com> Closes apache#575 from wesm/ARROW-867 and squashes the following commits: 0483cfb [Wes McKinney] Do not encode file paths to utf-16le on Windows. Fix date/time conversion, platform ints. Add release/acquire methods to PyAcquireGIL lock object. Remove a couple unneeded GIL acquisitions
No description provided.