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

WIP: Backports for 1.3-RC2 #32973

Merged
merged 36 commits into from
Sep 8, 2019
Merged

WIP: Backports for 1.3-RC2 #32973

merged 36 commits into from
Sep 8, 2019

Commits on Aug 20, 2019

  1. Add missing seed!(::_GLOBAL_RNG) method (#32961)

    (cherry picked from commit 8ebe564)
    timholy authored and KristofferC committed Aug 20, 2019
    Configuration menu
    Copy the full SHA
    91ffdca View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2019

  1. Bump Pkg version. (#32975)

    (cherry picked from commit 64be75f)
    fredrikekre authored and KristofferC committed Aug 25, 2019
    Configuration menu
    Copy the full SHA
    1a19ae8 View commit details
    Browse the repository at this point in the history
  2. Fix AbstractQ conversion to different-typed matrix (#32979)

    (cherry picked from commit fcf9063)
    mfherbst authored and KristofferC committed Aug 25, 2019
    Configuration menu
    Copy the full SHA
    b0d635e View commit details
    Browse the repository at this point in the history
  3. docs: prepend v to tag string (#32993)

    (cherry picked from commit 6723492)
    mortenpi authored and KristofferC committed Aug 25, 2019
    Configuration menu
    Copy the full SHA
    2a1ab32 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f482cb4 View commit details
    Browse the repository at this point in the history
  5. Clarify the behavior of rand/randn for complex types (#33002)

    (cherry picked from commit fa641c6)
    antoine-levitt authored and KristofferC committed Aug 25, 2019
    Configuration menu
    Copy the full SHA
    222fa90 View commit details
    Browse the repository at this point in the history
  6. Bump libgit2 to 0.28.2 (#32806)

    This allows dropping MbedTLS patches which have been upstreamed.
    The order in which configuration options are returned has changed, making a test fail:
    make the code more robust by giving priority to more specific options over global ones.
    
    (cherry picked from commit d0b5d98)
    nalimilan authored and KristofferC committed Aug 25, 2019
    Configuration menu
    Copy the full SHA
    e38bc7e View commit details
    Browse the repository at this point in the history
  7. Disallow var syntax in string interpolation (#32948)

    The var"##" syntax should be disabled in string interpolation.
    
    Disallow `var` syntax in command interpolations
    
    This is special cased for compatibility. A more general fix would be to
    make cmd interpolation syntax exactly the same as string interpolation.
    
    (cherry picked from commit 050160c)
    c42f authored and KristofferC committed Aug 25, 2019
    Configuration menu
    Copy the full SHA
    f6e60ea View commit details
    Browse the repository at this point in the history
  8. Add missing checksums for libgit2 0.28 (#33022)

    (cherry picked from commit cd16f6e)
    nalimilan authored and KristofferC committed Aug 25, 2019
    Configuration menu
    Copy the full SHA
    438632e View commit details
    Browse the repository at this point in the history
  9. Fix incorrect use of isimmutable (#33042)

    This function operates on values not on types (though it is a bit of
    a trap). Also add a test to catch this bug.
    
    (cherry picked from commit aee3fc2)
    Keno authored and KristofferC committed Aug 25, 2019
    Configuration menu
    Copy the full SHA
    add5c78 View commit details
    Browse the repository at this point in the history
  10. Use pivoting as the default in LU regardless of the element type. (#3…

    …2989)
    
    For types that weren't subtypes of AbstractFloat, we used to try
    to LU factorize without pivoting and only use pivoting when it failed.
    This caused large numerical errors when computing the LU for element
    types which promoted to float like numbers such as most integers.
    The behavior was never documented and is error prone. Hence, this
    PR removes the behavior.
    
    (cherry picked from commit 5af3c2a)
    andreasnoack authored and KristofferC committed Aug 25, 2019
    Configuration menu
    Copy the full SHA
    0d5848c View commit details
    Browse the repository at this point in the history
  11. improve performance of setindex! on IdDict (#33009)

    (cherry picked from commit d1979e3)
    KristofferC committed Aug 25, 2019
    Configuration menu
    Copy the full SHA
    0905f7c View commit details
    Browse the repository at this point in the history
  12. Fix LU doctest broken by #32989. (#33051)

    (cherry picked from commit 24f1611)
    fredrikekre authored and KristofferC committed Aug 25, 2019
    Configuration menu
    Copy the full SHA
    aac65c2 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2019

  1. Disable BB GMP and MPFR, to fix performance regressions

    (cherry picked from commit 4c12b7a)
    staticfloat authored and KristofferC committed Aug 26, 2019
    Configuration menu
    Copy the full SHA
    d7187e4 View commit details
    Browse the repository at this point in the history
  2. improve precompilation coverage (#33006)

    - move the place where --trace-compile outputs precompile statement to a location that catches more cases
    - tweak the REPL code to be more amenable to precompilation in light of
    - instead of trying to encode all the rules where the precompile emitter
      fails (#28808) just try to precompile and do nothing if it fails.
    
    (cherry picked from commit c0478d8)
    KristofferC committed Aug 26, 2019
    Configuration menu
    Copy the full SHA
    41bd234 View commit details
    Browse the repository at this point in the history
  3. fix #32903, regression in Ctrl-C after adding io locks (#33031)

    (cherry picked from commit 7d65e13)
    JeffBezanson authored and KristofferC committed Aug 26, 2019
    Configuration menu
    Copy the full SHA
    8e66361 View commit details
    Browse the repository at this point in the history
  4. fix performance regression in broadcasting in some cases (#33079)

    (cherry picked from commit 56fdb19)
    KristofferC committed Aug 26, 2019
    Configuration menu
    Copy the full SHA
    27a12c8 View commit details
    Browse the repository at this point in the history
  5. Upgrade doc/make.jl to introspect branch/tag names from git… (#32823)

    Upgrade `doc/make.jl` to introspect branch/tag names from git info
    
    (cherry picked from commit ad8cf8d)
    staticfloat authored and KristofferC committed Aug 26, 2019
    Configuration menu
    Copy the full SHA
    c0c8038 View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2019

  1. Update unwind BB binaries for musl libc. (#33032)

    (cherry picked from commit e6dd72f)
    fredrikekre authored and KristofferC committed Aug 27, 2019
    Configuration menu
    Copy the full SHA
    dbcc3dd View commit details
    Browse the repository at this point in the history
  2. fix #32970, at-threads disabled after a loop errors (#33034)

    (cherry picked from commit 5c42f10)
    JeffBezanson authored and KristofferC committed Aug 27, 2019
    Configuration menu
    Copy the full SHA
    9f39733 View commit details
    Browse the repository at this point in the history
  3. error instead of widening index types in sparse (#33083)

    Followup to https://github.com/JuliaLang/julia/pull/31724/files#r317686891; instead of widening the index type dynamically based upon the index vector length, just throw an error in the case where the index type cannot hold all the indices in a CSC format. This previously was an OOB access (and likely segfault) in 1.2, so throwing an error here is not a breaking change -- and throwing an error restores type stability, addressing the performance regression flagged in #32985.
    
    (cherry picked from commit 9725fb4)
    mbauman authored and KristofferC committed Aug 27, 2019
    Configuration menu
    Copy the full SHA
    f69b057 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2019

  1. Fix Float16 conversion from large Float32s (#33084)

    Fixes #33076
    (cherry picked from commit 7bc7904)
    Keno authored and JeffBezanson committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    8e092f7 View commit details
    Browse the repository at this point in the history
  2. fix #33020, check axes for broadcasted assignment from tuples (#33080)

    We avoid computing axes for tuples -- which is a valuable optimization -- but when we explicitly construct a tuple broadcast with axes pre-set (for, e.g., broadcasted assignment), we need to check that those axes are compatible with the ones inside the broadcasted expression before accepting them.
    (cherry picked from commit b5c4e63)
    mbauman authored and JeffBezanson committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    eac42ce View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2019

  1. Workaround for performance penalty of splatting a number (#33108)

    (cherry picked from commit 4bf946a)
    tkf authored and Kristoffer Carlsson committed Sep 3, 2019
    Configuration menu
    Copy the full SHA
    5f214ab View commit details
    Browse the repository at this point in the history
  2. Bump libssh2 to v1.9.0, use MbedTLS on all platforms (#33089)

    * Bump libssh2 to `v1.9.0`, use MbedTLS on all platforms
    
    * Remove patches from source builds
    
    (cherry picked from commit d3250fe)
    staticfloat authored and Kristoffer Carlsson committed Sep 3, 2019
    Configuration menu
    Copy the full SHA
    8c51a52 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2019

  1. ccall: fix vararg count computation (#33123)

    (cherry picked from commit a9d4eac)
    vtjnash authored and Kristoffer Carlsson committed Sep 5, 2019
    Configuration menu
    Copy the full SHA
    46d0822 View commit details
    Browse the repository at this point in the history
  2. Fix which behavior when passed an empty string (#33150)

    * Fix behavior of Sys.which when passed an empty String argument
    
    * Added test to check for fixed Sys.which behavior with empty string input
    
    * Added test to check that Sys.which returns nothing when passed a blank
    string
    
    * Ensure that Sys.which returns a regular file and never a directory
    
    * Moved new Sys.which tests into test/spawn.jl alongside the existing ones
    
    * Remove new which tests from test/sysinfo.jl (they've moved to
    test/spawn.jl)
    
    (cherry picked from commit fa235cc)
    tgflynn authored and Kristoffer Carlsson committed Sep 5, 2019
    Configuration menu
    Copy the full SHA
    1d43fb6 View commit details
    Browse the repository at this point in the history
  3. fix #33135, wrong scope resolution with conflicting sparams and let v…

    …ars (#33145)
    
    The static parameters of an outer scope should not be passed along
    to inner scopes; it instead needs to be handled by the lookup process
    iterating back to enclosing scopes.
    
    (cherry picked from commit 0fc3f03)
    JeffBezanson authored and Kristoffer Carlsson committed Sep 5, 2019
    Configuration menu
    Copy the full SHA
    2410981 View commit details
    Browse the repository at this point in the history
  4. Replace realpath implementation with libuv (#33116)

    
    (cherry picked from commit 921b4f8)
    musm authored and Kristoffer Carlsson committed Sep 5, 2019
    Configuration menu
    Copy the full SHA
    1eacbee View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2019

  1. RNG: fix Sampler selection for GLOBAL_RNG (#33172)

    (cherry picked from commit 4c8cd3b)
    rfourquet authored and Kristoffer Carlsson committed Sep 6, 2019
    Configuration menu
    Copy the full SHA
    3e543a2 View commit details
    Browse the repository at this point in the history
  2. Fix assert_havelock(::ReentrantLock) to assert that the _current-ta…

    …sk_ has the lock. (#33159)
    
    * Fix `assert_havelock(::ReentrantLock)` to assert that the _current-task_ has the lock.
    
    Before this commit, new threads would incorrectly believe that they held
    a lock on a Condition when they actually didn't, and would allow illegal
    operations, e.g. notify:
    
    ```julia
    julia> c = Threads.Condition()
    Base.GenericCondition{ReentrantLock}(Base.InvasiveLinkedList{Task}(nothing, nothing), ReentrantLock(nothing, Base.GenericCondition{Base.Threads.SpinLock}(Base.InvasiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(Base.Threads.Atomic{Int64}(0))), 0))
    
    julia> lock(c)
    
    julia> fetch(Threads.@Spawn Base.assert_havelock(c))  # This should be an ERROR (the new thread doesn't have the lock)
    
    julia> fetch(Threads.@Spawn notify(c))                # This should be an ERROR (the new thread doesn't have the lock)
    0
    
    julia> fetch(Threads.@Spawn wait(c))                  # This error should be caught earlier (in assert_havelock).
    ERROR: TaskFailedException:
    unlock from wrong thread
    Stacktrace:
     [1] error(::String) at ./error.jl:33
     [2] unlockall(::ReentrantLock) at ./lock.jl:121
     [3] wait(::Base.GenericCondition{ReentrantLock}) at ./condition.jl:105
     [4] (::var"##19#20")() at ./threadingconstructs.jl:113
    ```
    
    (The same holds for `@async` as `@spawn`.)
    
    After this change, the assertion works correctly:
    ```
    julia> c = Threads.Condition();
    
    julia> lock(c)
    
    julia> fetch(Threads.@Spawn Base.assert_havelock(c))  # This correctly ERRORs
    ERROR: TaskFailedException:
    concurrency violation detected
    Stacktrace:
     [1] error(::String) at ./error.jl:33
     [2] concurrency_violation() at ./condition.jl:8
     [3] assert_havelock at ./condition.jl:28 [inlined]
     [4] assert_havelock at ./REPL[22]:1 [inlined]
     [5] assert_havelock(::Base.GenericCondition{ReentrantLock}) at ./condition.jl:73
     [6] (::var"##21#22")() at ./threadingconstructs.jl:113
    ```
    
    Also adds unit test that failed before this commit but now succeeds
    
    * Remove default impl of `assert_havelock`; add `::SpinLock` impl
    
    (cherry picked from commit 784eb57)
    NHDaly authored and Kristoffer Carlsson committed Sep 6, 2019
    Configuration menu
    Copy the full SHA
    13bb8cc View commit details
    Browse the repository at this point in the history
  3. Factor-out logic to determine the path of the precompilation cache file.

    (cherry picked from commit 2de79f7)
    maleadt authored and Kristoffer Carlsson committed Sep 6, 2019
    Configuration menu
    Copy the full SHA
    8f662b5 View commit details
    Browse the repository at this point in the history
  4. Revert "Fix repr on Period Types, and DateTime, Date (#30817)"

    This reverts commit a7fabc9.
    Kristoffer Carlsson committed Sep 6, 2019
    Configuration menu
    Copy the full SHA
    a5539a0 View commit details
    Browse the repository at this point in the history
  5. Revert "Fix repr on DateTime (#30200)"

    This reverts commit 8d8b3d9.
    Kristoffer Carlsson committed Sep 6, 2019
    Configuration menu
    Copy the full SHA
    c63f70f View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2019

  1. Bump Pkg for 1.3.0-rc2. (#33180)

    (cherry picked from commit f71f58e)
    fredrikekre authored and KristofferC committed Sep 8, 2019
    Configuration menu
    Copy the full SHA
    965fc11 View commit details
    Browse the repository at this point in the history
  2. Normalize index to CartesianIndex in _modify! (#33187)

    (cherry picked from commit 6a20ad7)
    tkf authored and KristofferC committed Sep 8, 2019
    Configuration menu
    Copy the full SHA
    e69ce0f View commit details
    Browse the repository at this point in the history