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

Backports 1.5.4 #39351

Merged
merged 18 commits into from
Feb 25, 2021
Merged

Backports 1.5.4 #39351

merged 18 commits into from
Feb 25, 2021

Conversation

vchuravy
Copy link
Member

@vchuravy vchuravy commented Jan 21, 2021

Backported PRs:

TODO:

NHDaly and others added 6 commits January 21, 2021 10:36
…(v)` (#38399)

This fixes a segfault introduced in #38049.

(cherry picked from commit b602577)
* update to utf8proc 2.6

* another test

(cherry picked from commit 6fbee29)
(cherry picked from commit 2362037)
* added automatic keyword assignment support to @test macro

* added some tests for test macro using atol keyword

* x = a.x syntax support added

* Update stdlib/Test/src/Test.jl

Co-authored-by: Simeon Schaub <simeondavidschaub99@gmail.com>

Co-authored-by: Simeon Schaub <simeondavidschaub99@gmail.com>
(cherry picked from commit 6c42190)
Report the top of the exception stack when there's no handler.

-------

Backport #38679 into release-1.5
@NHDaly
Copy link
Member

NHDaly commented Jan 21, 2021

Note: Backport of #37896 depends on first backporting #37557.

Thankfully #37896 should be very simple and apply almost cleanly after first doing #37557.

@giordano
Copy link
Contributor

#38753 is already on this branch, isn't it?

@Sacha0
Copy link
Member

Sacha0 commented Jan 21, 2021

#38753 is already on this branch, isn't it?

Yes, it's (i.e. #38487, manually backported in #38753) already on release-1.5. Backporter probably attempted to sweep it in due to the backport-1.5 label on #38753. (I just removed the label and will update the OP.)

@Sacha0
Copy link
Member

Sacha0 commented Jan 21, 2021

Similarly #37613 made it into 1.5.3, so I've dropped it from the OP and removed the backport-1.5 label from #37613.

@Sacha0
Copy link
Member

Sacha0 commented Jan 21, 2021

A backport of #37594 made it into 1.5.3; updating the OP accordingly and removing the backport-1.5 label from that PR :).

@Sacha0
Copy link
Member

Sacha0 commented Jan 21, 2021

Added a commit for #37645 and dropped the backport-1.5 tag.

@Sacha0
Copy link
Member

Sacha0 commented Jan 21, 2021

Added a commit for #38402 and dropped the backport-1.5 tag.

@Sacha0
Copy link
Member

Sacha0 commented Jan 21, 2021

Cleaned up a few more items in the OP that made it into 1.5.3. Not too many commits left :).

return Bottom
end
if s0 == Type{Module} || s0 == Type{Union{}} || isa(s0, Conditional)
if (s0 isa Type && s0 == Type{Union{}}) || isa(s0, Conditional)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Sacha0 - i also did this backport, here (oops, we collided. I'm happy to drop that now that you've done it 😊):
backports-release-1.5...NHDaly:nhd-backports-release-1.5-manual

And i wasn't sure whether to pull over the isa Type change as well. Technically that was added in dcc0696, as part of (#36596), so i wasn't sure whether to backport it as well. Supposedly it's just a code cleanup, but i'm not sure if it holds in isolation from the rest of the commit.

I think the closest transformation keeping in spirit of the change we're backporting from (#37645) would be just to drop the Module part, since that's all they did in the original PR? Like this, perhaps?:

Suggested change
if (s0 isa Type && s0 == Type{Union{}}) || isa(s0, Conditional)
if s0 == Type{Union{}} || isa(s0, Conditional)

PROBABLY fine either way, but since i see you made a different decision than I made when attempting the manual bisect, I wanted to just bring this up! :)

Copy link
Member

@NHDaly NHDaly Jan 21, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wondered the same, but err'd to adding the isa Type guard as == Type{Union{}} cannot be true unless the guard is true, and if the latter is true then the former must be true as well, so this transformation should be functionally identical modulo some additional safety with the guard (against == Type{Union{}} throwing something for non-Type s0s)? Either way is fine by me though :).

vtjnash and others added 7 commits January 21, 2021 22:44
The fields are not accessible, so it is awkward to report they exist.

Fixes #37630
Caused issues starting with #34804
)

An undef field should always be treated equal to another undef field of the same type
since there's no other way for the user to tell the difference between these.
These could previously cause inconsistent comparison results or crashes.

* Mark these types as `haspadding` so that they'll not hit the `memcmp` fast path.
* Make sure `jl_egal` and `jl_object_id_` doesn't read bits fields in undef inline immutable field
* Use `emit_getfield_knownidx` in `emit_bits_compare` so that the check can be done more easily

    Handle union fields of the same type in `emit_f_isa` to avoid regression.

* Allow input to `emit_f_isa` to be NULL and lazily emit NULL check if necessary

(cherry picked from commit e84fec4)
While this takes a non-trivial amount of space in the system image
(about the same as putting the Method object here, but less than putting
the full edge to the MethodInstance), it is necessary to avoid the
regression #36462 caused by 2e37784.

(cherry picked from commit 42a1d34)
@vchuravy
Copy link
Member Author

@nanosoldier runtests(ALL, vs = ":release-1.5")

@vchuravy
Copy link
Member Author

@nanosoldier runbenchmarks(ALL, vs = ":release-1.5")

@nanosoldier
Copy link
Collaborator

Something went wrong when running your job:

NanosoldierError: failed to run benchmarks against primary commit: failed process: Process(`/home/nanosoldier/workdir/jl_g4mXAp/julia -e 'VERSION >= v"0.7.0-DEV.3656" && using Pkg; Pkg.update()'`, ProcessExited(1)) [1]

Logs and partial data can be found here
cc @christopher-dG

@nanosoldier
Copy link
Collaborator

Your package evaluation job has completed - possible new issues were detected. A full report can be found here. cc @maleadt

@JeffBezanson
Copy link
Sponsor Member

Needs this change:

--- a/base/lock.jl
+++ b/base/lock.jl
@@ -87,7 +87,7 @@ function lock(rl::ReentrantLock)
         if rl.reentrancy_cnt == 0
             rl.locked_by = t
             rl.reentrancy_cnt = 1
-            GC.enable_finalizers()
+            GC.disable_finalizers()
             break
         elseif t === notnothing(rl.locked_by)

@vchuravy
Copy link
Member Author

@nanosoldier runtests(ALL, vs = ":release-1.5")

@nanosoldier
Copy link
Collaborator

Your package evaluation job has completed - possible new issues were detected. A full report can be found here. cc @maleadt

bors bot added a commit to CliMA/ClimateMachine.jl that referenced this pull request Jan 26, 2021
1951: build sysimg but don't fail on error, disable running tests with sysimg until 1.5.4 bugfix r=jakebolewski a=jakebolewski

### Description

Due to bugs in the julia 1.5.(2,3) runtime, the CI sysimg build is currently broken.  Disable until Julia v1.5.4 with included bugfixes is released JuliaLang/julia#39351.




Co-authored-by: Jake Bolewski <jakebolewski@gmail.com>
ararslan and others added 2 commits February 19, 2021 14:55
This a component of #36929 which happens to fix building on FreeBSD 11.

Co-authored-by: Keno Fischer <keno@juliacomputing.com>
This fixes the build on FreeBSD 11 with `LLVM_ASSERTIONS=1`.

Co-Authored-By: Valentin Churavy <v.churavy@gmail.com>
@ararslan ararslan merged commit 4b0a7e3 into release-1.5 Feb 25, 2021
@ararslan ararslan deleted the backports-release-1.5 branch February 25, 2021 21:50
@Sacha0
Copy link
Member

Sacha0 commented Feb 26, 2021

Thanks folks! ❤️

vchuravy pushed a commit to JuliaLang/Test.jl that referenced this pull request Oct 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.