[systemd-devel] v20: systemd abort in libdbus on unit interface

Andrey Borzenkov arvidjaar at gmail.com
Tue Mar 8 19:58:23 PST 2011


That happened after

{pts/1}% dbus-send --system --print-reply
--dest=org.freedesktop.systemd1
/org/freedesktop/systemd1/unit/rpcbind_2eservice
org.freedesktop.DBus.Properties.Get
string:org.freedesktop.systemd1.Service string:ExecStart
method return sender=:1.0 -> dest=:1.86 reply_serial=2
   variant       array [
         struct {
            string "/etc/rc.d/init.d/rpcbind"
            array [
               string "/etc/rc.d/init.d/rpcbind"
               string "start"
            ]
            boolean false
            uint64 0
            uint64 1299616029468801
            uint32 2590
            int32 1
            int32 0
         }
      ]
{pts/1}% dbus-send --system --print-reply
--dest=org.freedesktop.systemd1
/org/freedesktop/systemd1/unit/nfs_2ecommon_2eservice
org.freedesktop.DBus.Properties.Get
string:org.freedesktop.systemd1.Service string:ExecStart

Error org.freedesktop.DBus.Error.NoReply: Did not receive a reply.
Possible causes include: the remote application did not send a reply,
the message bus security policy blocked the reply, the reply timeout
expired, or the network connection was broken.

{pts/1}%

There were some failed attempts to run dbus before.

systemd[1]: Caught <ABRT>, dumped core as pid 6256.
systemd[1]: Freezing execution.

Core was generated by `/bin/systemd systemd.unit=graphical.target'.
Program terminated with signal 6, Aborted.
#0  0x00007f8966ec81db in raise () from /lib64/libpthread.so.0
(gdb) bt
#0  0x00007f8966ec81db in raise () from /lib64/libpthread.so.0
#1  0x000000000040823b in crash (sig=6) at src/main.c:120
#2  <signal handler called>
#3  0x00007f896613c075 in raise () from /lib64/libc.so.6
#4  0x00007f896613d806 in abort () from /lib64/libc.so.6
#5  0x00007f89672ac8a5 in _dbus_abort () at dbus-sysdeps.c:94
#6  0x00007f89672a37b5 in _dbus_warn_check_failed (
    format=0x7f89672b35d8 "arguments to %s() were incorrect, assertion
\"%s\" failed in file %s line %d.\nThis is normally a bug in some
application using the D-Bus library.\n") at dbus-internals.c:289
#7  0x0000000000441500 in bus_unit_message_handler (connection=0x21b6090,
    message=0x21b6760, data=0x1f3e870) at src/dbus-unit.c:572
#8  0x00007f8967299f11 in _dbus_object_tree_dispatch_and_unlock (
    tree=0x219d660, message=0x21b6760) at dbus-object-tree.c:858
#9  0x00007f896728bca2 in dbus_connection_dispatch (connection=0x21b6090)
    at dbus-connection.c:4688
#10 0x000000000043befa in bus_dispatch (m=0x1f3e870) at src/dbus.c:547
#11 0x000000000041056d in manager_loop (m=0x1f3e870) at src/manager.c:2344
#12 0x0000000000409515 in main (argc=<value optimized out>,
    argv=<value optimized out>) at src/main.c:1229
(gdb) frame 7
#7  0x0000000000441500 in bus_unit_message_handler (connection=0x21b6090,
    message=0x21b6760, data=0x1f3e870) at src/dbus-unit.c:572
572                             dbus_set_error_const(&e,
DBUS_ERROR_UNKNOWN_OBJECT, "Unknown unit");
(gdb) l
567                     if (r == -ENOMEM)
568                             return DBUS_HANDLER_RESULT_NEED_MEMORY;
569
570                     if (r == -ENOENT) {
571                             DBusError e;
572                             dbus_set_error_const(&e,
DBUS_ERROR_UNKNOWN_OBJECT, "Unknown unit");
573                             return bus_send_error_reply(m,
connection, message, &e, r);
574                     }
575
576                     return bus_send_error_reply(m, connection,
message, NULL, r);


More information about the systemd-devel mailing list