Conversation
|
Thanks for working on this @hoodmane ! |
|
A lot of packages are failing to build with the error: This comes from wasm-opt. If I remove |
| # further investigation. This usually seems to be caused by calling into a | ||
| # system function that doesn't behave as one would expect. | ||
| # - crash-chrome: Same as crash but only affecting Chrome | ||
| # - crash-firefox: Same as crash but only affecting Firefox |
There was a problem hiding this comment.
I think we should have this list either in that file or here, not both. Otherwise it's going to be annoying to maintain in sync.
There was a problem hiding this comment.
I made it so that make_test_list.py writes this header into python_tests.txt. python_tests.txt is a weird mix of a generated file and a hand modified file...
Patch building.py to deal with '[wasm-validator error in module] unexpected true: Imported global cannot be mutable'
|
Were the issues at build time or at run time? If I revert scikit-learn, scikit-image, statsmodels setup to the version on main, and then change the URL to a GitHub tag 3e28f4a they all build fine for me locally as part of this PR.
|
|
At build time. I haven't tested whether they build locally until just recently, I was just looking at the CI. My modification to regenerate the statsmodels patches fixed the statsmodels build in CI. They fail with error: no member named 'tp_print' in 'struct _typeobject'in Cython-generated files. See here for example: |
Could you push this here? |
|
On CI just now the Firefox statsmodels import test passes. Did you try to import it in Chrome or Firefox? We marked that test xfail in Chrome. |
|
Tests for statsmodels and scikit-image also passed when installed from GH with no other changes, but only after restarting CI. So I wonder if it means there is a function signature mismatch somewhere and it fails half the times. |
Is that a characteristic symptom of function signature mismatch? It does seem particularly flaky here. |
|
Well one of possible causes pyodide/packages/scipy/meta.yaml Lines 29 to 31 in f9a6899 Actually maybe we should apply those flags globally to all packages. |
Sounds logical to me. |
Is the use of the word "random" here accurate? Or does it really mean that some consistent fraction of the calls will fail? I don't really understand the mechanism that would cause the randomness here. Seems to me that there is a chance we are just hitting on typical CI flakiness here. |
|
Okay all tests passed. I think we should proceed with merging this. |
I think such issues might explain in part the CI flakiness. It does look like under some conditions emcripten compiled code fails non deterministically, there is some number of such issues in their issue tracker. Also apparently it's a documented behavior for |
This is certainly good to know. Sad though...
Right... when I read these things I usually plug my ears and scream "unpredictable but repeatable". But one thing UB is allowed to do is fail non repeatably. In the |
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
Closes #978