[Bug 741590] New: systemd: socket unit crashing
https://bugzilla.novell.com/show_bug.cgi?id=741590 https://bugzilla.novell.com/show_bug.cgi?id=741590#c0 Summary: systemd: socket unit crashing Classification: openSUSE Product: openSUSE 12.1 Version: Final Platform: x86-64 OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: Basesystem AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: conrad-novell.com@quisquis.de QAContact: qa@suse.de Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.14 (KHTML, like Gecko) Chrome/18.0.972.0 Safari/535.14 SUSE/18.0.972.0 I've created a socket-activated service with Accept=true. Everything's been working nicely for a couple of days, until today the socket unit started crashing. /var/log/messages says: Jan 16 14:05:18 b071 systemd[1]: netqmail-smtpd.socket failed to queue socket startup job: Transport endpoint is not connected Jan 16 14:05:18 b071 systemd[1]: Unit netqmail-smtpd.socket entered failed state. After this message, the socket is indeed down: b071:/var/spool/qmail-queue # systemctl status netqmail-smtpd.socket netqmail-smtpd.socket - Network socket for incoming SMTP connections Loaded: loaded (/etc/systemd/system/netqmail-smtpd.socket; enabled) Active: failed since Mon, 16 Jan 2012 14:05:18 +0100; 33s ago Accepted: 1493; Connected: 0 CGroup: name=systemd:/system/netqmail-smtpd.socket I've managed to capture tcp packets a couple of minutes later: 14:11:55.826550 IP 80.46.66.38.25924 > 62.141.42.71.25: Flags [S], seq 3295731215, win 65535, options [mss 1400,nop,nop,sackOK], length 0 14:11:55.826615 IP 62.141.42.71.25 > 80.46.66.38.25924: Flags [S.], seq 2159025160, ack 3295731216, win 14600, options [mss 1460,nop,nop,sackOK], length 0 14:11:55.884948 IP 80.46.66.38.25924 > 62.141.42.71.25: Flags [.], ack 1, win 65535, length 0 14:11:55.886595 IP 80.46.66.38.25924 > 62.141.42.71.25: Flags [R.], seq 1, ack 1, win 0, length 0 which corresponds to: Jan 16 14:11:55 b071 systemd[1]: netqmail-smtpd.socket failed to queue socket startup job: Transport endpoint is not connected Jan 16 14:11:55 b071 systemd[1]: Unit netqmail-smtpd.socket entered failed state. Apparently, the remote side has closed the connection immediately. Probably some kind of probe. Looking at http://cgit.freedesktop.org/systemd/systemd/tree/src/socket.c I'd guess that getpeername() in instance_from_socket() returns ENOTCONN because at that time the remote side has already closed the connection. IMO it's a really bad idea to shut down the listening socket when an error regarding the accept()ed socket occurs. systemd need to be much more robust here. Reproducible: Always Steps to Reproduce: 1. 2. 3. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=741590
https://bugzilla.novell.com/show_bug.cgi?id=741590#c1
Frederic Crozat
https://bugzilla.novell.com/show_bug.cgi?id=741590
https://bugzilla.novell.com/show_bug.cgi?id=741590#c
zj jia
https://bugzilla.novell.com/show_bug.cgi?id=741590
https://bugzilla.novell.com/show_bug.cgi?id=741590#c2
--- Comment #2 from Peter Conrad
https://bugzilla.novell.com/show_bug.cgi?id=741590
https://bugzilla.novell.com/show_bug.cgi?id=741590#c3
Frederic Crozat
https://bugzilla.novell.com/show_bug.cgi?id=741590
https://bugzilla.novell.com/show_bug.cgi?id=741590#c4
Frederic Crozat
https://bugzilla.novell.com/show_bug.cgi?id=741590
https://bugzilla.novell.com/show_bug.cgi?id=741590#c
Frederic Crozat
https://bugzilla.novell.com/show_bug.cgi?id=741590
https://bugzilla.novell.com/show_bug.cgi?id=741590#c5
Peter Conrad
https://bugzilla.novell.com/show_bug.cgi?id=741590
https://bugzilla.novell.com/show_bug.cgi?id=741590#c6
--- Comment #6 from Frederic Crozat
https://bugzilla.novell.com/show_bug.cgi?id=741590
https://bugzilla.novell.com/show_bug.cgi?id=741590#c7
--- Comment #7 from Frederic Crozat
participants (1)
-
bugzilla_noreply@novell.com