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

release-1.6: Backports for Julia 1.6.8 #46116

Open
wants to merge 54 commits into
base: release-1.6
Choose a base branch
from

Commits on Oct 10, 2023

  1. fix convert call in Artifacts.jl (#46040)

    (cherry picked from commit e96b19d)
    KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    161c26c View commit details
    Browse the repository at this point in the history
  2. Allow BUILDKITE_BRANCH to provide branch name (#46053)

    * Allow `BUILDKITE_BRANCH` to provide branch name
    
    Our CI system checks commits out as a detached head, which breaks our
    `Base.GIT_VERSION_INFO.branch` information.
    
    * Fix typo
    
    (cherry picked from commit d117975)
    staticfloat authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    1fa0450 View commit details
    Browse the repository at this point in the history
  3. Fix sparse constructor when Tridiagonal/SymTridiagonal are empty (#…

    …42574)
    
    Co-authored-by: Daniel Karrasch <[email protected]>
    (cherry picked from commit b3c268c)
    mcognetta authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    a82257d View commit details
    Browse the repository at this point in the history
  4. Fix implicit binding import for aliased bindings (#44827)

    `b->name` is used to lookup in `b->owner`, not `var`.
    
    (cherry picked from commit dbe41d4)
    Pangoraw authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    94bc7bf View commit details
    Browse the repository at this point in the history
  5. Base.stale_cachefile: allow ftime_req to be greater than ftime

    …by up to one microsecond (to compensate for Windows tar) (#45552)
    
    (cherry picked from commit 4c39647)
    DilumAluthge authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    b6acfc7 View commit details
    Browse the repository at this point in the history
  6. Fix union!(s::BitSet, r::AbstractUnitRange{<:Integer}) when two range…

    …s do not overlap. (#45578)
    
    * Fix union!(s::BitSet, r::AbstractUnitRange{<:Integer}) when two ranges do not overlap.
    Resizing of BitSet should be filled with 0 by default.
    
    (cherry picked from commit 5e8e0a5)
    metab0t authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    b21a8bb View commit details
    Browse the repository at this point in the history
  7. Replace isfinite check in ranges with lo ≤ x ≤ hi (#45646)

    Co-authored-by: Viral B. Shah <[email protected]>
    (cherry picked from commit 5811825)
    LilithHafner authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    8e0933b View commit details
    Browse the repository at this point in the history
  8. Check sizes in 3-arg diagonal (dot-)product (#47114)

    (cherry picked from commit 25e3809)
    dkarrasch authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    89661ac View commit details
    Browse the repository at this point in the history
  9. make REPL completions robust against expanduser throwing (#47058)

    (cherry picked from commit 7beeaf7)
    KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    c26ce31 View commit details
    Browse the repository at this point in the history
  10. Better Libdl.dlopen error when using non-standard extension (#46998)

    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)
    fingolfin authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    f3d87d5 View commit details
    Browse the repository at this point in the history
  11. CircleCI caching: allow ftime to be ceil(ftime_req) in Base.stale_cac…

    …hefile (#47433)
    
    * CircleCI caching: allow ftime to be ceil(ftime_req) in Base.stale_cachefile
    
    It appears that [caching functionalities](https://circleci.com/docs/caching/) provided by CircleCi, a leading CI/CD provider, can truncate timestamps to full seconds, resulting in re-compilations as below:
    ```
    Rejecting stale cache file /root/.julia/compiled/v1.8/ComponentArrays/cYHSD_3rQji.ji (mtime 1.6673960929277816e9) because file /root/.julia/packages/ComponentArrays/YyD7i/src/ComponentArrays.jl
    ```
    
    This PR relaxes the `is_stale` check to be robust against rounding-to-second timestamp mutations.
    
    I can provide a minimal CircleCI configuration file to reproduce if this is helpful.
    
    (cherry picked from commit bf92e83)
    nrontsis authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    cb71669 View commit details
    Browse the repository at this point in the history
  12. Merge pull request #47940 from Seelengrab/bump_pcre

    [PCRE2_jll] Upgrade to 10.42
    
    (cherry picked from commit 1c7cdd5)
    KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    a9367cb View commit details
    Browse the repository at this point in the history
  13. leq for reals falls back to le and eq (#46341)

    (cherry picked from commit ef511c9)
    jishnub authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    63e30db View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    b492b93 View commit details
    Browse the repository at this point in the history
  15. Use Documenter 0.27.23 (#46516)

    (cherry picked from commit b64743b)
    mortenpi authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    9b90553 View commit details
    Browse the repository at this point in the history
  16. fix unescaping in global expressions (#47719)

    This fixes some issues around macro hygiene in `global` expressions.
    Apparently we always treat l-values in global expressions as being
    escaped, but we still need to be careful to handle type annotations and
    destructuring correctly.
    
    (cherry picked from commit cc25a13)
    simeonschaub authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    9f6f76f View commit details
    Browse the repository at this point in the history
  17. Fix generator-invocation legality check for varargs generators (#47739)

    This code was introduced by me back in #31025 to speed up evaluation
    of generated functions that didn't make use of all of their arguments to
    make generation decisions. However, it neglected to take into account the
    possibility that the generator could be varargs. As a result, an unfortunate
    coincidence of an unused slot in the correct position could have allowed
    expansion of generators that were not supposed to be expandable. This can
    cause incorrect inference with all the usual consequences. However, fortunately
    this coincidence appears to be pretty rare.
    
    Fixes JuliaDebug/CassetteOverlay.jl#12
    
    (cherry picked from commit 328dd57)
    Keno authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    1d1e82e View commit details
    Browse the repository at this point in the history
  18. Removed attributes from arguments to gc_preserve_begin (#47482)

    LLVM adds the nonnull attribute on its own, which makes
    the verifier fail.
    
    Fixes #47245
    
    (cherry picked from commit bc39fd1)
    apaz-cli authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    97ea252 View commit details
    Browse the repository at this point in the history
  19. union-types: use insertion (stable) sort instead of qsort (#45896)

    Different platforms implement qsort differently, leading to
    platform-specific errors. This is a quick port of the ml_matches
    algorithm for use instead. For small unions (almost always), this should
    also be slightly faster, though insignificant.
    
    Refs #45874
    
    (cherry picked from commit 8cc5445)
    vtjnash authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    ac06470 View commit details
    Browse the repository at this point in the history
  20. Handle PhiNode with edge==0 (#46388)

    (cherry picked from commit fd66c30)
    martinholters authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    e03f890 View commit details
    Browse the repository at this point in the history
  21. Don't crash on variable sized gc allocations (#46914)

    (cherry picked from commit 8003563)
    wsmoses authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    2c38119 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    3f85dc1 View commit details
    Browse the repository at this point in the history
  23. cgmemmgr,macos: add missing shared_map_lock initialization

    (cherry picked from commit 3661a08)
    vtjnash authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    fc6a4f0 View commit details
    Browse the repository at this point in the history
  24. Fix REPL keybinding CTRL-Q for stdlib methods (#47637)

    (cherry picked from commit 7514bcf)
    rashidrafeek authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    b2e7307 View commit details
    Browse the repository at this point in the history
  25. Set intersection = 1 during intersect_sub_datatype (#46882)

    (cherry picked from commit e6d9979)
    N5N3 authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    a954bc7 View commit details
    Browse the repository at this point in the history
  26. fix rem2pi for non-finite arguments (#46163)

    (cherry picked from commit 73c1eeb)
    oscardssmith authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    783d152 View commit details
    Browse the repository at this point in the history
  27. bugfix: fld1 order of ops (#46938)

    * bugfix: fld1 order of ops
    
    fixes #28973
    
    (cherry picked from commit fcdc5bc)
    JeffreySarnoff authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    bb60877 View commit details
    Browse the repository at this point in the history
  28. copyto! fix for BitArray/AbstractArray, fixes #25968 (#46161)

    1. map `copyto!(::BitArray, n1, ::BitArray, n2, l)` to `Base.unsafe_copyto!`
    2. add missing unaliasing in `copyto!` for `AbstractArray`
    
    (cherry picked from commit 0ea2b2d)
    N5N3 authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    284bad1 View commit details
    Browse the repository at this point in the history
  29. Fix GC assertion on array of derived pointers (#47299)

    * Fix GC assertion on array of derived pointers
    
    * Add test
    
    (cherry picked from commit d885fc7)
    wsmoses authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    0b4201d View commit details
    Browse the repository at this point in the history
  30. Fix integer overflow in reverse! (#45871)

    (cherry picked from commit 3c04919)
    jishnub authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    3aa7b9a View commit details
    Browse the repository at this point in the history
  31. Fix isdone for empty product iterators, fixes #43921 (#43947)

    * Fix the issue #43921
    
    * add a test
    
    Co-authored-by: Kristoffer <[email protected]>
    (cherry picked from commit b8a77da)
    sasi591 authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    3cfa748 View commit details
    Browse the repository at this point in the history
  32. Complete size checks in BLAS.[sy/he]mm! (#45605)

    (cherry picked from commit da13d78)
    dkarrasch authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    bae7300 View commit details
    Browse the repository at this point in the history
  33. Set OPENBLAS_NUM_THREADS=1 on local Distributed workers (#47803)

    This should prevent LinearAlgebra from trying to increase our OpenBLAS
    thread count in its `__init__()` method when we're not trying to enable
    threaded BLAS.
    
    (cherry picked from commit a8b3994)
    (cherry picked from commit 8830c26)
    staticfloat authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    b901d10 View commit details
    Browse the repository at this point in the history
  34. build: improve parsing of gfortran version (#47352)

    Co-authored-by: Jameson Nash <[email protected]>
    (cherry picked from commit 626f3b2)
    apaz-cli authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    2ac3541 View commit details
    Browse the repository at this point in the history
  35. 1.6: add some .gitignore entries, including some Buildkite-related …

    …`.gitignore` entries (#47952)
    DilumAluthge authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    5476d49 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    dfb43fa View commit details
    Browse the repository at this point in the history
  37. 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
    staticfloat authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    ef6cec6 View commit details
    Browse the repository at this point in the history
  38. [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.
    staticfloat authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    c82830a View commit details
    Browse the repository at this point in the history
  39. 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 <[email protected]>
    
    * Instead of `CC_WITH_ENV`, scope environment variables to targets
    
    * Fix whitespace
    
    Co-authored-by: Elliot Saba <[email protected]>
    2 people authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    f174db2 View commit details
    Browse the repository at this point in the history
  40. Backport llvm-config path fix

    This allows our `llvm-config.exe` to find its libraries, which is
    necessary on Windows since there's no `RPATH` support.
    
    This was backported as a small piece of 53603f6
    staticfloat authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    dbc7733 View commit details
    Browse the repository at this point in the history
  41. [release-1.6] Disable affinity testing when run inside of cpusets (#4…

    …7968)
    
    On later versions of Julia, we have the ability to set CPUs for our
    subprocesses more flexibly, but on v1.6 we don't, so let's ignore these
    tests for now.
    
    X-ref: 32b1305
    staticfloat authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    ae9b454 View commit details
    Browse the repository at this point in the history
  42. [release-1.6] Eliminate outdated test

    Our new CI environment defines environment variables that break this
    test.  We have better behaviors on newer Julia versions.
    staticfloat authored and KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    3e977c8 View commit details
    Browse the repository at this point in the history
  43. bump Pkg to latest v1.6

    KristofferC committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    3fb302e View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    248bef5 View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2023

  1. test with new Pkg

    KristofferC committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    8024e28 View commit details
    Browse the repository at this point in the history
  2. follow up #47739 (#47746)

    (cherry picked from commit c46834b)
    aviatesk authored and KristofferC committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    d3791a0 View commit details
    Browse the repository at this point in the history
  3. Generalize Bool parse method to AbstractString (#47782)

    * Generalize Bool parse method to AbstractString
    
    Fixes JuliaStrings/InlineStrings.jl#57.
    
    We currently have a specialization for `parse(Bool, ::Union{String, SubString{String})`
    where `true` and `false` are parsed appropriately. The restriction to
    `Union{String, SubString{String}}`, however, means we don't get this behavior
    for other `AbstractString`s. In the linked issue above, for InlineStrings, we end up
    going through the generic integer parsing codepath which results in an `InexactError`
    when we try to do `Bool(10)`.
    
    The proposal in this PR takes advantage of the fact that there is only the 2 comparisons
    where we do `_memcmp` that require the input string to be "dense" (in memory), and otherwise,
    we just do a comparison against a `SubString` of the input string.
    
    Relatedly, I've wanted to introduce the concept of an abstrac type like:
    
    ```julia
    abstract type MemoryAddressableString <: AbstractString
    ```
    
    where the additional required interface would be being able to call
    `pointer(::MemoryAddressableString)`, since a lot of our string algorithms depend on doing
    these kind of pointer operations and hence makes it quite a pain to implement your own
    custom string type.
    
    * Apply suggestions from code review
    
    Co-authored-by: Stefan Karpinski <[email protected]>
    Co-authored-by: Nick Robinson <[email protected]>
    
    Co-authored-by: Stefan Karpinski <[email protected]>
    Co-authored-by: Nick Robinson <[email protected]>
    (cherry picked from commit 63830a6)
    quinnj authored and KristofferC committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    53dfef5 View commit details
    Browse the repository at this point in the history
  4. deps: fix broken p7zip url (#48176)

    (cherry picked from commit f6b5157)
    t-bltg authored and KristofferC committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    2dd9aac View commit details
    Browse the repository at this point in the history
  5. doc: remove outdata const (#49096)

    (cherry picked from commit 6d678fe)
    inkydragon authored and KristofferC committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    03bbc23 View commit details
    Browse the repository at this point in the history
  6. Mark llvm::Any::TypeId as global in julia.expmap (#49124)

    The dynamic linker needs to unify `llvm::Any::TypeId` across DSOs. In our case
    `libjulia-codegen` and `libLLVM`.
    
    See https://github.com/llvm/llvm-project/blob/2bc4c3e920ee078ef2879b00c40440e0867f0b9e/llvm/include/llvm/ADT/Any.h#L30
    
    Fixes: #49121
    (cherry picked from commit d8fa3c8)
    vchuravy authored and KristofferC committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    927cd05 View commit details
    Browse the repository at this point in the history
  7. Make :open ccall use variadic cconv (#49212)

    (cherry picked from commit 1eee6ef)
    vchuravy authored and KristofferC committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    6549459 View commit details
    Browse the repository at this point in the history
  8. Remove xsaves from Zen cpuspec (#50186)

    (cherry picked from commit 432f300)
    vchuravy authored and KristofferC committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    65a12ef View commit details
    Browse the repository at this point in the history
  9. Ryu: make sure adding zeros does not overwrite trailing dot (#51254)

    Fix #43129
    
    (cherry picked from commit 832e46d)
    vtjnash authored and KristofferC committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    fb2fd0b View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2023

  1. bump libcurl to CVE patched version

    KristofferC committed Oct 20, 2023
    Configuration menu
    Copy the full SHA
    8608783 View commit details
    Browse the repository at this point in the history