← Back to team overview

dx-packages team mailing list archive

[Bug 1295237] Re: Sometimes alarms trigger at xx seconds past their time and dismiss on snap doesn't stop the ringing

 

Looks like what's happening here is indicator-datetime is blocking for
25 seconds inside of libnotify's notify_notification_show() call,
waiting for unity-notifications to respond.

> (process:6560): Indicator-Datetime-DEBUG: ClockWatcher 0xbe92d450 calling pulse() due to clock minute_changed
> (process:6560): libnotify-WARNING **: Failed to connect to proxy
> (process:6560): Indicator-Datetime-WARNING **: Unable to show snap decision for 'Alarm': Timeout was reached

Those last three lines of that log are the interesting part. The code
being triggered is this:

====

    auto nn = notify_notification_new(title, body.c_str(), icon_name);
    if (mode == NOTIFY_MODE_SNAP)
    {
        notify_notification_set_hint_string(nn, "x-canonical-snap-decisions", "true");
        notify_notification_set_hint_string(nn, "x-canonical-private-button-tint", "true");
        notify_notification_add_action(nn, "show", _("Show"), on_snap_show, data, nullptr);
        notify_notification_add_action(nn, "dismiss", _("Dismiss"), on_snap_dismiss, data, nullptr);
        g_signal_connect(G_OBJECT(nn), "closed", G_CALLBACK(on_snap_closed), data);
    }
    g_object_set_data_full(G_OBJECT(nn), "snap-data", data, snap_data_destroy_notify);

    GError * error = nullptr;
    notify_notification_show(nn, &error);
    if (error != NULL)
    {
        g_warning("Unable to show snap decision for '%s': %s", body.c_str(), error->message);
        g_error_free(error);
        data->show(data->appointment);
    }

In libnotify, notify_notification_show() calls its helper function
_notify_get_proxy(), which calls g_dbus_proxy_new_for_bus_sync().
g_dbus_connection_send_message_with_reply_unlocked() uses a default
timeout of 25 seconds, which is consistent with what davmor2's seeing:

[11:38:20] <davmor2> charles: it went off at 16:35:26 rather than
16:35:00

Another indication that this is where the 25 seconds went is the error
message returned by gio, which matches the one in the log.
send_message_with_reply_timeout_cb()'s message is "Timeout was reached"

-- 
You received this bug notification because you are a member of DX
Packages, which is subscribed to indicator-datetime in Ubuntu.
Matching subscriptions: dx-packages
https://bugs.launchpad.net/bugs/1295237

Title:
  Sometimes alarms trigger at xx seconds past their time and dismiss on
  snap doesn't stop the ringing

Status in Server and client library for desktop notifications in Unity:
  New
Status in “indicator-datetime” package in Ubuntu:
  Confirmed

Bug description:
  Steps to debug:
  adb shell
  sudo -u phablet -i
  stop indicator-datetime
  G_MESSAGES_DEBUG=all /usr/lib/arm-linux-gnueabihf/indicator-datetime/indicator-datetime-service

  In a separate terminal run:
  adb shell
  powerd-cli active

  Steps to reproduce:
  Set an alarm for 3 minutes time
  Hit the power button
  Repeat until the issue triggers.

  At some point the alarm will sound you hit dismiss in the snap
  decision and the alarm doesn't stop ringing.

  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: indicator-datetime 13.10.0+14.04.20140314.1-0ubuntu1
  Uname: Linux 3.4.0-5-mako armv7l
  ApportVersion: 2.13.3-0ubuntu1
  Architecture: armhf
  Date: Thu Mar 20 16:51:23 2014
  InstallationDate: Installed on 2014-03-20 (0 days ago)
  InstallationMedia: Ubuntu Trusty Tahr (development branch) - armhf (20140320)
  ProcEnviron:
   TERM=linux
   PATH=(custom, no user)
  SourcePackage: indicator-datetime
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/unity-notifications/+bug/1295237/+subscriptions


References