Closed farblos closed 3 weeks ago
Hi,
Thanks. I'm already aware of this. It's because of PID wrap-arounds.
Thanks for your quick reply. Out of curiosity:
What do you mean by "PID wrap-arounds"? That the PIDs generated by the kernel overflow? On my system I have:
[~]$ cat /proc/sys/kernel/pid_max
4194304
And from the logs:
Jul 23 10:24:48 host01 fvwm3[1889]: [1721723088.973442] CMD_Echo: StartFunction
Jul 23 10:24:48 host01 fvwm3[1971]: FvwmMFL is already running
I'd think that FVWM had PID 1889, while FvwmMFL had PID 1971?
Which doesn't seem to match a "classical PID wrap-around" as described e.g. here.
Update: Fixed typo.
Hi @farblos
Hopefully, PR #1057 fixes this issue for you.
Thanks a lot. Unfortunately, I hit this issue exactly once in 2 years of using FVWM 3 and I have not been able to reproduce it artificially, either. So the most reasonable thing seemed to be a review, which I did. Feel free to close this issue at your discretion.
Yea, with rolling PIDs can be a bit random if it happens or not, but a better locking mechanism can still help out.
Thanks for reporting your bug here! The following template will help with giving as much information as possible so that it's easier to diagnose and fix.
Upfront Information
Please provide the following information by running the command and providing the output.
fvwm3 --version
)Debian testing
uname -sp
)Expected Behaviour
Module FvwmMFL gets started during FVWM startup. My startup function:
Actual Behaviour
Module FvwmMFL did not start. This one time, I have never seen that previously. And I could not reproduce it, so I can only provide post-mortem information.
In my journal I see these messages here (note that FVWM runs in debug mode and logs to the journal):
So the module thinks it is already running. Its pid file at that time looked like this:
What I do not understand:
I also tried restarting FVWM (from within FVWM), but that didn't help since the newly started FVWM process obviously inherits the PID of the old one:
Only after manually removing the PID file and then restarting FVWM would the FvwmMFL module start.
Some funny race condition during creation of the PID file? No further ideas here. If you don't have any ideas, either, feel free to close this issue as "not reproducible" ...
Thanks!