-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Backports for Julia 1.8.3 #46984
Backports for Julia 1.8.3 #46984
Conversation
Added the manual back-port of #46373 |
(cherry picked from commit e6d9979)
(cherry picked from commit d5cde86)
(cherry picked from commit 8003563)
(cherry picked from commit 6c0aa6d)
(cherry picked from commit 757f21e)
* Build/win: Build with MSYS2 (#46140) * Makefile: MSYS2: close path conversion for `DEP_LIBS` Automatic path conversion will replace `:` with `;` * Makefile: MSYS2: use `cygpath` for path convert ref: https://www.msys2.org/docs/filesystem-paths/#manual-unix-windows-path-conversion * devdoc/win/msys2: add build steps * devdoc/win/msys2: Add x86/x64 build notes * devdoc/win/msys2: apply sugestions Co-Authored-By: Elliot Saba <staticfloat@gmail.com> * Instead of `CC_WITH_ENV`, scope environment variables to targets * Fix whitespace Co-authored-by: Elliot Saba <staticfloat@gmail.com> * Disable MSYS2's path munging for `stringreplace` (#46803) This was causing our rewriting of the loader's RPATH emulation to fail after running `make install`, as MSYS2 was rewriting our list that looks like: ``` ../bin/libgcc_s_seh-1.dll:../bin/libopenlibm.dll:@../bin/libjulia-internal.dll:@../bin/libjulia-codegen.dll: ``` Into one that looked like: ``` ..\bin\libgcc_s_seh-1.dll;..\bin\libopenlibm.dll;@..\bin\libjulia-internal.dll;@..\bin\libjulia-codegen.dll; ``` By exporting `MSYS2_ARG_CONV_EXCL='*'` for all `stringreplace` invocations, we dodge this issue, as documented by MSYS2 [0]. [0] https://www.msys2.org/wiki/Porting/#filesystem-namespaces * [win] Disable MSYS2 path munging when calling `is.exe` (#46867) Tragically, I believe MSYS2 is messing with options such as `/VERYSILENT` turning them instead into `C:\msys2\VERYSILENT` or similar. Co-authored-by: Elliot Saba <staticfloat@gmail.com>
Without this, alignment would count characters rather than textwidth as well as counting inline escape sequences in colored output. Fix that by using uncolored printing for alignment and textwidth rather than number of codepoints. (cherry picked from commit 626acd4)
(cherry picked from commit 7085703)
Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com> (cherry picked from commit 5811825)
Co-authored-by: Jameson Nash <vtjnash@gmail.com> (cherry picked from commit 45b96c4)
(cherry picked from commit 25e3809)
(cherry picked from commit 7beeaf7)
(cherry picked from commit 0dada17)
Fixes issued mentioned in #47075 (comment) (cherry picked from commit a68235c)
(cherry picked from commit dc3a2e8)
As reported [here](https://discourse.julialang.org/t/test-failures-for-sockets-base-runtests-sockets/88898). My guess on the original issue reported is that, for some reason, the host where the tests are run is unable to listen on any ports, so we end up cycling through the entire UInt16 range (the test starts at port 11011), but when we fail on port 65535, we do `addr.port + 1` and instead of wrapping around as I believe this function intends to happen (as noted by the `addr.port == default_port` check before we error), it gets promoted to `Int(65536)` which then throws an (unexpected) error in the `InetAddr` constructor. I'm not quite sure how to test this exactly though, because we'd need to simulate not being able to listen on any ports? If anyone has any ideas, I'm all ears. (cherry picked from commit a311f4d)
When trying to dlopen a file with non-standard extension (e.g. `foo.so` instead of `foo.dylib` when running on macOS), if this failed (e.g. because of a reference to an undefined symbol), then instead of printing the error message returned by `dlerror` with a helpful notice what went wrong, a message indicating something to the effect that "foo.so.dylib was not found" was shown, which was not helpful at all. To get the actual helpful error message, add a check so that when dlopen fails for a file that actually exists, we don't retry loading from a file with the standard extension attached, which might not even exist; instead we just give up. This matches what is already being done for relative paths. This patch simply copies the relevant check to also be applied to the case dealing with absolute paths. (cherry picked from commit a490197)
8c2b377
to
345ce31
Compare
* Mark as `inline` functions implemented in `src/serialize.h` Also, remove duplicate definitions from `src/staticdata.c` and include `serialize.h` in there. (cherry picked from commit 081ae64)
Your job failed. |
@vtjnash , can you upload log? |
Your package evaluation job has completed - possible new issues were detected. A full report can be found here. |
Wow... |
I think the test failure for Evolutionary.jl might be real, then a worry. It doesn't find the correct minimum (and uses StableRNG, so seemingly meant to be deterministic). The package supports Threads (but the failing test seem to not use them), and given it's genetic search, so I'm thinking could it fail occasionally randomly? I tested locally and no failures, then its master and 4 failures... I see this option, but seems not used, thus serial:
|
SugarKelp.jl might have a performance regression, taking much longer. Might this be related to it:
|
Why "wow"? Because mostly ok, or because "3167 failed", since I now realized that's with or without 1.8.3 PR, so not a worry? Or that is, a worry, just unrelated. |
Wow because so few regressions :) |
A quick note regarding the two pending (yellow) statuses of the form Windows has been migrated to Buildkite. To see the results of Windows CI, please click on the "Details" link next to the |
I noticed in the logs (also elsewhere for musl etc.)
Should CI be downloading 1.8.x or 1.9? |
It's just using Julia 1.6 to do some "bootstrapping" to setup the environment for the CI to run. So it doesn't really matter what version that is. |
The error in Evolutionary seems to come down to a change in the order in which things are put into a dictionary and the tests seem to rely on this being constant. Also, the tests for Evolutionary pass on this branch using the master branch of the package. So it doesn't seem anything is broken. SugarKelp passed locally so probably just some slowness with the PkgEval setup which is expected. |
@DilumAluthge, are the windows tests expected to pass on Buildkite? |
If I recall correctly, the failure in LinearAlgebra/special on i686 was a known failure. But apart from that, I would have expected all tests to pass on Windows on Buildkite. @staticfloat Have we forgotten to backport something? Worst case we can turn the Windows Buildbots back on temporarily, but it would be ideal if we could use Buildkite. |
…ease-julia-1.8`, but leave the commit (`f63732c`) unmodified
This warning was un-ironically introduced by "Fix or suppress some noisy tests". ``` ┌ Error: mktemp cleanup │ exception = │ IOError: unlink("C:\\Windows\\TEMP\\jl_A49B.tmp"): resource busy or locked (EBUSY) │ Stacktrace: │ [1] uv_error │ @ .\libuv.jl:100 [inlined] │ [2] unlink(p::String) │ @ Base.Filesystem .\file.jl:968 │ [3] rm(path::String; force::Bool, recursive::Bool) │ @ Base.Filesystem .\file.jl:283 │ [4] rm │ @ .\file.jl:274 [inlined] │ [5] mktemp(fn::Main.Test49Main_misc.var"#110#113", parent::String) │ @ Base.Filesystem .\file.jl:736 │ [6] mktemp(fn::Function) │ @ Base.Filesystem .\file.jl:730 │ [7] macro expansion │ @ C:\buildbot\worker-tabularasa\tester_win64\build\share\julia\test\misc.jl:1065 [inlined] │ [8] macro expansion │ @ C:\buildbot\worker-tabularasa\tester_win64\build\share\julia\stdlib\v1.9\Test\src\Test.jl:1360 [inlined] │ [9] top-level scope │ @ C:\buildbot\worker-tabularasa\tester_win64\build\share\julia\test\misc.jl:1060 │ [10] include │ @ .\Base.jl:427 [inlined] │ [11] macro expansion │ @ C:\buildbot\worker-tabularasa\tester_win64\build\share\julia\test\testdefs.jl:24 [inlined] │ [12] macro expansion │ @ C:\buildbot\worker-tabularasa\tester_win64\build\share\julia\stdlib\v1.9\Test\src\Test.jl:1360 [inlined] │ [13] macro expansion │ @ C:\buildbot\worker-tabularasa\tester_win64\build\share\julia\test\testdefs.jl:23 [inlined] │ [14] macro expansion │ @ .\timing.jl:440 [inlined] │ [15] runtests(name::String, path::String, isolate::Bool; seed::UInt128) │ @ Main C:\buildbot\worker-tabularasa\tester_win64\build\share\julia\test\testdefs.jl:21 │ [16] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, UInt128, Tuple{Symbol}, NamedTuple{(:seed,), Tuple{UInt128}}}) │ @ Base .\essentials.jl:798 │ [17] (::Distributed.var"#110#112"{Distributed.CallMsg{:call_fetch}})() │ @ Distributed C:\buildbot\worker-tabularasa\tester_win64\build\share\julia\stdlib\v1.9\Distributed\src\process_messages.jl:285 │ [18] run_work_thunk(thunk::Distributed.var"#110#112"{Distributed.CallMsg{:call_fetch}}, print_error::Bool) │ @ Distributed C:\buildbot\worker-tabularasa\tester_win64\build\share\julia\stdlib\v1.9\Distributed\src\process_messages.jl:70 │ [19] macro expansion │ @ C:\buildbot\worker-tabularasa\tester_win64\build\share\julia\stdlib\v1.9\Distributed\src\process_messages.jl:285 [inlined] │ [20] (::Distributed.var"#109#111"{Distributed.CallMsg{:call_fetch}, Distributed.MsgHeader, Sockets.TCPSocket})() │ @ Distributed .\task.jl:490 └ @ Base.Filesystem file.jl:738 ``` (cherry picked from commit d28a0dd) Co-authored-by: Jameson Nash <vtjnash@gmail.com>
@KristofferC I have backported the missing piece for #44444 and merged it in. I also identified (with Jameson's help) the missing piece in Pkg that is causing the timeout failures on Windows, and I've submitted a backport for Pkg's |
Great! |
Can we include #47419? I think it should backport pretty easily. (happy to push it here if that doesn't mess up some regular flow) |
(cherry picked from commit 3661a08)
Thanks @KristofferC |
Backported PRs:
Base.stale_cachefile
: allowftime_req
to be greater thanftime
by up to one microsecond (to compensate for Windows tar) #45552intersection = 1
duringintersect_sub_datatype
#46882handle_message(logger, ...
#46906tester_win64
andtester_win32
from the list #46997expanduser
throwing #47058--compile=all
option, and some improvements for--strip-ir
#46935@testset foo()
#46980Conditional
-forwarding for vararg methods #47438Need manual backport:
Contains multiple commits, manual intervention needed:
sort!
#46921Non-merged PRs with backport label:
create_expr_cache
#46801