JuliaLang / julia

The Julia Programming Language
https://julialang.org/
MIT License
45.57k stars 5.47k forks source link

Interrupting precompilation doesn't always kill the pidfile refresh loop #51901

Open IanButterworth opened 11 months ago

IanButterworth commented 11 months ago

I interrupted Pkg.precompile and tried again and it hung in this state.

Screenshot 2023-10-27 at 11 13 13 AM

Inspecting the lock file in another terminal shows that its mtime is being updated in the above state

ian@Ians-MBP julia % stat -x /Users/ian/.julia/compiled/v1.11/Rmath_jll/JC1Xk_Hcxxt.ji.pidfile
  File: "/Users/ian/.julia/compiled/v1.11/Rmath_jll/JC1Xk_Hcxxt.ji.pidfile"
  Size: 16           FileType: Regular File
  Mode: (0444/-r--r--r--)         Uid: (  501/     ian)  Gid: (   20/   staff)
Device: 1,15   Inode: 24835470    Links: 1
Access: Fri Oct 27 11:17:09 2023
Modify: Fri Oct 27 11:17:09 2023
Change: Fri Oct 27 11:17:09 2023
 Birth: Fri Oct 27 11:11:34 2023
ian@Ians-MBP julia % stat -x /Users/ian/.julia/compiled/v1.11/Rmath_jll/JC1Xk_Hcxxt.ji.pidfile
  File: "/Users/ian/.julia/compiled/v1.11/Rmath_jll/JC1Xk_Hcxxt.ji.pidfile"
  Size: 16           FileType: Regular File
  Mode: (0444/-r--r--r--)         Uid: (  501/     ian)  Gid: (   20/   staff)
Device: 1,15   Inode: 24835470    Links: 1
Access: Fri Oct 27 11:17:14 2023
Modify: Fri Oct 27 11:17:14 2023
Change: Fri Oct 27 11:17:14 2023
 Birth: Fri Oct 27 11:11:34 2023

It seems like the pidfile refresh loop isn't always interrupted.

Notes:

vtjnash commented 11 months ago

Duplicate of https://github.com/JuliaLang/Pkg.jl/issues/2648?

IanButterworth commented 11 months ago

I don't think so because there's no fatal: error thrown and no exception handler available. in the parent process (nor reported from the the Rmath_jll worker). The main Julia process remains alive.