poelzi / ulatencyd

daemon to minimize latency on a linux system using cgroups
GNU General Public License v3.0
243 stars 30 forks source link

ulatencyd crashed with signal 5 in u_dbus_setup() #27

Closed blueyed closed 12 years ago

blueyed commented 13 years ago

ulatency crashed, and I reported it via Apport in the Launchpad bugtracker: https://bugs.launchpad.net/ubuntu/+source/ulatencyd/+bug/883977

ProblemType: Crash DistroRelease: Ubuntu 11.10 Package: ulatencyd 0.5.0-3 ProcVersionSignature: Ubuntu 3.0.0-13.21-generic-pae 3.0.6 Uname: Linux 3.0.0-13-generic-pae i686 ApportVersion: 1.23-0ubuntu4 Architecture: i386 Date: Sun Oct 30 21:53:41 2011 ExecutablePath: /usr/sbin/ulatencyd InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1) ProcCmdline: /usr/sbin/ulatencyd -d -f /var/log/ulatencyd ProcEnviron: PATH=(custom, no user) SHELL=/bin/sh Signal: 5 SourcePackage: ulatencyd StacktraceTop: u_dbus_setup () core_init () main () Title: ulatencyd crashed with signal 5 in u_dbus_setup() UpgradeStatus: Upgraded to oneiric on 2011-09-29 (31 days ago) UserGroups:

StacktraceTop:

#0  g_logv (log_domain=0x0, log_level=<optimized out>, format=0x8065c20 "daemon already running, can't request: %s", args1=0xbfcbd17c "wY\006\b") at /build/buildd/glib2.0-2.30.0/./glib/gmessages.c:577
    depth = 0
    domain = 0x0
    data = 0x0
    log_func = 0x8052e90 <filter_log_handler>
    domain_fatal_mask = <optimized out>
    masquerade_fatal = <optimized out>
    test_level = <optimized out>
    was_fatal = 0
    was_recursion = 0
    i = <optimized out>
#1  0xb75c10d3 in g_log (log_domain=0x0, log_level=G_LOG_LEVEL_ERROR, format=0x8065c20 "daemon already running, can't request: %s") at /build/buildd/glib2.0-2.30.0/./glib/gmessages.c:591
    args = 0xbfcbd17c "wY\006\b"
#2  0x08056f09 in u_dbus_setup () at /build/buildd/ulatencyd-0.5.0/src/dbus.c:767
    utable = {unregister_function = 0, message_function = 0x8055340 <dbus_user_handler>, dbus_internal_pad1 = 0, dbus_internal_pad2 = 0, dbus_internal_pad3 = 0, dbus_internal_pad4 = 0}
    stable = {unregister_function = 0, message_function = 0x80560e0 <dbus_system_handler>, dbus_internal_pad1 = 0, dbus_internal_pad2 = 0, dbus_internal_pad3 = 0, dbus_internal_pad4 = 0}
    error = {name = 0x0, message = 0x0, dummy1 = 1, dummy2 = 0, dummy3 = 0, dummy4 = 0, dummy5 = 0, padding1 = 0xb75e2810}
    c = 0x97562f8
#3  0x08052961 in core_init () at /build/buildd/ulatencyd-0.5.0/src/core.c:1807
    No locals.
#4  0x0804efda in main (argc=1, argv=0xbfcbd284) at /build/buildd/ulatencyd-0.5.0/src/ulatencyd.c:553
    error = 0x0
    context = <optimized out>
    pid = <optimized out>
    sid = <optimized out>
    el = <optimized out>
poelzi commented 13 years ago

i don't think it's a bug at all. the error happens when the daemon can't bind to dbus for the requested name and fails therefor. i just added a more aggresive binding to dbus with retries and sleeps. this should help when the daemon is restarted so dbus got enough time to notice the old deamon missing. i think that logrotate caused the daemon died, but i could not reporduce it yet.

blueyed commented 12 years ago

Thanks for fixing it.

For the record, it is this commit: c5c675fa247333380073b7a4a5878ab83f9537bc