Bug 12531

Summary: notification events don't produce any sound or vibration
Product: [Maemo Official Platform] System software Reporter: Leandro Lucarella <llucax>
Component: generalAssignee: unassigned <nobody>
Status: RESOLVED INVALID QA Contact: system-software-general-bugs
Severity: major    
Priority: Unspecified CC: andre_klapper
Version: 5.0:(20.2010.36-2)   
Target Milestone: ---   
Hardware: N900   
OS: Maemo   

Description Leandro Lucarella (reporter) 2011-12-14 01:00:33 UTC
EXACT STEPS LEADING TO PROBLEM: 
Just set any alarm that uses alarmd (calendar, clock alarms or any program
using the alarmd API)

EXPECTED OUTCOME: 
The alarm is triggered (an UI popup is shown), alarm sound is played and the
phone vibrates

ACTUAL OUTCOME: 
The alarm is triggered (an UI popup is shown), but no sound or vibration

REPRODUCIBILITY: 
always

EXTRA SOFTWARE INSTALLED: 
some

OTHER COMMENTS: 

One day my phone got restarted for unknown reasons (looks like it was under
heavy load). I remember being using the GPS Map, probably hearing some music
too.
After that my alarms don't produce any sound and the phone doesn't vibrates.

I looked in messages in forums and in the bug tracker but couldn't find anyone
with the same problem. I found some people having problems with older versions
or with problems with some alarms or the snooze. My problem is reproducible
always, for old alarms/calendar events, for new. ALWAYS.

I tried to look for documentation to debug the problem, since I'm a developer
myself, but I couldn't succeed either. I just found the architecture of alarmd
here:
http://maemo.org/api_refs/5.0/beta/libalarm/

According to this, I guess is a systemui problem rather than an alarmd problem,
since it looks like alarmd has nothing to do with sounds or vibration. I don't
know if systemui is supposed to play the events himself but in that case is not
commented to pulse, according to pactl list. I don't know where vibration comes
from though. I also noticed that monitoring the dbus events, that it looks like
the alarm is being stopped immediately after being fired.

Here is a dbug-monitor transcription of the alarm events:

ALARM IS SET UP
===============

method call sender=:1.4 -> dest=com.nokia.clock.status_plugin serial=40
path=/com/nokia/clock/status_plugin; interface=com.nokia.clock.status_plugin;
member=clock_sa_alarm_set
signal sender=:1.4 -> dest=(null destination) serial=41 path=/com/nokia/alarmd;
interface=com.nokia.alarmd; member=queue_status_ind
   int32 0
   int32 2147483647
   int32 1323817020
   int32 1323820800
error sender=:1.30 -> dest=:1.4
error_name=org.freedesktop.DBus.Error.UnknownMethod reply_serial=40
   string "Method "clock_sa_alarm_set" with signature "" on interface
"com.nokia.clock.status_plugin" doesn't exist
"



ALARM IS FIRED
==============

method call sender=:1.4 -> dest=com.nokia.clock.status_plugin serial=42
path=/com/nokia/clock/status_plugin; interface=com.nokia.clock.status_plugin;
member=clock_sa_no_alarms
signal sender=:1.4 -> dest=(null destination) serial=43 path=/com/nokia/alarmd;
interface=com.nokia.alarmd; member=queue_status_ind
   int32 1
   int32 2147483647
   int32 2147483647
   int32 1323820800
error sender=:1.30 -> dest=:1.4
error_name=org.freedesktop.DBus.Error.UnknownMethod reply_serial=42
   string "Method "clock_sa_no_alarms" with signature "" on interface
"com.nokia.clock.status_plugin" doesn't exist
"
method call sender=:1.5 -> dest=org.freedesktop.Notifications serial=35
path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications;
member=CloseNotification
   uint32 0
error sender=:1.31 -> dest=:1.5 error_name=org.freedesktop.DBus.GLib.ErrorError
reply_serial=35
   string "Method invoked for CloseNotification returned FALSE but did not set
error"
method call sender=:1.5 -> dest=org.freedesktop.Notifications serial=36
path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications;
member=Notify
   string "notify-clock-alarm"
   uint32 0
   string "/usr/share/icons/hicolor/10x10/hildon/qgn_list_smiley_angry.png"
   string "alarm"
   string ""
   array [
   ]
   array [
      dict entry(
         string "vibra"
         variant             string "PatternIncomingCall"
      )
      dict entry(
         string "alarm-type"
         variant             string "clock"
      )
      dict entry(
         string "sound-file"
         variant             string "/usr/share/sounds/ui-clock_alarm_2.aac"
      )
      dict entry(
         string "category"
         variant             string "alarm-event"
      )
      dict entry(
         string "volume"
         variant             int32 100
      )
   ]
   int32 0
method return sender=:1.31 -> dest=:1.5 reply_serial=36
   uint32 10
method call sender=:1.31 -> dest=com.nokia.HildonSVNotificationDaemon
serial=161 path=/com/nokia/HildonSVNotificationDaemon;
interface=com.nokia.HildonSVNotificationDaemon; member=PlayEvent
   array [
      dict entry(
         string "vibra"
         variant             string "PatternIncomingCall"
      )
      dict entry(
         string "alarm-type"
         variant             string "clock"
      )
      dict entry(
         string "sound-file"
         variant             string "/usr/share/sounds/ui-clock_alarm_2.aac"
      )
      dict entry(
         string "category"
         variant             string "alarm-event"
      )
      dict entry(
         string "volume"
         variant             int32 100
      )
      dict entry(
         string "time"
         variant             int64 1323817021
      )
   ]
   string ":1.5"
method call sender=:1.21 -> dest=org.maemo.Playback.Manager serial=114
path=/org/maemo/Playback/Manager; interface=org.maemo.Playback.Manager;
member=RequestState
   object path "/org/maemo/playback1"
   string "Play"
   string "1525"
   string ""
method return sender=:1.21 -> dest=:1.31 reply_serial=161
   int32 8
method return sender=:1.2 -> dest=:1.21 reply_serial=114
   string "Play"
signal sender=:1.21 -> dest=(null destination) serial=116
path=/org/maemo/playback1; interface=org.freedesktop.DBus.Properties;
member=Notify
   string "org.maemo.Playback"
   string "State"
   string "Play"
method call sender=:1.21 -> dest=org.maemo.Playback.Manager serial=117
path=/org/maemo/Playback/Manager; interface=org.maemo.Playback.Manager;
member=RequestState
   object path "/org/maemo/playback1"
   string "Stop"
   string "1525"
   string ""
method return sender=:1.2 -> dest=:1.21 reply_serial=117
   string "Stop"
signal sender=:1.21 -> dest=(null destination) serial=118
path=/org/maemo/playback1; interface=org.freedesktop.DBus.Properties;
member=Notify
   string "org.maemo.Playback"
   string "State"
   string "Stop"

(all this happens in an instance, there is no visible pause between all those
events)


I STOP THE ALARM TAPPING THE STOP BUTTON
========================================

method call sender=:1.5 -> dest=org.freedesktop.Notifications serial=37
path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications;
member=CloseNotification
   uint32 10
signal sender=:1.31 -> dest=(null destination) serial=162
path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications;
member=NotificationClosed
   uint32 10
method call sender=:1.31 -> dest=com.nokia.HildonSVNotificationDaemon
serial=163 path=/com/nokia/HildonSVNotificationDaemon;
interface=com.nokia.HildonSVNotificationDaemon; member=StopEvent
   int32 8
method return sender=:1.31 -> dest=:1.5 reply_serial=37
error sender=:1.46 -> dest=:1.31
error_name=org.freedesktop.DBus.Error.UnknownMethod reply_serial=163
   string "Method "StopEvent" with signature "i" on interface
"com.nokia.HildonSVNotificationDaemon" doesn't exist
"
method call sender=:1.5 -> dest=org.freedesktop.Notifications serial=38
path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications;
member=CloseNotification
   uint32 10
error sender=:1.31 -> dest=:1.5 error_name=org.freedesktop.DBus.GLib.ErrorError
reply_serial=38
   string "Method invoked for CloseNotification returned FALSE but did not set
error"
method return sender=:1.21 -> dest=:1.31 reply_serial=163
signal sender=:1.4 -> dest=(null destination) serial=44 path=/com/nokia/alarmd;
interface=com.nokia.alarmd; member=queue_status_ind
   int32 0
   int32 2147483647
   int32 2147483647
   int32 1323820800


Anyway, I hope you can help me debug the problem and eventually fix it. I hope
I don't have to reflash the phone.

Thanks.
Comment 1 Leandro Lucarella (reporter) 2011-12-14 01:03:16 UTC
Oh, BTW, I checked all the basic stuff, volume is up, is not in silence mode, I
have no problems with sound or vibration with other components (music player,
sound, IM, SMS), etc.

Even when configuring the alarms, when I tap on the different alarm sounds, I
can hear them perfectly.
Comment 2 Andre Klapper maemo.org 2011-12-15 00:55:44 UTC
The Maemo 5 User Interface and Maemo 5 platform components (e.g. libraries) are
considered stable by Nokia. Only critical issues have a chance of being
addressed by Nokia...
Comment 3 Leandro Lucarella (reporter) 2011-12-15 02:16:27 UTC
(In reply to comment #2)
> The Maemo 5 User Interface and Maemo 5 platform components (e.g. libraries) are
> considered stable by Nokia. Only critical issues have a chance of being
> addressed by Nokia...

And what does this means? I should increase the importance of the bug? Nobody
will make any comments or help me finding the cause and a solution?

I'm not even asking for a magical fix, just for some help to understand how to
debug the problem, as I'm not familiar with the architecture of the phone and I
don't know exactly where to look.

Thank you.
Comment 4 Leandro Lucarella (reporter) 2011-12-17 18:02:08 UTC
OK, now I realized that absolutely no notifications work, IM doesn't make any
sound or vibration, SMS either, the phone even doesn't ring! I get the
notification of an incoming call but it's automatically reject immediately.

This is rendering the phone completely unusable.

I can still listen to music, or hearing the sounds when configuring the
profiles, and make calls, so it looks like a problem strictly relate to
notifications.

According to the Importance description for bugs, this is still not "critical",
but again, it's rendering the phone completely unusable for me, so I would
really appreciate some help.
Comment 5 Andre Klapper maemo.org 2011-12-17 18:23:14 UTC
(In reply to comment #4)
> it's rendering the phone completely unusable for me, so I would
> really appreciate some help.

Please either try reflashing your phone and/or contact Nokia Customer Care.
Comment 6 Leandro Lucarella (reporter) 2011-12-17 19:29:16 UTC
OK, looks like my opensource fantasy about this phone ends here.

Thanks anyway...
Comment 7 Leandro Lucarella (reporter) 2011-12-18 20:51:44 UTC
OK, I finally found out what was going on with the help of the Maemo developers
mailing list[1], my opersource fantasy about this phone has been resurrected by
that list :D

To summarise the problem, there was a broken symlink:
/home/user/.local/share/sounds ->
/home/user/.local/share/sounds/ringtoned/silence.wav

You can see the details in the mailing list archive[2].

PS: That "reflashing" solution sounds soooooo IT Crowd[3]...

[1] http://wiki.maemo.org/Community_mailing_lists#maemo-devel
[2] http://thread.gmane.org/gmane.comp.handhelds.maemo.devel/28676
[3] http://www.youtube.com/watch?v=nn2FB1P_Mn8