The automated test suite does not clean up when it's finished
When the test suite is run a socket is created in /tmp/.X11-unix/X[0-9], but this socket is not cleaned up upon $feature’s completion. This prevents the test suite from starting on the 10th run. Stracing the process shows
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 13072
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fbcf606a9d0) = 13073
stat("/tmp/.X10-lock", 0x7fffac0e62b0) = -1 ENOENT (No such file or directory)
stat("/tmp/.X11-unix/X10", 0x7fffac0e62b0) = -1 ENOENT (No such file or directory)
stat("/usr/local/sbin/sleep", 0x7fffac0e6630) = -1 ENOENT (No such file or directory)
stat("/usr/local/bin/sleep", 0x7fffac0e6630) = -1 ENOENT (No such file or directory)
stat("/usr/sbin/sleep", 0x7fffac0e6630) = -1 ENOENT (No such file or directory)
stat("/usr/bin/sleep", 0x7fffac0e6630) = -1 ENOENT (No such file or directory)
stat("/sbin/sleep", 0x7fffac0e6630) = -1 ENOENT (No such file or directory)
stat("/bin/sleep", {st_mode=S_IFREG|0755, st_size=31136, ...}) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fbcf606a9d0) = 13074
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 13073
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 13073
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 13074
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 13074
stat("/tmp/.X10-lock", 0x7fffac0e62b0) = -1 ENOENT (No such file or directory)
stat("/tmp/.X11-unix/X10", 0x7fffac0e62b0) = -1 ENOENT (No such file or directory)
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fbcf606a9d0) = 13075
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 13075
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 13075
stat("/tmp/.X10-lock", 0x7fffac0e62b0) = -1 ENOENT (No such file or directory)
stat("/tmp/.X11-unix/X10", 0x7fffac0e62b0) = -1 ENOENT (No such file or directory)
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fbcf606a9d0) = 13076
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 13076
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 13076
stat("/tmp/.X10-lock", 0x7fffac0e62b0) = -1 ENOENT (No such file or directory)
stat("/tmp/.X11-unix/X10", 0x7fffac0e62b0) = -1 ENOENT (No such file or directory)
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fbcf606a9d0) = 13077
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 13077
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 13077
stat("/tmp/.X10-lock", 0x7fffac0e62b0) = -1 ENOENT (No such file or directory)
stat("/tmp/.X11-unix/X10", 0x7fffac0e62b0) = -1 ENOENT (No such file or directory)
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fbcf606a9d0) = 13078
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 13078
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 13078
stat("/tmp/.X10-lock", 0x7fffac0e62b0) = -1 ENOENT (No such file or directory)
stat("/tmp/.X11-unix/X10", 0x7fffac0e62b0) = -1 ENOENT (No such file or directory)
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fbcf606a9d0) = 13079
# ls -l /tmp/.X11-unix/
total 0
srwxrwxrwx 1 root root 0 Jan 15 17:56 X0
srwxrwxrwx 1 root root 0 Jan 15 20:30 X1
srwxrwxrwx 1 root root 0 Jan 15 20:49 X2
srwxrwxrwx 1 root root 0 Jan 15 21:04 X3
srwxrwxrwx 1 root root 0 Jan 15 21:26 X4
srwxrwxrwx 1 root root 0 Jan 15 23:43 X5
srwxrwxrwx 1 root root 0 Jan 16 00:36 X6
srwxrwxrwx 1 root root 0 Jan 16 02:30 X7
srwxrwxrwx 1 root root 0 Jan 16 08:33 X8
srwxrwxrwx 1 root root 0 Jan 16 10:02 X9
For now, I can work around this by clearing out /tmp/.X11-unix/ in my test VM.
Feature Branch: bugfix/8707-properly-clean-up-xvfb
Parent Task: #8539 (closed)
Related issues
- Related to #8947 (closed)
- Related to #9139 (closed)
Original created by @kytv on 8707 (Redmine)