-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Assertion 'head' failed at src/svg.c:79, function svg_header() #20
Comments
Does your rootfs stay read-only forever? If this is a case where you run bootchart just very briefly, and the system just hasn't gotten the rootfs mounted read-write fast enough, you can opt to just make bootchart run longer. You can also opt to output the bootchart to a different location, perhaps one that is read-write. It's not up to systemd-bootchart to mount filesystems read-write - you'll have to provide this to systemd-bootchart in some way yourself. |
No, it is remounted rw by
I suspect the problem is not (only) this, as the userspace boot is just 653ms in this VM:
Moreover, when invoking systemd-bootchart with On boot, after the assert, an empty file can be found in It appears something is causing systemd-bootchart to try to write out the svg file before it has collected any samples, but I don't know how to test this... |
Hmm indeed, the assert fails because nothing has been logged(likely), or the list head pointer went missing (unlikely). I've ran systemd-bootchart on plenty of systems which boot in less than 100ms userspace, so 653ms isn't necessarily too short for bootchart, at all. No idea why this is happening, though. I don't know what mkosi creates either (I'm not a debian user). |
My laptop shows this problem too and it boots from grub to dracut to Fwiw, the assert happens relatively fast on my laptop that is slower to On 5 Oct 2016 1:14 p.m., "Auke Kok" [email protected] wrote:
|
@sofar any ideas where I can place some logging |
@fsateler what sample rate are you using? the default is to log only 25 samples per second - 500 samples results in 20seconds logging total. |
huh, I guess I got confused by the '25.000' formatting of the graph info. Attaching graph now instead of describing. |
OK, there's something going badly wrong. There's only a single sample visible in the graph/data, but the code claims that 500 samples were recorded. That means that for 499 samples, it didn't see any recordable data. I'm wondering if you're lacking some of the required PROCFS kernel options, or that bootchart is in some other way limited from reading the necessary proc files for most of the time. Without a full Maybe try running bootchart manually after it has run (with |
The command works as expected when run from within a running session. I'm going to try to attach an strace to the init bootchart on the next reboot. |
I have been unsuccessful in running bootchart under strace. Any hints on how to do so? |
The most reliable way to do so is to make a special script that mounts your rootfs something like this: untested
|
Nice, now I get the strace. |
what's the content of |
It's all commented out: # This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See bootchart.conf(5) for details.
[Bootchart]
#Samples=500
#Frequency=25
#Relative=no
#Filter=yes
#Output=<folder name, defaults to /run/log>
#Init=/path/to/init-binary
#PlotMemoryUsage=no
#PlotEntropyGraph=no
#ScaleX=100
#ScaleY=20
#ControlGroup=no
#PerCPU=no |
I wonder if 395d046 is possibly related. Can you test this commit? |
I have run this, and on my laptop the assert is gone, but collection still appears to stop after 1 sample. |
Hmm, it appears I uploaded an older bootchart. This is the one. |
I have a reproducible assertion failure with bootchart v231 when invoked as pid1, citing the above message.
The problem seems to only occur when the initrd does not mount / as rw, and it is instead done by systemd-remount-fs.
I have managed to reproduce as follows:
I notice that the errors do not present themselves if the initrd mounts the root filesystem as rw (ie, add rw to the kernel cmdline).
The text was updated successfully, but these errors were encountered: