volume goes to zero when using some players like banshee, rhythmbox

Bug #730925 reported by Doug McMahon
80
This bug affects 13 people
Affects Status Importance Assigned to Milestone
DBus Menu
Fix Released
Undecided
Ted Gould
The Sound Menu
Fix Released
High
Conor Curran
Unity Foundations
Fix Released
High
Conor Curran
indicator-sound (Ubuntu)
Fix Released
High
Unassigned
Natty
Fix Released
High
Unassigned

Bug Description

Binary package hint: indicator-sound

When using either banshee or rhythmbox, (haven't tries amarok2), the volume level in the sound indicator is moved to zero

This appears to only happen once, (first use), with banshee, quite often with rhythmbox

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: indicator-sound 0.6.2-0ubuntu1
ProcVersionSignature: Ubuntu 2.6.38-5.32-generic 2.6.38-rc6
Uname: Linux 2.6.38-5-generic i686
NonfreeKernelModules: nvidia
Architecture: i386
Date: Mon Mar 7 16:08:27 2011
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Alpha i386 (20110302)
ProcEnviron:
 LANGUAGE=en_US:en
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: indicator-sound
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Revision history for this message
Doug McMahon (mc3man) wrote :
Revision history for this message
Doug McMahon (mc3man) wrote :

note that if indicator-sound is reverted back 1 or 2 versions the same behavior still occurs

Conor Curran (cjcurran)
Changed in indicator-sound (Ubuntu):
status: New → Confirmed
Changed in indicator-sound:
status: New → Confirmed
assignee: nobody → Conor Curran (cjcurran)
Conor Curran (cjcurran)
Changed in indicator-sound:
status: Confirmed → In Progress
milestone: none → 0.6.3
importance: Undecided → Medium
Conor Curran (cjcurran)
Changed in indicator-sound:
status: In Progress → Fix Committed
Conor Curran (cjcurran)
Changed in indicator-sound:
status: Fix Committed → Fix Released
Changed in unity-foundations:
status: New → Fix Released
Changed in indicator-sound (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Doug McMahon (mc3man) wrote :

Well it seems to have returned - can't say when other than was ok after the upgrades on 03/11
Seen on a 2 day old install, fully updated and on a one week old install, fully updated except I reverted nux and unity to previous to test something (3.6.4 unity, appropriate nux

Am planning a fresh install tomorrow with 03/1 iso, if still there will re mark this as new...

Revision history for this message
Doug McMahon (mc3man) wrote :

meant install tomorrow w/ 03/18 iso

Revision history for this message
levu (levu) wrote :

~3 days ago i tested it and it was ok, it worked...

Revision history for this message
Conor Curran (cjcurran) wrote :

Sorry reintroduced this regression in 0.6.4 when i was refactoring somehow. Will fix in 0.6.5

Changed in indicator-sound:
status: Fix Released → Triaged
milestone: 0.6.3 → 0.6.5
Changed in unity-foundations:
milestone: none → unity-3.6.8
importance: Undecided → Medium
assignee: nobody → Conor Curran (cjcurran)
status: Fix Released → Triaged
Revision history for this message
Conor Curran (cjcurran) wrote :

I think I have found what is causing this, it looks like when I try to dynamically add a new menuitem to the dbusmenu it results in a handle event event to occur on any custom dbusmenuitem which has a slider (i.e. the volume slider and voip slider), before I fixed this by filtering out any values that were not of type double but now it seems the rogue event is ending 0.0 doubles which of course will set the respective sink or source to 0. If you open G-V-C at the same time while starting either player it can be seen that both the input and output sliders go to 0.

Revision history for this message
Conor Curran (cjcurran) wrote :

To clarify, if I don't try to dynamically add a playlists menuitem then no rogue event are received. Going to trawl back through the sequence of events after adding the playlists menuitem ...

Revision history for this message
José Lou Chang (obake) wrote :

incidentally, I've noticed that the the volumes goes to zero when adding a new playlist in Bashee.
Steps to reproduce:

1) Open Banshee
(Sounds goes to zero)
2) Increment the volume
3) Add a new Playlist by righting clicking at "MUSIC" and then "New Playlist"
(Sound goes to zero)

Revision history for this message
Conor Curran (cjcurran) wrote :

Well spotted, that would make sense. Something about making the playlist menuitems visible / unvisisible. Thank you for the extra info, very useful.
Conor

Conor Curran (cjcurran)
Changed in indicator-sound:
status: Triaged → In Progress
Changed in unity-foundations:
status: Triaged → In Progress
Changed in indicator-sound:
importance: Medium → High
Changed in unity-foundations:
importance: Medium → High
Changed in indicator-sound (Ubuntu):
importance: Undecided → High
milestone: none → ubuntu-11.04-beta-1
status: Fix Released → In Progress
Revision history for this message
Conor Curran (cjcurran) wrote :
Download full text (3.5 KiB)

I have spent sometime debugging this.
It seems that there is a mysterious property update received on both slider items when players are added to the menu or more particularly when the player's playlist item is made visible.

I found that by breaking on the property update callback on the volume widget a sequence of updates are received for each property of that item (including type etc.) when the playlist item is 'turned on'.

Here is the back trace of the culprit that sets the system volume to 0.

#0 volume_widget_property_update (item=0x943e6a8,
    property=0x969bc00 "x-canonical-ido-volume-level", value=0x0,
    userdata=0x9670460) at volume-widget.c:131
#1 0x03f9d20f in ?? () from /usr/lib/libdbusmenu-glib.so.3
#2 0x00d8b372 in g_closure_invoke (closure=0xaa7399f8, return_value=0x0,
    n_param_values=3, param_values=0x939fe88, invocation_hint=0xbfd51c90)
    at /build/buildd/glib2.0-2.28.3/./gobject/gclosure.c:767
#3 0x00d9e048 in signal_emit_unlocked_R (node=0x94f3738, detail=0,
    instance=0x943e6a8, emission_return=0x0, instance_and_params=0x939fe88)
    at /build/buildd/glib2.0-2.28.3/./gobject/gsignal.c:3252
#4 0x00da6b29 in g_signal_emit_valist (instance=0x943e6a8, signal_id=223,
    detail=0, var_args=0xbfd51e54 "\001")
    at /build/buildd/glib2.0-2.28.3/./gobject/gsignal.c:2983
#5 0x00da6cc2 in g_signal_emit (instance=0x943e6a8, signal_id=223, detail=0)
    at /build/buildd/glib2.0-2.28.3/./gobject/gsignal.c:3040
#6 0x03f9b41b in dbusmenu_menuitem_property_set_variant ()
   from /usr/lib/libdbusmenu-glib.so.3
#7 0x03f9c110 in dbusmenu_menuitem_property_remove ()
   from /usr/lib/libdbusmenu-glib.so.3
#8 0x03fa2b6a in ?? () from /usr/lib/libdbusmenu-glib.so.3
#9 0x03fa2693 in ?? () from /usr/lib/libdbusmenu-glib.so.3
#10 0x005accbf in g_simple_async_result_complete (simple=0x9720820)
    at /build/buildd/glib2.0-2.28.3/./gio/gsimpleasyncresult.c:747
#11 0x00602cc1 in reply_cb (connection=0x93fe010, res=0x9720858,
    user_data=0x9720820)
    at /build/buildd/glib2.0-2.28.3/./gio/gdbusproxy.c:2158
#12 0x005accbf in g_simple_async_result_complete (simple=0x9720858)
    at /build/buildd/glib2.0-2.28.3/./gio/gsimpleasyncresult.c:747
#13 0x005f7d03 in g_dbus_connection_call_done (source=0x93fe010,
    result=0x9720890, user_data=0x9720d30)
    at /build/buildd/glib2.0-2.28.3/./gio/gdbusconnection.c:4998
#14 0x005accbf in g_simple_async_result_complete (simple=0x9720890)
    at /build/buildd/glib2.0-2.28.3/./gio/gsimpleasyncresult.c:747
#15 0x005acddd in complete_in_idle_cb (data=0x9720890)
    at /build/buildd/glib2.0-2.28.3/./gio/gsimpleasyncresult.c:757
#16 0x00c2a311 in g_idle_dispatch (source=0xaa7b4900,
    callback=0x5acdc0 <complete_in_idle_cb>, user_data=0x9720890)
    at /build/buildd/glib2.0-2.28.3/./glib/gmain.c:4545
#17 0x00c2eaa8 in g_main_dispatch (context=0x93a21c0)
    at /build/buildd/glib2.0-2.28.3/./glib/gmain.c:2440
#18 g_main_context_dispatch (context=0x93a21c0)
    at /build/buildd/glib2.0-2.28.3/./glib/gmain.c:3013
#19 0x00c2f270 in g_main_context_iterate (context=0x93a21c0, block=12843040,
    dispatch=1, self=<value optimised out>)
    at /build/buildd/glib2.0-2.28.3/./glib/gmain.c:3091
#...

Read more...

Revision history for this message
Conor Curran (cjcurran) wrote :
Download full text (3.7 KiB)

Okay here is more helpful backtrace captured at the moment I get a property update for the volume key which is not of the expected gdouble type but instead NULL.

Breakpoint 1, volume_widget_property_update (item=0x98c26a8,
    property=0x990fdb0 "x-canonical-ido-volume-level", value=0x0, userdata=0x9a003a0)
    at volume-widget.c:137
137 g_debug ("where are you coming from");
(gdb) bt
#0 volume_widget_property_update (item=0x98c26a8, property=0x990fdb0 "x-canonical-ido-volume-level",
    value=0x0, userdata=0x9a003a0) at volume-widget.c:137
#1 0x02eb620f in _dbusmenu_menuitem_marshal_VOID__STRING_VARIANT (closure=0x99fdd78,
    return_value=0x0, n_param_values=3, param_values=0x9c5f908, invocation_hint=0xbf947060,
    marshal_data=0x0) at ../../libdbusmenu-glib/menuitem-marshal.c:83
#2 0x007b0372 in g_closure_invoke (closure=0x99fdd78, return_value=0x0, n_param_values=3,
    param_values=0x9c5f908, invocation_hint=0xbf947060)
    at /build/buildd/glib2.0-2.28.4/./gobject/gclosure.c:767
#3 0x007c3048 in signal_emit_unlocked_R (node=0x99ac6c8, detail=0, instance=0x98c26a8,
    emission_return=0x0, instance_and_params=0x9c5f908)
    at /build/buildd/glib2.0-2.28.4/./gobject/gsignal.c:3252
#4 0x007cbb29 in g_signal_emit_valist (instance=0x98c26a8, signal_id=225, detail=0,
    var_args=0xbf947224 "\001") at /build/buildd/glib2.0-2.28.4/./gobject/gsignal.c:2983
#5 0x007cbcc2 in g_signal_emit (instance=0x98c26a8, signal_id=225, detail=0)
    at /build/buildd/glib2.0-2.28.4/./gobject/gsignal.c:3040
#6 0x02eb441b in dbusmenu_menuitem_property_set_variant (mi=0x98c26a8,
    property=0x99eb830 "x-canonical-ido-volume-level", value=<value optimised out>)
    at ../../libdbusmenu-glib/menuitem.c:1239
#7 0x02eb5110 in dbusmenu_menuitem_property_remove (mi=0x98c26a8,
    property=0x99eb830 "x-canonical-ido-volume-level") at ../../libdbusmenu-glib/menuitem.c:1400
#8 0x02ebbb6a in menuitem_get_properties_replace_cb (properties=0x9b63b00, error=0x0, data=0x98c26a8)
    at ../../libdbusmenu-glib/client.c:1375
#9 0x02ebb693 in get_properties_callback (obj=0x99b99a8, res=0x9a74608, user_data=0xb4955100)
    at ../../libdbusmenu-glib/client.c:626
#10 0x00678cbf in g_simple_async_result_complete (simple=0x9a74608)
---Type <return> to continue, or q <return> to quit---
    at /build/buildd/glib2.0-2.28.4/./gio/gsimpleasyncresult.c:747
#11 0x006cecc1 in reply_cb (connection=0x98b1010, res=0x9ac7918, user_data=0x9a74608)
    at /build/buildd/glib2.0-2.28.4/./gio/gdbusproxy.c:2158
#12 0x00678cbf in g_simple_async_result_complete (simple=0x9ac7918)
    at /build/buildd/glib2.0-2.28.4/./gio/gsimpleasyncresult.c:747
#13 0x006c3d03 in g_dbus_connection_call_done (source=0x98b1010, result=0x9a66f50,
    user_data=0x9c22d30) at /build/buildd/glib2.0-2.28.4/./gio/gdbusconnection.c:4998
#14 0x00678cbf in g_simple_async_result_complete (simple=0x9a66f50)
    at /build/buildd/glib2.0-2.28.4/./gio/gsimpleasyncresult.c:747
#15 0x00678ddd in complete_in_idle_cb (data=0x9a66f50)
    at /build/buildd/glib2.0-2.28.4/./gio/gsimpleasyncresult.c:757
#16 0x00a66311 in g_idle_dispatch (source=0x9ca9388, callback=0x678dc0 <complete_in_idle_cb>,
    user_data=0x9...

Read more...

Changed in dbusmenu:
status: New → Triaged
assignee: nobody → Conor Curran (cjcurran)
assignee: Conor Curran (cjcurran) → Ted Gould (ted)
Ted Gould (ted)
Changed in dbusmenu:
status: Triaged → In Progress
Revision history for this message
José Lou Chang (obake) wrote :

It seems that I was able to fix this in my computer by accident. (unless there was an update that fixed this) Executing banshee no longer lowers the volume.

What I did:

1) Turn on the volume (level up)
2) Open Banshee from the Sound Menu
3) Play with the sound menu (by changing the volume, but do not change it to zero) WHILE banshee is still loading.
4) **Banshee loads without changing the volume to zero.**
5) Close banshee.
6) Open Banshee again and verify.
**Sound volume should be as you set**

Revision history for this message
José Lou Chang (obake) wrote :

Never mind. Pardon me.

I restarted X server, and the problem still persisted.

Conor Curran (cjcurran)
Changed in indicator-sound:
status: In Progress → Fix Committed
Changed in unity-foundations:
status: In Progress → Fix Committed
Ted Gould (ted)
Changed in dbusmenu:
status: In Progress → Fix Committed
Conor Curran (cjcurran)
Changed in indicator-sound:
status: Fix Committed → Fix Released
Changed in unity-foundations:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package indicator-sound - 0.6.5-0ubuntu1

---------------
indicator-sound (0.6.5-0ubuntu1) natty; urgency=low

  * New upstream release.
    - Media player should be automatically started up when play button is
      pressed (LP: #714750)
    - volume goes to zero when using some players like banshee or
      rhythmbox (LP: #730925)
    - handle banshee id change (LP: #737447)
    - filter out video playlists (LP: #739273)
 -- Ken VanDine <email address hidden> Wed, 23 Mar 2011 12:03:02 -0400

Changed in indicator-sound (Ubuntu Natty):
status: In Progress → Fix Released
Ted Gould (ted)
Changed in dbusmenu:
milestone: none → 0.4.0
status: Fix Committed → Fix Released
Revision history for this message
VinDSL (perfect-pecker) wrote :

I've been following this bug, for a while.

I thought I should comment: As of tonight (latest updates) this bug no longer affects me.

Good work, detectives!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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