[systemd-bugs] [Bug 74714] New: journalctl crashes when journal is corrupted

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Feb 8 08:58:15 PST 2014


https://bugs.freedesktop.org/show_bug.cgi?id=74714

          Priority: medium
            Bug ID: 74714
          Assignee: systemd-bugs at lists.freedesktop.org
           Summary: journalctl crashes when journal is corrupted
        QA Contact: systemd-bugs at lists.freedesktop.org
          Severity: minor
    Classification: Unclassified
                OS: Linux (All)
          Reporter: janna.martl109 at gmail.com
          Hardware: x86 (IA32)
            Status: NEW
           Version: unspecified
         Component: general
           Product: systemd

Some of my journal files seem to have gotten corrupted as a result of a failing
drive, and journalctl (or 'journalctl -n N' for sufficiently large N) dies with
either a segfault or (more recently) a bus error. I have also sometimes seen
the journalctl process stick around as a D-state process. These crashes happen
immediately after getting an I/O error (see below). This is annoying because
journalctl is one of the tools I'd like to use in troubleshooting hard drive
failure.

Here is a backtrace:

(gdb) bt full
#0  journal_file_move_to_object (f=f at entry=0x969cbc0, type=type at entry=3,
offset=2638264, ret=ret at entry=0xbfc6505c) at src/journal/journal-file.c:434
        r = 1
        t = 0xb2c781b8
        o = 0xb2c781b8
        __PRETTY_FUNCTION__ = "journal_file_move_to_object"
#1  0x0805fb37 in generic_array_get (f=f at entry=0x969cbc0, first=375376,
i=<optimized out>, ret=ret at entry=0xbfc651ac, offset=offset at entry=0xbfc651b0)
    at src/journal/journal-file.c:1443
        o = 0xb2c68b40
        p = <optimized out>
        a = <optimized out>
        t = 3158
        r = <optimized out>
        ci = 0x9687280
        __PRETTY_FUNCTION__ = "generic_array_get"
#2  0x08060269 in journal_file_next_entry (f=f at entry=0x969cbc0,
o=o at entry=0xb2c77c38, p=2636856, direction=direction at entry=DIRECTION_DOWN,
ret=ret at entry=0xbfc651ac,
    offset=offset at entry=0xbfc651b0) at src/journal/journal-file.c:1920
        i = 3181
        r = <optimized out>
        __PRETTY_FUNCTION__ = "journal_file_next_entry"
#3  0x0805855c in next_with_matches (j=j at entry=0x9670850, f=f at entry=0x969cbc0,
direction=direction at entry=DIRECTION_DOWN, ret=ret at entry=0xbfc651ac,
offset=offset at entry=0xbfc651b0)
    at src/journal/sd-journal.c:814
        c = 0xb2c77c38
        cp = 2636856
        __PRETTY_FUNCTION__ = "next_with_matches"
#4  0x0805a744 in next_beyond_location (offset=<synthetic pointer>,
ret=0xbfc651a4, direction=DIRECTION_DOWN, f=0x969cbc0, j=0x9670850) at
src/journal/sd-journal.c:836
        c = 0xb2c77c38
        cp = 2636856
        r = <optimized out>
#5  real_journal_next (j=j at entry=0x9670850,
direction=direction at entry=DIRECTION_DOWN) at src/journal/sd-journal.c:895
        found = <optimized out>
        f = 0x969cbc0
        new_file = 0x969b4e0
        new_offset = 399336
        o = 0xb324f718
        p = <optimized out>
        i = 0x968df04
        r = <optimized out>
        __func__ = "real_journal_next"
#6  0x0805b08e in sd_journal_next (j=0x9670850) at src/journal/sd-journal.c:931
No locals.
#7  0x0804daa1 in main (argc=1, argv=0xbfc65574) at
src/journal/journalctl.c:1573
        flags = <optimized out>
        r = 0
        j = 0x9670850
        need_seek = true
        previous_boot_id = {bytes = "X\357`\266L\307O̟\274\356\232\177\241\b2",
qwords = {14722204839188688728, 3605309071142337695}}
        previous_boot_id_valid = true
        first_line = true
        n_shown = 41695
        ellipsized = false
        __func__ = "main"


and here an I/O error that occured immediately before one of these crashes:

ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata1.00: BMDMA stat 0x5
ata1.00: failed command: READ DMA EXT
ata1.00: cmd 25/00:08:c8:ca:92/00:00:2e:00:00/e0 tag 0 dma 4096 in
         res 51/40:05:cb:ca:92/40:00:2e:00:00/ee Emask 0x9 (media error)
ata1.00: status: { DRDY ERR }
ata1.00: error: { UNC }
ata1.00: configured for UDMA/100
sd 0:0:0:0: [sda] Unhandled sense code
sd 0:0:0:0: [sda]
mResult: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda]
mSense Key : 0x3 [current] [descriptor]
mDescriptor sense data with sense descriptors (in hex):
        72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
        2e 92 ca cb
sd 0:0:0:0: [sda] 
mASC=0x11 ASCQ=0x4
sd 0:0:0:0: [sda] CDB:
mcdb[0]=0x28: 28 00 2e 92 ca c8 00 00 08 00
end_request: I/O error, dev sda, sector 781372107
ata1: EH complete

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-bugs/attachments/20140208/f97f3c96/attachment.html>


More information about the systemd-bugs mailing list