[systemd-devel] journalctl segfault in gcrypt code

Zbigniew Jędrzejewski-Szmek zbyszek at in.waw.pl
Sat Oct 13 08:59:11 PDT 2012


Hi,

I'm having trouble debugging the problem below. Maybe somebody has an
idea...  When I run journalctl, on a specific (large) set of journal
logs, it segfaults. Always in the same place.

Program terminated with signal 11, Segmentation fault.
#0  md_close (a=0x1b01930) at md.c:771
771           wipememory (a->ctx->macpads, 2*(a->ctx->macpads_Bsize));
(gdb) bt
#0  md_close (a=0x1b01930) at md.c:771
#1  0x00000000004127d8 in journal_file_close (f=0x1b01760) at ../src/journal/journal-file.c:109
#2  0x00000000004110a9 in sd_journal_close (j=0x1a7c040) at ../src/journal/sd-journal.c:1620
#3  0x0000000000406d95 in main (argc=1, argv=0x7fff9d481818) at ../src/journal/journalctl.c:988

And a->ctx->macpads is only partially writable and writing to it causes
the segfault.

I can post the set of files which trigger this.

Bisecting show that the problem appears after:
commit f1889c9119bd4de2f4e016a8113a1c1b2f467713 (HEAD, refs/bisect/bad)
Author: Mirco Tischler <mt-ml at gmx.de>
Date:   Sat Sep 22 21:45:30 2012 +0200

    journal: set seal even for readonly journalfiles
    
    journalctl needs to know wether the file has been sealed to
    be able to do verification.

but most likely this problem simply wasn't triggered before, since
read-only journal files were not verified.

Zbyszek


More information about the systemd-devel mailing list