Bug 4863 - dhcpd dies after a few hours with SIGPIPE, systemd-journal segfaulted.
Summary: dhcpd dies after a few hours with SIGPIPE, systemd-journal segfaulted.
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: x86_64 Linux
Priority: Normal critical
Target Milestone: ---
Assignee: Mageia Bug Squad
QA Contact:
URL:
Whiteboard:
Keywords: NEEDINFO
Depends on:
Blocks: 2120
  Show dependency treegraph
 
Reported: 2012-03-10 06:54 CET by Richard Neill
Modified: 2012-04-04 12:45 CEST (History)
5 users (show)

See Also:
Source RPM: systemd
CVE:
Status comment:


Attachments
Backtrace from core dump (2.05 KB, text/plain)
2012-03-10 17:58 CET, Richard Neill
Details
Backtrace (1.26 KB, text/plain)
2012-03-11 19:34 CET, Richard Neill
Details

Description Richard Neill 2012-03-10 06:54:10 CET
Description of problem:

DHCPD dies after a few hours. There is nothing in the logs to suggest why, but it appears to have received a sigpipe. It looks like the cause of this is that journald dumped core, thereby making dhcpd die.

I've just installed Mageia beta 2 on a new PC yesterday, updated everything (so running current Cauldron as of a few hours ago), and done some basic config with MCC to set up network connection sharing. It was working for a few hours, then dhcpd died.


"service dhcpd status" shows the following:

------
dhcpd.service - DHCPv4 Server Daemon
          Loaded: loaded (/lib/systemd/system/dhcpd.service; enabled)
          Active: inactive (dead) since Sat, 10 Mar 2012 04:35:21 +0000; 1h 8min ago
        Main PID: 22837 (code=killed, signal=PIPE)
          CGroup: name=systemd:/system/dhcpd.service
------


In dmesg, I see:
-----------------
systemd-journal[335]: segfault at 7f3d322655e8 ip 000000000040d99c sp 00007fffec036cd0 error 4 in systemd-journald[400000+1e000]
systemd-coredump[21878]: Detected coredump of the journal daemon itself, diverting coredump to /var/lib/systemd/coredump/.
ata1.00: configured for UDMA/133
ata1: EH complete
ata2.00: configured for UDMA/133
ata2: EH complete
EXT4-fs (sda1): re-mounted. Opts: acl,commit=0
EXT4-fs (sdb1): re-mounted. Opts: acl,commit=0
EXT4-fs (sda6): re-mounted. Opts: acl,commit=0
systemd-journal[21880]: segfault at 7fc343292448 ip 000000000040d99c sp 00007fff4676ed80 error 4 in systemd-journald[400000+1e000]
systemd-coredump[23321]: Detected coredump of the journal daemon itself, diverting coredump to /var/lib/systemd/coredump/.
------------------


Dhcpd can be restarted successfully.

I have a coredump file, 2.1MB. If anyone wants it I can upload it. I've saved a copy of /var/log/*, so ask if you want more info.
Comment 1 Manuel Hiebel 2012-03-10 16:03:00 CET
Hi, thanks for reporting this bug.
As there is no maintainer for this package I added the committers in CC.

(Please set the status to 'assigned' if you are working on it)

CC: (none) => dmorganec, guillomovitch, lists.jjorge, thierry.vignaud
Blocks: (none) => 2120
Source RPM: lib64systemd-journal0-40-3.mga2 => dhcp

Comment 2 Thierry Vignaud 2012-03-10 17:41:31 CET
Please:
1) install gdb systemd-debug (you'll need to enable the Core Release Debug media),
2) run "gdb systemd-journal /path/to/your/core/file"
3) type "bt"
4) copy the backtrace printed by GDB in some text file you'll attach (not paste) to this bug report

Keywords: (none) => NEEDINFO
Source RPM: dhcp => systemd

Comment 3 Richard Neill 2012-03-10 17:58:28 CET
Created attachment 1713 [details]
Backtrace from core dump

As requested. Let me know if there is anything else I can do.
Comment 4 Thierry Vignaud 2012-03-10 18:05:20 CET
You need to install systemd-debug (and glibc-debug and maybe dbus-debug) else the trace is useless
Thierry Vignaud 2012-03-10 18:05:27 CET

Attachment 1713 is obsolete: 0 => 1

Comment 5 Richard Neill 2012-03-10 18:37:50 CET
I did install systemd-debug already. I've just installed glibc-debug and debus-debug, and repeated your instructions. I still get the same output. What should I do?
Comment 6 Richard Neill 2012-03-11 19:34:38 CET
Created attachment 1725 [details]
Backtrace

I realise why gdb had trouble: systemd-journald isn't in $PATH. Trying the following is more helpful:
  gdb /lib/systemd/systemd-journald  core.systemd-journald

But I get this error:
 the debug information found in "/usr/lib/debug//lib/systemd/systemd-journald.debug" does not match "/lib/systemd/systemd-journald" (CRC mismatch).

which suggests that in the 8 hours between my experiencing the crash and downloading the debug packages, the version of systemd-debug has changed.
I currently have:
  systemd-debug-43-4.mga2  and systemd-40-3.mga2  installed.

So, is it possible to fetch the older debug package? Or alternatively, can we assume that the newer version of systemd contains a fix for this isssue?
Comment 7 Colin Guthrie 2012-03-24 22:30:16 CET
Is this still a problem with systemd-44?

CC: (none) => mageia

Comment 8 Colin Guthrie 2012-04-04 12:34:11 CEST
Ping?
Comment 9 Richard Neill 2012-04-04 12:45:19 CEST
Seems to be OK now. It's run for a while without trouble :-)
I'll make this as resolved fixed. Thanks for your help.

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.