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

Segfaults on tests for Python 3.7.0 #17

Closed
SethMMorton opened this issue Jul 23, 2018 · 2 comments
Closed

Segfaults on tests for Python 3.7.0 #17

SethMMorton opened this issue Jul 23, 2018 · 2 comments
Labels

Comments

@SethMMorton
Copy link
Owner

SethMMorton commented Jul 23, 2018

Inconsistently, and at "random" points during testing, I experience segmentation faults on Python 3.7.0. It happens no matter the OS (Mac, Windows, Linux). I strongly believe that this is not a bug in fastnumbers but rather with Python itself. My logic for this conclusion is

  • There is an open issue on bugs.python.org (https://bugs.python.org/issue34087, called "int(s), float(s) and others may cause segmentation fault") that points out that a change to the unicode handling internal function _PyUnicode_TransformDecimalAndSpaceToASCII that is called by int and float can introduce segfaults.
  • There is no difference in code within fastnumbers between Python 3.6 and 3.7, and no segfaults occur on Python 3.6.

I will leave this issue open till Python 3.7.1 is released (which has a patch for the segfault) and I can verify that this resolves the issue.


In interesting coincidence - it is the fact that _PyUnicode_TransformDecimalAndSpaceToASCII changed in 3.7 that started PR #16, but it was because its behavior changed, not because of segfaults.

@SethMMorton
Copy link
Owner Author

When appveyor/ci#2735 is merged, I will be able to validate and (hopefully) close this issue.

@SethMMorton
Copy link
Owner Author

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

No branches or pull requests

1 participant