-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Backports for julia-1.6.3 #41554
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.6.3 #41554
Conversation
e133d5c to
36169a9
Compare
|
cc: @tkf @staticfloat @DilumAluthge the Asan toolchain seems to be broken here, can someone take a look? |
|
#41530 requires libblastrampoline but 1.6 doesn't have it. So, I guess it's actually not appropriate for backport? Not sure if it's related to the error per se, though. |
388aa28 to
c370d11
Compare
|
I would just go ahead and backport all of the CI PRs. They tend to build on one another, and I think it will be easiest to just backport them all. One of the things that PR #41606 (which is labeled for backport) does is that it only runs |
|
Alternatively, if you don't backport #41530 to 1.6, that's also completely fine. There's no problem if the Buildkite configuration files on So either way is fine (backport #41530 or don't backport #41530). |
|
@nanosoldier |
0fb9425 to
7ecd8dd
Compare
|
Your package evaluation job has completed - possible new issues were detected. A full report can be found here. |
|
@nanosoldier |
|
Your package evaluation job has completed - possible new issues were detected. A full report can be found here. |
|
Jeez, that's a lot of CI commits. |
|
Yeah, as we move to Buildkite, all of the config will live in the Julia repo (in contrast to Buildbot, in which the config lived in an external repo). There will continue to be a high volume of Buildkite commits for a while, but I do expect that once the migration is completely done, the volume will slow down. I'll work on fixing the broken |
|
#41774 just needs to be cherry-picked here, since it is already the backport commit |
|
@DilumAluthge any idea why the CI commits fail to backport? Are we missing a label on something that then causes merge conflicts? |
That seems like the most likely culprit. |
|
|
Okay, I think I found the missing PRs - they were the PRs that modified the |
|
Great, that made the bunch of them go through. |
|
@nanosoldier |
Recall the reproducer from the issue:
```
julia> f() = (if nothing; end; unsafe_load(Ptr{Int}(0)))
f (generic function with 1 method)
julia> f()
Unreachable reached at 0x7fb33bb50090
signal (4): Illegal instruction
in expression starting at REPL[13]:1
unsafe_load at ./pointer.jl:105 [inlined]
unsafe_load at ./pointer.jl:105 [inlined]
```
There were actually two places where we were dropping the
GotoIfNot, one in type annotation after inference, one in
SSA conversion. The one in SSA conversion was structural:
When both branches target the same jump destination, the
GotoIfNot would be dropped. This was fine in general, except
that as shown above, GotoIfNot can actually itself have
a side effect, namely throwing a type error if the condition
is not a boolean. Thus in order to actually drop the node
we need to prove that the error check does not fire.
The reason we want to drop the GotoIfNot node here is
that IRCode has an invariant that every basic block is
in the predecessor list only once (otherwise PhiNodes
would have to carry extra state regarding which branch
they refer to).
To fix this, insert an `Expr(:call, typecheck, _, Bool)`
when dropping the GotoIfNot. We do lose the ability to
distinguish the GotoIfNot from literal typechecks as
a result, but at the moment they generate identical
errors. If we ever wanted to dinstinguish them, we could
create another typecheck intrinsic that throws a different
error or use an approach like #41994.
(cherry picked from commit 2445000)
When CFunction closures are created an extra argument is added to the function signature for holding the closure. Make sure that the parameter attributes on already existing parameters are not shifted when adding that parameter. (cherry picked from commit 08f3422)
If the first loop exits in the first iteration, the `statetype` is still `Bottom`. In that case, the new `stateordonet` needs to be determined with the two-arg version of `iterate` again. Explicitly test that inference produces a sound (and reasonably precise) result when splatting an iterator (in this case a long range) that allows constant-propagation up to the `MAX_TUPLE_SPLAT` limit. Fixes #41022 Co-authored-by: Jameson Nash <[email protected]> (cherry picked from commit 92337b5)
(cherry picked from commit 4598966)
7b28c71 to
3c2ee37
Compare
|
@nanosoldier |
|
Your package evaluation job has completed - possible new issues were detected. A full report can be found here. |
|
@nanosoldier |
|
Your package evaluation job has completed - possible new issues were detected. A full report can be found here. |
|
SIMD is just a consequence of #41510 and the SIMD tests should be fixed. ApproxFunBase should be looked at. Edit: Bisected to #41510 StochasticRounding passes locally StrideArraysCore should be looked at. Edit: Also #41510. VideoIO Conclusion, dropping #41510 from backports. |
Create THIRDPARTY.md to hold license information for all code not covered by the main MIT license. This format allows for automated scanning and categorization of Julia's license. The licenses were broken up this way because this is the format that many automated license scanners (including GitHub). (cherry picked from commit 161e384)
If the unionall bounds are inconsistent with the wrapper's bound, avoid throwing due to an impossible type instantiation. (cherry picked from commit b5b0684)
We will not use the duplicate, so best to try to avoid loading it. (cherry picked from commit c53669f)
…42110) cherry-picked from #42081 Co-Authored-By: Jameson Nash <[email protected]>
4651333 to
19e66b3
Compare
|
@nanosoldier |
|
Your package evaluation job has completed - possible new issues were detected. A full report can be found here. |
|
@nanosoldier |
|
Something went wrong when running your job: Unfortunately, the logs could not be uploaded. |
I've uploaded the report manually (without the data file) to |
Backported PRs:
@JuliaLang/github-actionsteam as the code owners for GitHub Actions workflow files #38783 - Set the@JuliaLang/github-actionsteam as the code owners for GitHub Actions workflow filescoverage-linux64pipeline to Buildkite #41238 - Transition thecoverage-linux64pipeline to Buildkitellvm-passesrootfs image #41544 - CI: Add more Debian packages to thellvm-passesrootfs imagetag_name#41549 - CI (Buildkite): rootfs_images: allow user to override the default value oftag_nameget-task-allowentitlement #41559 - Fixget-task-allowentitlementtag_name#41571 - CI (rootfs_utils): Require that the user explicitly specify thetag_name--force-overwritecommand-line flag) #41591 - CI (rootfs images): when uploading a tarball, don't allow it to override an existing tarball (unless the user provides the--force-overwritecommand-line flag)upload_rootfs_imagefunction #41610 - CI (rootfs images): fix a bug in theupload_rootfs_imagefunction@time's main timing block. Fixes >100% compilation time reports #41286 - Move compile timing to inside@time's main timing block. Fixes >100% compilation time reportssanitizersbuilders (e.g.asan) to the experimental pipeline #41606 - CI (Buildkite): move thesanitizersbuilders (e.g.asan) to the experimental pipelinedeleteat!#41646 - fix memory corruption indeleteat!.buildkite/rootfs_imagesdirectory #41648 - CI: delete the.buildkite/rootfs_imagesdirectoryUSE_BINARYBUILDER_CSL=0when local CSL is new #41645 - [build] Automatically setUSE_BINARYBUILDER_CSL=0when local CSL is newfile.jltests to allow for bothEPERMandEINVALin the non-root CHOWN tests #41682 - Update thefile.jltests to allow for bothEPERMandEINVALin the non-root CHOWN testspackage_linux64anddoctestbuilders #41541 - CI (Buildkite): Add thepackage_linux64anddoctestbuilderssignature_fileinstead ofsignature#41706 - CI (Buildkite): for the signed pipeline test, usesignature_fileinstead ofsignatureisemptyin Main #41656)platform_linuxjobs, after building Julia, make sure that the working directory is clean #41796 - CI (Buildkite): on theplatform_linuxjobs, after building Julia, make sure that the working directory is cleanpull_request_targetevent instead of thepull_requestevent #41814 - CI (Buildbot): for the "Create Pending Statuses" GitHub Actions workflow, use thepull_request_targetevent instead of thepull_requesteventtester_jobs #41822 - CI (Buildbot, GHA): in the "Statuses" workflow, we only need to create pending (yellow) statuses for thetester_jobsmacosaarch64andmusl64statuses #41824 - CI (Buildbot, GHA): in the "Statuses" workflow, remove themacosaarch64andmusl64statusestester_linuxppc64lestatus #41831 - CI (Buildbot, GHA): in the "Statuses" workflow, remove thetester_linuxppc64lestatustester_linuxarmv7lstatus #41832 - CI (Buildbot, GHA): In the "Statuses" workflow, remove thetester_linuxarmv7lstatuspermissionskey in the workflow file for the "Statuses" workflow #41851 - CI (Buildbot, GHA): Simplify thepermissionskey in the workflow file for the "Statuses" workflow@view:beginindexing vs.replace_ref_begin_end!#41630)llvmpasses: use the latest rootfs image #41864 - CI (Buildkite):llvmpasses: use the latest rootfs imagebase-buildkite-docsrepository #41956 - README: add a link to thebase-buildkite-docsrepositoryabstract_iteration#41839 - Fix a precision issue inabstract_iterationsum()andprod()for tuples #41510 - Fixsum()andprod()for tuplesConditionalinPartialStruct#42091 - inference: fix inference: need to invalidate staleConditionalwrapped inPartialStruct#42090, make sure not to wrapConditionalinPartialStructNon-merged PRs with backport label:
package_linuxandtester_linuxfor more Linux architectures #41707 - CI (Buildkite): Addpackage_linuxandtester_linuxfor more Linux architectures