[systemd-devel] systemd+dbus: system boot stops at terminal login screen sometimes

Chen Jie chenj at lemote.com
Thu Dec 1 05:58:50 PST 2011


Thanks for the reply.

2011/11/30 Michal Schmidt <mschmidt at redhat.com>:
> On 11/30/2011 10:49 AM, Chen Jie wrote:
>> (see the full syslog at
>> http://lists.freedesktop.org/archives/dbus/attachments/20111125/e9c204bb/attachment-0001.obj)
> The kernel modules failing to load indicate a problem with your kernel
> installation. Please sort this problem out first before attempting to debug
> anything else.
I didn't install the modules of matched version for convenient. I've
built-in basic modules, and this problem can be easily reproduced on a
"sanity" kernel (just do a repeat reboot).

I added more logs, and found two paths may cause the
"bus_context_log()" to spend ~25s -- then "Failed to add_match for
'NameOwnerChanged' in bus_init_api():
1. "ExecStartPre=/bin/systemctl stop systemd-kmsg-syslogd.service"
spent too much time in need_daemon_reload(), it encountered timeout at

2. In http://cgit.freedesktop.org/systemd/tree/src/manager.c?id=v29#n2051,
a previous "UNIT_VTABLE(u)->sigchld_event" spent too much time
((1322740559, 397870)->(1322740585,528000))

>> BTW, the gap between systemd-kmsg-syslogd.service stopped and rsyslog
>> not ready will make it lost some log messages.
> No, the socket remains open all the time and the messages will be buffered.
Got it, I begin to remember the socket-activation mechanism. But I do
lost some messages in systemctl(ExecStartPre of rsyslog.service), and
after I adding a log_set_target(LOG_TARGET_KMSG), the messages appear
in syslog. Maybe log_parse_environment() set log target to 'console'?

-- Chen Jie

More information about the systemd-devel mailing list