deadbeef icon indicating copy to clipboard operation
deadbeef copied to clipboard

1.9.6 sometimes turns into a zombie process after shutting down

Open Kellsen opened this issue 1 year ago • 5 comments

Steps to reproduce the problem

Listen to music, shut down DeadBeef

What's going on? Describe the problem in as much detail as possible.

It sometimes persists as an unkillable zombie. It's not always doing it. Don't know how to deliberately reproduce. Can be killed by killing parent process.

Information about the software:

LMDE 6 "Faye", Cinnamon 6.0.4, Kernel 6.1.0-18-amd64, i5-12600KF, GeForce 3060Ti with 550.67 driver

Deadbeef version: OS: 1.9.6 with a Conky script that shows cover art and progress bar with a "if_running" variable. That's how I can tell because the "if_running" only shows the cover art when "deadbeef-main" is running. So when I end DeadBeef the cover art changes from the art to "Nothing" instead of disappearing.

Kellsen avatar Mar 30 '24 13:03 Kellsen

Just FYI: I will take it as a bug, but I would not be able to reproduce and fix this without exact repro steps.

Oleksiy-Yakovenko avatar Mar 30 '24 13:03 Oleksiy-Yakovenko

Thanks! I keep trying to reproduce it by shutting it down in different states i.e. playing, from paused, from stopped, empty playlist, ... maybe I can "make it" doing it.

Kellsen avatar Mar 30 '24 13:03 Kellsen

Well, for a week now I have been trying to provoke it becoming a zombie process but no luck so far. Is there a log I could generate to see what causes it? I had it happen three times so far but always under completely different circumstances. I'm flabbergasted (what a word :smile: )

Kellsen avatar Apr 08 '24 16:04 Kellsen

To directly answer what you asked: you can use strace or a similar tool to see which processes are spawned by deadbeef, and then you can probably see when those situations occur.

Other than that, I can see 2 situations when zombie process situation can occur:

  1. The parent process which runs Deadbeef doesn't cleanup after itself properly
  2. Deadbeef spawns a process and doesn't cleanup properly

If we assume that the problem is caused by Deadbeef, these are some of the situations that spawn child processes:

  1. Running external encoder programs using Converter plugin
  2. Running shell scripts by using shellexec plugin
  3. Running things like "Open containing folder"
  4. (maybe) running some command line operations

These are the operations that I could remember, but there are probably more. So maybe you could try remembering if you did any of that when zombie process was left over.

If not, strace is probably the logger you're looking for.

Oleksiy-Yakovenko avatar Apr 08 '24 19:04 Oleksiy-Yakovenko

I will give strace a try. However I will be on vacation for 2 weeks and will only take my mobile so no Deadbeef on that...

To the second part: I only run DB "out of the box" with the "official" plugins. And soley pre-converted mp3s, no conversion done in the player. Also no shellexec or the others. So I guess we can rule these out. So to narrow it down it could be the parent process "cinnamon" or, what just came to mind: I run a Conky with a "if_running deadbeef" variable. Maybe that interacts with the terminate signal.

This is my "pstree" call if that helps with anything:

Bildschirmfoto vom 2024-04-10 01-09-53

Kellsen avatar Apr 10 '24 00:04 Kellsen