Sometimes indicator-datetime is not available in the UI after a reboot

Bug #1425297 reported by Ricardo Salveti
68
This bug affects 14 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Fix Released
High
Charles Kerr
indicator-datetime (Ubuntu)
Fix Released
High
Charles Kerr
indicator-datetime (Ubuntu RTM)
Fix Released
High
Unassigned

Bug Description

current build number: 110
device name: mako
channel: ubuntu-touch/vivid-proposed
last update: 2015-02-24 04:34:45
version version: 110
version ubuntu: 20150224
version device: 20150210
version custom: 20150224

See the attached picture.

The only log entry I have for it:
Indicator-Datetime-Message: static gboolean unity::indicator::datetime::LiveClock::Impl::on_timerfd_cond(gint, GIOCondition, gpointer) triggered at 2015-02-24 20:24:48.605449 by GIOCondition 1, read -1 bytes, found 0 interrupts

Related branches

Revision history for this message
Ricardo Salveti (rsalveti) wrote :
Revision history for this message
Ricardo Salveti (rsalveti) wrote :

Was also able to reproduce this with krillin.

summary: - Sometimes indicator-datetime is not available in the UI when rebooting
- vivid/mako 110
+ Sometimes indicator-datetime is not available in the UI after a reboot
+ (vivid/mako 110)
Revision history for this message
Ricardo Salveti (rsalveti) wrote : Re: Sometimes indicator-datetime is not available in the UI after a reboot (vivid/mako 110)

The process was active and running, just not showing in the UI. After killing the service it worked fine on the following respawn.

Revision history for this message
Ted Gould (ted) wrote :

For a data point, I've seen this a couple times before the timerfd stuff landed. So I'm pretty sure that isn't the culprit.

I've not been able to recreate it reliably. But with U8 in Vivid, I've been rebooting a lot :-)

Changed in indicator-datetime (Ubuntu):
importance: Undecided → High
status: New → Confirmed
summary: Sometimes indicator-datetime is not available in the UI after a reboot
- (vivid/mako 110)
+ (vivid/mako)
Charles Kerr (charlesk)
Changed in indicator-datetime (Ubuntu):
assignee: nobody → Charles Kerr (charlesk)
Revision history for this message
Ricardo Salveti (rsalveti) wrote :

Also happens with RTM.

summary: Sometimes indicator-datetime is not available in the UI after a reboot
- (vivid/mako)
Revision history for this message
Charles Kerr (charlesk) wrote :

From what aacid's said in IRC and in duplicate bug #1421919, indicator-datetime-service is still running but is not responding to dbus-send messages.

If anyone experiences this in the future, a gdb backtrace could be helpful here -- I'm wondering if the code is deadlocked somewhere s.t. it's unable to respond to dbus requests.

Revision history for this message
Charles Kerr (charlesk) wrote :

Also, if you could include the output of

$ gdbus call --session --dest org.freedesktop.DBus --object-path / --method org.freedesktop.DBus.GetNameOwner com.canonical.indicator.datetime

that should at least tell us whether or not indicator-datetime-service reached the point of owning its name on the bus.

Revision history for this message
Charles Kerr (charlesk) wrote :

I was able to reproduce this bug after many, many reboots.

The relevant gdb trace is:

> Thread 2 (Thread 0xb1eff3c0 (LWP 2818)):
> #0 0xb69a84b0 in syscall () from /lib/arm-linux-gnueabihf/libc.so.6
> #1 0xb6b51112 in g_cond_wait () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
> #2 0xb6b3bd0c in g_once_init_enter () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
> #3 0xb6ec5e54 in g_dbus_proxy_get_type () from /usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0
> #4 0xb6ed0b36 in ?? () from /usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>
> Thread 1 (Thread 0xb6f4a000 (LWP 2715)):
> #0 0xb6d88554 in __libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0
> #1 0xb6d861e4 in __lll_lock_wait () from /lib/arm-linux-gnueabihf/libpthread.so.0
> #2 0xb6d829a6 in pthread_mutex_lock () from /lib/arm-linux-gnueabihf/libpthread.so.0
> #3 0xb6be514a in g_type_add_interface_static () from /usr/lib/arm-linux-gnueabihf/libgobject-2.0.so.0
> #4 0xb6ec5ea4 in g_dbus_proxy_get_type () from /usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0
> #5 0x000a5242 in accounts_service_sound_proxy_get_type ()
> #6 0x000a5722 in accounts_service_sound_proxy_new_for_bus ()
> #7 0x00099a1c in unity::indicator::datetime::Snap::Snap(std::shared_ptr<unity::indicator::notifications::Engine> const&, std::shared_ptr<unity::indicator::datetime::Settings const> const&) ()
> #8 0x0005d9da in main ()

This looks like a deadlock issue when a session's first call to g_dbus_proxy_get_type() occurs as two threads are calling it at the same time. This is a variation on sibling bug #1239710, which did the same thing for G_TYPE_DBUS_CONNECTION instead of G_TYPE_DBUS_PROXY, and we can work around it here the same way larsu did for the former in <https://code.launchpad.net/~larsu/indicator-datetime/glib-deadlock-workaround/+merge/191622>.

Upstream glib ticket is at https://bugzilla.gnome.org/show_bug.cgi?id=674885

Changed in indicator-datetime (Ubuntu):
status: Confirmed → In Progress
Changed in indicator-datetime (Ubuntu RTM):
assignee: nobody → Charles Kerr (charlesk)
status: New → In Progress
Charles Kerr (charlesk)
Changed in indicator-datetime (Ubuntu RTM):
importance: Undecided → High
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package indicator-datetime - 13.10.0+15.04.20150301-0ubuntu1

---------------
indicator-datetime (13.10.0+15.04.20150301-0ubuntu1) vivid; urgency=medium

  [ CI Train Bot ]
  * New rebuild forced.

  [ Charles Kerr ]
  * Work around glib's type initialization deadlock. (LP: #1425297)
 -- CI Train Bot <email address hidden> Sun, 01 Mar 2015 00:49:12 +0000

Changed in indicator-datetime (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Charles Kerr (charlesk) wrote :

This bug isn't cleared for rtm-14.09, so closing that Affects here.

Changed in indicator-datetime (Ubuntu RTM):
assignee: Charles Kerr (charlesk) → nobody
status: In Progress → Won't Fix
Changed in canonical-devices-system-image:
importance: Undecided → High
milestone: none → ww13-ota
status: New → In Progress
Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

charles can we land this in rtm please

Changed in indicator-datetime (Ubuntu RTM):
status: Won't Fix → In Progress
Changed in canonical-devices-system-image:
assignee: nobody → Charles Kerr (charlesk)
Revision history for this message
Charles Kerr (charlesk) wrote :

This has been in RTM silo 4 since the 18th and is waiting on QA signoff.

I'll ping QA and see if we can get this landed.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package indicator-datetime - 13.10.0+15.04.20150318~rtm-0ubuntu1

---------------
indicator-datetime (13.10.0+15.04.20150318~rtm-0ubuntu1) 14.09; urgency=medium

  [ Charles Kerr ]
  * Work around glib's type initialization deadlock. (LP: #1425297)
 -- CI Train Bot <email address hidden> Wed, 18 Mar 2015 17:28:20 +0000

Changed in indicator-datetime (Ubuntu RTM):
status: In Progress → Fix Released
Changed in canonical-devices-system-image:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.