-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
move out Profile from the sysimage #49132
Conversation
Profile has stuff precompiled in the repl precompiler |
Why does julia/contrib/generate_precompile.jl Line 240 in db7971f
have to run in the REPL? |
I guess it doesn't. |
I moved the precompile stuff from |
Need to figure out how this will work with the hotkeys for profiling a running application. |
fab49f4
to
1847fba
Compare
Yeah. It would be great to figure out how to maintain the lack of requirement to explicitly load Options I can see:
|
Well, it is slower than just starting julia itself so I don't think that is an option. |
Ok, I found and pushed an alternative fix which is to move the listener into Base and load Profile there when needed |
I'm still hitting precompilation
|
It seemed to work for me.
These files were created by the pkgimage builder make step. |
I didn't cleanall before build. It could be a make issue |
Wait, but neither of those cache files are in your julia dir, they're in your depot. Shouldn't they be bundled with Julia? |
I think only when you are making a release they get bundled by setting the depot. But not sure.. |
After a cleanall build
Also, all of the This is intel MacOS if that's relevant cc. @vchuravy |
These are marker files. It's a make technique when you don't know the output file of a rule. I set JULIA_DEPOT_PATH := |
Great. That fixed it
Very minor but perhaps the |
Something's not quite right, perhaps with the make setup? After the last commit and a
So it's not even trying to find cachefiles in |
That seems right? We start at the lowest depot and then go up from there? What happens if you remove |
Oh.. so if it finds something it can't use in a depot, it doesn't search in deeper depots? |
That didn't work
|
Fixing that missing comma didn't fix it
|
Works well for me now. The ctrl-t profile prints quickly |
Good to go? Or should I move out the Bugfixes into a separate PR? |
Or codesigning. It might be that the error happens on the same machine, it's just that locally I only |
Btw, the same checksum failure also happens for the other non-sysimage stdlibs like SparseArrays and they end up being re-precompiled |
Ok, so as expected ignoring the checksum failure for pkgimage stdlibs on macos works, so the files are good, just changed somehow. How can we debug this further? |
The mtimes of the dylibs correspond to codesigning, so that must be it.
@staticfloat is it known that codesigning modifies dylibs? If so do we need to just overwrite checksums at the end of the |
Yes, that's the whole point of codesigning; to modify the dylibs by adding a cryptographic signature to them. I thought the |
The |
I had thought codesigning saved its information elsewhere |
I see. Then yes, we need a convenient way to update the checksums inside of the |
439719c
to
e104895
Compare
Now that #48545 is merged, this should just work. Codesigning will still happen for .dmg distribution but that happens after tests and will be handled here JuliaCI/julia-buildkite#292 |
e104895
to
ca6fe29
Compare
That was wrong, it needed JuliaCI/julia-buildkite#292 which is now merged, so I updated here |
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.
Should be good to go now
Loads fast anyway (edit: a bit slower when adding the precompile stuff):