Commits on Nov 15, 2016
  1. Merge pull request #75 from mephi42/master

    Ignore SIGHUP when starting as PID 1
    committed on GitHub Nov 15, 2016
  2. Ignore SIGHUP when starting as PID 1

    On my CentOS 7 box, after systemd pid 1 takes over, it does
      ioctl("/dev/tty", TIOCNOTTY);
    which, according to
    sends SIGHUP to its process group.
    bootchart-collector and wait_boot happen to be in this group,
    and are thus killed, causing data collection to stop.
    mephi42 committed Nov 15, 2016
Commits on Jul 1, 2016
  1. Merge pull request #73 from arucard21/master

    Configuration update for KDE's Plasma 5 (using sddm)
    committed on GitHub Jul 1, 2016
Commits on Jun 30, 2016
  1. Add sddm-helper to EXIT_PROC

    Added the sddm-helper to the processes we have to wait for. This is needed for KDE's Plasma 5, which uses sddm instead of kdm.
    arucard21 committed on GitHub Jun 30, 2016
Commits on Apr 21, 2016
  1. Merge pull request #72 from vapier/master

    include sys/sysmacros.h for major/minor/makedev
    committed Apr 21, 2016
  2. include sys/sysmacros.h for major/minor/makedev

    These funcs are defined in the sys/sysmacros.h header, not sys/types.h.
    Linux C libraries are updating to drop the implicit include, so we need
    to include it explicitly.
    vapier committed Apr 21, 2016
Commits on Feb 9, 2016
  1. Merge pull request #71 from kratz00/no_default_for_bootlog_dest

    Fixed: Missing default value for BOOTLOG_DEST
    committed Feb 9, 2016
  2. Fixed: Missing default value for BOOTLOG_DEST

    BUILDLOG_DEST seems to be a typo or mix-up which was introduced with 281d1df
    kratz00 committed Feb 9, 2016
Commits on Feb 8, 2016
  1. collector: define _DEFAULT_SOURCE in common header

    Fixes gcc-6 warning:
    /usr/include/features.h:148:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
     # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
    committed Feb 8, 2016
Commits on Feb 2, 2016
  1. Merge pull request #70 from mephi42/master

    Explicitly unblock SIGTERM
    committed Feb 2, 2016
  2. Explicitly unblock SIGTERM

    On my CentOS 7 box, when started using "init=/sbin/bootchartd",
    bootchart-collector has SIGTERM blocked, preventing
    "bootchartd stop" from working.
    mephi42 committed Feb 2, 2016
Commits on Dec 28, 2015
  1. Merge pull request #69 from mephi42/master

    Fix memory corruption due to insufficient PidMap growth
    committed Dec 28, 2015
Commits on Dec 17, 2015
  1. Bump version to 0.14.8

    committed Dec 17, 2015
Commits on Nov 22, 2015
  1. collector: add missing header for waitpid

    After 26589bb
    committed Nov 22, 2015
Commits on Nov 20, 2015
  1. Update NEWS

    committed Nov 20, 2015
Commits on Nov 19, 2015
  1. Update NEWS

    committed Nov 19, 2015
  2. collector: Fix dump_buffers on sparc

    The problem is two-fold:
    - On Sparc, heap addresses have their MSB set. For example:
        [~]# cat /proc/self/maps
        00100000-0010a000 r-xp 00000000 fd:00 7340064                            /bin/cat
        0020a000-0020c000 rwxp 0000a000 fd:00 7340064                            /bin/cat
        0020c000-0022e000 rwxp 00000000 00:00 0                                  [heap]
        7feffe4e000-7feffe70000 rw-p 00000000 00:00 0                            [stack]
        fffffc0100000000-fffffc0100002000 rw-p 00000000 00:00 0
        fffffc0100004000-fffffc0100006000 rw-p 00000000 00:00 0
        fffffc010013c000-fffffc010013e000 r--p 00000000 00:00 0                  [vvar]
        fffffc010013e000-fffffc0100140000 r-xp 00000000 00:00 0                  [vdso]
        fffffc0100140000-fffffc01002c4000 r-xp 00000000 fd:00 5505039            /lib64/
        fffffc01002c4000-fffffc01003c4000 ---p 00184000 fd:00 5505039            /lib64/
        fffffc01003c4000-fffffc01003c8000 r--p 00184000 fd:00 5505039            /lib64/
        fffffc01003c8000-fffffc01003ce000 rwxp 00188000 fd:00 5505039            /lib64/
        fffffc01003ce000-fffffc01003d2000 rwxp 00000000 00:00 0
        fffffc0102fac000-fffffc0102fd0000 r-xp 00000000 fd:00 5505236            /lib64/
        fffffc01030d0000-fffffc01030d2000 r--p 00024000 fd:00 5505236            /lib64/
        fffffc01030d2000-fffffc01030d4000 rwxp 00026000 fd:00 5505236            /lib64/
        fffffc01030d4000-fffffc0108f6c000 r--p 00000000 fd:00 13126552           /usr/lib/locale/locale-archive
    - Linux's pread() implementation has a limitation: it treats the offset
    argument as a signed offset, hence it can't access the top half of the
    memory space:
        SYSCALL_DEFINE(pread64)(unsigned int fd, char __user *buf,
                                size_t count, loff_t pos)
                struct file *file;
                ssize_t ret = -EBADF;
                int fput_needed;
                if (pos < 0)
                        return -EINVAL;
                file = fget_light(fd, &fput_needed);
                if (file) {
                        ret = -ESPIPE;
                        if (file->f_mode & FMODE_PREAD)
                                ret = vfs_read(file, buf, count, &pos);
                        fput_light(file, fput_needed);
                return ret;
    So the problem with bootchart-collector using pread() to read from
    /dev/{pid}/mem becomes obvious: the first call to pread() successfully
    reads from the stack, but subsequent calls fail reading from the heap
    and return value EINVAL.
    The fix is to replace the call to pread() by two system calls: lseek()
    which can handle unsigned offsets and read().
    There is no real performance degradation and it is portable.
    eric-saintetienne committed with Nov 18, 2015
  3. Merge pull request #68 from mephi42/master

    Minor collector fixes
    committed Nov 19, 2015
Commits on Nov 18, 2015
  1. Call waitpid() after ptrace(PTRACE_ATTACH)

    man ptrace says:
            Attach to the process specified in pid, making it a tracee
            of the calling process. The tracee is sent a SIGSTOP, but
            will not necessarily have stopped by the completion of this
            call; use waitpid(2) to wait for the tracee to stop.
    This means there is a race condition: for a short time after
    ptrace(PTRACE_ATTACH) we cannot access memory of traced process.
    mephi42 committed Nov 18, 2015
  2. Log ptrace(PTRACE_ATTACH) errno

    mephi42 committed Nov 18, 2015
  3. Add missing newlines to a couple logs

    Prettify the following messages:
    [bootchart] collector/collector.c:843 bootchart-collector started as pid 27094 with 2 args:
    [bootchart] collector/collector.c:845  '--dump'
    [bootchart] collector/collector.c:845  '/tmp/bootchart.6A6NkRzcbV'
    [bootchart] collector/dump.c:173 reading 1023 chunks (of 1024) ...
    [bootchart] collector/dump.c:189 wrote 130745 kb
    mephi42 committed Nov 18, 2015
  4. Make open_pid() detach on error

    mephi42 committed Nov 18, 2015
  5. Fix "value computed is not used" warning on gcc 4.9.3

        In file included from collector/common.h:36:0,
                         from collector/collector.c:33:
        collector/collector.c: In function ‘sanity_check_initrd’:
        collector/collector.c:565:15: warning: value computed is not used [-Wunused-value]
          assert (NULL != fgets (buffer, sizeof (buffer), cmdline));
        collector/macro.h:25:23: note: in definition of macro ‘assert’
         #define assert(expr)  expr
    mephi42 committed Nov 18, 2015
  6. Merge pull request #65 from mephi42/master

    Add fluxbox to EXIT_PROC
    committed Nov 18, 2015
Commits on Nov 7, 2014
  1. pybootchartgui: _parse_proc_ps_log rewrite with iterator

    Iterators use much less memory, so larger bootcharts
    may be processed without triggering OOM killer and
    massive swapping.
    On a (big) 11MB tarball this will have a performance penalty
    of about ~10% but consuming half the memory.
    23.50user 1.20system 0:24.97elapsed 98%CPU (0avgtext+0avgdata 770048maxresident)k
    26.78user 0.44system 0:27.24elapsed 99%CPU (0avgtext+0avgdata 321192maxresident)k
    abone28 committed with Nov 4, 2014
Commits on Sep 30, 2014
  1. Bump version to 0.14.7

    committed Sep 30, 2014
Commits on Sep 5, 2014
  1. Merge pull request #58 from Max-E/master

    Use /bin/sh instead of /bin/bash in bootchartd script
    committed Sep 5, 2014
Commits on Sep 3, 2014
  1. no bashism

    No bashism in, so use /bin/sh.
    Upstream-Status: Pending
    Signed-off-by: Robert Yang <>
    Signed-off-by: Max Eliaser <>
    robertlinux committed with Max Eliaser Aug 14, 2014
Commits on Aug 14, 2014
  1. pybootchartgui: Add missing data file for tests

    Missing from 92b695e
    committed Aug 14, 2014
Commits on Aug 11, 2014
  1. Update Michael's email

    committed Aug 11, 2014