-
-
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.6.3 #41554
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 <vtjnash@gmail.com> (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)
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-actions
team as the code owners for GitHub Actions workflow files #38783 - Set the@JuliaLang/github-actions
team as the code owners for GitHub Actions workflow filescoverage-linux64
pipeline to Buildkite #41238 - Transition thecoverage-linux64
pipeline to Buildkitellvm-passes
rootfs image #41544 - CI: Add more Debian packages to thellvm-passes
rootfs imagetag_name
#41549 - CI (Buildkite): rootfs_images: allow user to override the default value oftag_name
get-task-allow
entitlement #41559 - Fixget-task-allow
entitlementtag_name
#41571 - CI (rootfs_utils): Require that the user explicitly specify thetag_name
--force-overwrite
command-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-overwrite
command-line flag)upload_rootfs_image
function #41610 - CI (rootfs images): fix a bug in theupload_rootfs_image
function@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 reportssanitizers
builders (e.g.asan
) to the experimental pipeline #41606 - CI (Buildkite): move thesanitizers
builders (e.g.asan
) to the experimental pipelinedeleteat!
#41646 - fix memory corruption indeleteat!
.buildkite/rootfs_images
directory #41648 - CI: delete the.buildkite/rootfs_images
directoryUSE_BINARYBUILDER_CSL=0
when local CSL is new #41645 - [build] Automatically setUSE_BINARYBUILDER_CSL=0
when local CSL is newfile.jl
tests to allow for bothEPERM
andEINVAL
in the non-root CHOWN tests #41682 - Update thefile.jl
tests to allow for bothEPERM
andEINVAL
in the non-root CHOWN testspackage_linux64
anddoctest
builders #41541 - CI (Buildkite): Add thepackage_linux64
anddoctest
builderssignature_file
instead ofsignature
#41706 - CI (Buildkite): for the signed pipeline test, usesignature_file
instead ofsignature
isempty
in Main #41656)platform_linux
jobs, after building Julia, make sure that the working directory is clean #41796 - CI (Buildkite): on theplatform_linux
jobs, after building Julia, make sure that the working directory is cleanpull_request_target
event instead of thepull_request
event #41814 - CI (Buildbot): for the "Create Pending Statuses" GitHub Actions workflow, use thepull_request_target
event instead of thepull_request
eventtester_
jobs #41822 - CI (Buildbot, GHA): in the "Statuses" workflow, we only need to create pending (yellow) statuses for thetester_
jobsmacosaarch64
andmusl64
statuses #41824 - CI (Buildbot, GHA): in the "Statuses" workflow, remove themacosaarch64
andmusl64
statusestester_linuxppc64le
status #41831 - CI (Buildbot, GHA): in the "Statuses" workflow, remove thetester_linuxppc64le
statustester_linuxarmv7l
status #41832 - CI (Buildbot, GHA): In the "Statuses" workflow, remove thetester_linuxarmv7l
statuspermissions
key in the workflow file for the "Statuses" workflow #41851 - CI (Buildbot, GHA): Simplify thepermissions
key in the workflow file for the "Statuses" workflow@view
:begin
indexing vs.replace_ref_begin_end!
#41630)llvmpasses
: use the latest rootfs image #41864 - CI (Buildkite):llvmpasses
: use the latest rootfs imagebase-buildkite-docs
repository #41956 - README: add a link to thebase-buildkite-docs
repositoryabstract_iteration
#41839 - Fix a precision issue inabstract_iteration
sum()
andprod()
for tuples #41510 - Fixsum()
andprod()
for tuplesConditional
inPartialStruct
#42091 - inference: fix inference: need to invalidate staleConditional
wrapped inPartialStruct
#42090, make sure not to wrapConditional
inPartialStruct
Non-merged PRs with backport label:
package_linux
andtester_linux
for more Linux architectures #41707 - CI (Buildkite): Addpackage_linux
andtester_linux
for more Linux architectures