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

Package seems broken on ppc64le #607

Open
rgommers opened this issue Nov 6, 2021 · 8 comments · Fixed by conda-forge/pywavelets-feedstock#47
Open

Package seems broken on ppc64le #607

rgommers opened this issue Nov 6, 2021 · 8 comments · Fixed by conda-forge/pywavelets-feedstock#47
Labels

Comments

@rgommers
Copy link
Member

rgommers commented Nov 6, 2021

The conda-forge feedstock gained a ppc64le build, but it looks completely broken, see conda-forge/pywavelets-feedstock#42. We don't have ppc64le CI on this repo, which is probably the right thing to add, rather than debug on conda-forge.

@rgommers rgommers added the bug label Nov 6, 2021
@rgommers
Copy link
Member Author

rgommers commented Nov 6, 2021

Test results in gh-508 are better (only 2 failures), so part of this may be conda-forge specific.

@jakirkham
Copy link
Contributor

The conda-forge builds are also emulated, which can sometimes run into unique issues

Other thing worth noting (maybe obvious though) is conda-forge is building with the last release. So any changes here since the last release may have fixed issues we are seeing in the conda-forge builds in the interim

@rgommers
Copy link
Member Author

rgommers commented Nov 6, 2021

So any changes here since the last release may have fixed issues we are seeing in the conda-forge builds in the interim

I don't think there were any that would have fixed what we're seeing there. Emulation could well be the problem here though.

@carterbox
Copy link

The conda-forge builds are also emulated, which can sometimes run into unique issues

Are all ppc64le feedstocks being moved from Travis to Azure? If emulation is the problem, can you not move back to Travis?

@jakirkham
Copy link
Contributor

@carterbox, if you would like to explore fixing the ppc64le packages, that would be welcome :)

@carterbox
Copy link

@jakirkham, I would be happy to try, but I am still wondering if y'all have any insight into why a bot moved the package from Travis to Azure in the first place.

carterbox added a commit to carterbox/pywavelets-feedstock that referenced this issue Nov 17, 2021
We suspect that the emulated (as opposed to native) builds may be causing the tests to fail for these architectures. This commit tries to bump the conda-forge builds back to native hosts instead of cross-compiling.

PyWavelets/pywt#607
@rgommers
Copy link
Member Author

Similar test errors for swt with PyPy on Linux aarch64 and on x86-64 macOS, see conda-forge/pywavelets-feedstock#53 (comment). That has full tracebacks; the test_swt_roundtrip_dtypes test failure overlaps with ppc64le, shows RuntimeError: C wavelet transform failed with error code 4.. And error code 5 also shows up.

The error is happening on line 272 of _swt.pyx:

                cD = np.zeros(output_shape, dtype=np.complex128)
                with nogil:
                    retval = c_wt.double_complex_downcoef_axis(
                        <double complex *> data.data, data_info,
                        <double complex *> cD.data, output_info,
                        wavelet.w, axis,
                        common.COEF_DETAIL, common.MODE_PERIODIZATION,
                        i, common.SWT_TRANSFORM)
                if retval:
                    raise RuntimeError(
                        "C wavelet transform failed with error code %d" %
                        retval)

@rgommers
Copy link
Member Author

That code is full of casts, and assumptions like size_t and Py_ssize_t being compatible. That's probably true but not guaranteed. A bit hard to untangle.

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

Successfully merging a pull request may close this issue.

3 participants