Mailinglist Archive: opensuse-bugs (4214 mails)

< Previous Next >
[Bug 741590] New: systemd: socket unit crashing
  • From: bugzilla_noreply@xxxxxxxxxx
  • Date: Mon, 16 Jan 2012 13:43:03 +0000
  • Message-id: <bug-741590-21960@http.bugzilla.novell.com/>

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@xxxxxxxxxxxxxxxxxxxxxx
ReportedBy: conrad-novell.com@xxxxxxxxxxx
QAContact: qa@xxxxxxx
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.

< Previous Next >