Comment 8 for bug 1172752

Revision history for this message
Veli-Matti Lintu (vmlintu) wrote :

The fix in comment #7 fixes the exiting problem, but it seems to cause another problem.

I just did testing with the patches applied and when lightdm starts normally, these two child processes are alive when greeter is shown:

root 3049 3021 0 11:14 pts/1 00:00:00 lightdm --session-child 16 19
root 3115 3021 0 11:14 pts/1 00:00:00 lightdm --session-child 12 21

When the signal-fix patch catches the problem and prevents the parent from killing itself, the child stays alive, so there are now three session-child processes running when greeter is shown. Here pid 2939 is the first killed greeter child that gets killed before exec() and that didn't get cleaned away with the signal-fix patch. This happens without me touching the keyboard or the mouse.

root 2874 2846 0 11:13 pts/1 00:00:00 lightdm --session-child 16 19
root 2939 2846 0 11:13 pts/1 00:00:00 lightdm --session-child 12 19
root 2940 2846 0 11:13 pts/1 00:00:00 lightdm --session-child 12 21

So it seems to fix the worst symptom, but because the first spawned greeter child does not die when the race occurs, it stays alive and the number of lightdm --session-child processes just keeps growing.