You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Here, the parent-child relationships between processes have formed a cycle: (gimp) → (is a child of) → (debugserver) → (is a child of) → (lldb) → (is a child of) → gimp (!) → …
So, my guess is that htop probably expects (very reasonably) the data from the OS to form a tree.
The only reason I file this at all is just that, naturally, I opened htop because I was having difficulties killing GIMP, and wanted to investigate. Since htop is used in debugging contexts, IDK if it wants to handle this little bit of insanity better that hanging. Something like an immediate abort of htop with the diagnostic of something like,
htop: aborted: the processes on your system do not form a tree: <PIDs that form a cycle>
Would be completely reasonable, and at least instantly give the user a direction that, hey, it's not htop's fault.
Unless, like, macOS doesn't enforce that PIDs form a tree, completely contrary to my expectations of how a *nix works.
(Don't ask me how I managed to form a process cycle. I have no idea! I was running GIMP, and a piece of it's UI had become disconnected from it and was just hanging out on my screen, of course floating on top of all other UI, and being in the way. I tried to force kill it, that didn't work, I `kill -9`'d it — _that_ didn't work — I noticed `lldb` running and figured that it was probably just trying to core GIMP or something, didn't want that, tried to kill `lldb` and now we're here.)
Imma reboot now.
The text was updated successfully, but these errors were encountered:
Some OS re-parent a process when attaching a debugger to an process. Thus it's quite normal behaviour to see this kind of loops (IIRC Linux is one of the OSes that doesn't re-parent things, thus there you won't see this issue).
Nonetheless, htop should handle this more gracefully and for example not hang … ;-)
I was attempting to debug some stability problems w/ my system (macOS, Monterey, 12.4).
Pressing
F5
hangshtop
currently on this laptop.It is almost certainly because of this, and honestly I'm hesitant to call this a bug in
htop
at all, given that the following is Grade A Insane:Here, the parent-child relationships between processes have formed a cycle:
(gimp)
→ (is a child of) →(debugserver)
→ (is a child of) →(lldb)
→ (is a child of) →gimp
(!) → …So, my guess is that
htop
probably expects (very reasonably) the data from the OS to form a tree.The only reason I file this at all is just that, naturally, I opened
htop
because I was having difficulties killing GIMP, and wanted to investigate. Sincehtop
is used in debugging contexts, IDK if it wants to handle this little bit of insanity better that hanging. Something like an immediate abort ofhtop
with the diagnostic of something like,Would be completely reasonable, and at least instantly give the user a direction that, hey, it's not
htop
's fault.Unless, like, macOS doesn't enforce that PIDs form a tree, completely contrary to my expectations of how a *nix works.
(Don't ask me how I managed to form a process cycle. I have no idea! I was running GIMP, and a piece of it's UI had become disconnected from it and was just hanging out on my screen, of course floating on top of all other UI, and being in the way. I tried to force kill it, that didn't work, I `kill -9`'d it — _that_ didn't work — I noticed `lldb` running and figured that it was probably just trying to core GIMP or something, didn't want that, tried to kill `lldb` and now we're here.)Imma reboot now.
The text was updated successfully, but these errors were encountered: