GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||
GeezerVison is showing github.com — gh-130317: Skip test_pack_unpack_roundtrip_for_nans() on x86 by vstinner · Pull Request #133155 · python/cpython Conversation
|
|
cc @skirpichev |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Example of failure with 32-bit float on x86:
There is a similar problem with I'm not sure why it works with |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
LGTM (as a temporary fix). Don't close issue.
0xf2 in _testcapi.float_pack() becomes 0xfa in PyFloat_Pack4(). The sNaN becomes a qNaN just by the calling convention, there is nothing that we can do.
I'm not sure why it works with PyFloat_Pack8().
It shouldn't, if your explanation is valid.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Hmm, my tests show that on 32-bit sNaN becomes qNaN after calling. Are you sure that size=8 tests works? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
!buildbot x86 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
🤖 New build scheduled with the buildbot fleet by @vstinner for commit 2d62e7b 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F133155%2Fmerge The command will test the builders whose names match following regular expression: The builders matched are:
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
It works on Python built with |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Reduce also the number of iterations from 1000 to 10 to ease debugging failures and prevent "command line too line" error when tests are re-run.
2d62e7b to
c39b3c7
Compare
I guess, optimizer avoid using FPU registers As a quick fix I suggest to disable testing in 32-bit mode. And also reduce number of tests as suggested, 10 should be enough. In a follow-up PR I'll do cleanup. Probably float_set_snan() is not helpful, as well as other attempts to workaround passing of sNaN. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@skirpichev: I rewrote my PR to simply skip the test on x86 Debian, but not skip the test on x86 Windows. Please review the updated PR. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
!buildbot x86 Debian |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
🤖 New build scheduled with the buildbot fleet by @vstinner for commit c39b3c7 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F133155%2Fmerge The command will test the builders whose names match following regular expression: The builders matched are:
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Lets merge when bots pass.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Merged, thanks for the review. Sadly, I don't think that we can work around "compiler bugs" if sNaN becomes qNaN as soon as we call a simple function taking a |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.