-
-
Notifications
You must be signed in to change notification settings - Fork 192
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
Fix empty sysimage test on 1.5.3. Fix app test on nightly #476
Conversation
Codecov Report
@@ Coverage Diff @@
## master #476 +/- ##
==========================================
+ Coverage 77.98% 82.69% +4.70%
==========================================
Files 2 2
Lines 368 393 +25
==========================================
+ Hits 287 325 +38
+ Misses 81 68 -13
Continue to review full report at Codecov.
|
On 1.5.3, the final empty sysimage test fails (which doesn't fail on 1.5.2 or nightly) julia> tmp = mktempdir()
julia> sysimage_path = joinpath(tmp, "empty." * Libdl.dlext)
julia> foreach(x -> touch(joinpath(tmp, x)), ["Project.toml", "Manifest.toml"])
julia> create_sysimage(; sysimage_path=sysimage_path, incremental=false, filter_stdlibs=true, project=tmp)
not filtering stdlibs succeeds julia> create_sysimage(; sysimage_path=sysimage_path, incremental=false, filter_stdlibs=false, project=tmp)
|
420600d
to
fec20d4
Compare
Not much help, but looking at the two segfaults reported in Windows nightly CI at https://github.com/JuliaLang/PackageCompiler.jl/pull/476/checks?check_run_id=1544435610, they both crash in
Could this be related to changes made at JuliaLang/julia#36588 or followup JuliaLang/julia#38160? That is new on 1.6, deals with loading, and has some Windows specific code. Perhaps @staticfloat can tell. Some linking updates were already done in #471. |
It might be related. It depends on what library it's trying to load. Is there a way to either instrument the build or catch it in |
@@ -1,70 +0,0 @@ | |||
# This file is machine-generated - editing it directly is not advised |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was this removed because it wasn't compatible between julia versions?
I'm not sure how to find it out. It is using a custom system image created before that in the test, that holds Example.jl. Couldn't get it to work on a debug build. Did get this, but it doesn't give much extra information:
|
We just merged a PR that changes some areas of this on Windows; can you try again and see if the latest nightly still has issues here? |
I still see the same failure on the latest nightly:
|
@visr can you try with JuliaLang/julia#39009 |
Merging this as a improvement. |
@staticfloat unfortunately that PR doesn't resolve this issue:
|
Can you open a new issue with steps on how to reproduce that? Thanks! |
Tidied up summary:
On 1.5.3
temp_cleanup_purge
was failing to compile at exit during generation of a blank sysimage, so this clears the_atexit
activites during the sysimage generation subprocess. This is more of a bandaid than a fix. I couldn't figure out why it was failingThe checked-in Manifest for the test app was causing stdlib jll problems, so the Manifest has been deleted and an instantiate step has been added to
create_app
. On nightly ubuntu a deadlock was occurring when autoprecomp was enabled after instantiate, but not on macos. I couldn't figure out why, but I disabled autoprecompA windows failure remains during the first app test. I have no clues on that one (apart from it appearing to be another
_atexit
-related issue)