| Summary: | reexec.sh and login-timeout.sh fail due to a race condition | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Portable OpenSSH | Reporter: | Petr Lautrbach <plautrba> | ||||
| Component: | Regression tests | Assignee: | Assigned to nobody <unassigned-bugs> | ||||
| Status: | CLOSED FIXED | ||||||
| Severity: | enhancement | CC: | djm | ||||
| Priority: | P5 | ||||||
| Version: | 6.7p1 | ||||||
| Hardware: | Other | ||||||
| OS: | Linux | ||||||
| Attachments: |
|
||||||
the tests have had a stop_sshd function that waits for sshd to actually exit since 2016. closing resolved bugs as of 8.6p1 release |
Created attachment 2499 [details] fix race condition between kill sshd and start_sshd run test reexec.sh ... test config passing FATAL: no sshd running on port 4242 Makefile:168: recipe for target 't-exec' failed make[1]: *** [t-exec] Error 1 make[1]: Leaving directory '/home/plautrba/devel/src/bachradsusi.github/openssh-portable.git/regress' Makefile:483: recipe for target 'tests' failed make: *** [tests] Error 2 The problem is in the race between $SUDO kill `$SUDO cat $PIDFILE` and following start_sshd While sshd is still runnning and closing opened socket after it got a signal, the test tries to run a new sshd instance which cannot bind to not-yet-released socket. The attached patch tries to fix it.