[panflute 0.6.2 on Arch Linux] some player interfaces broken

Bug #588827 reported by orbisvicis
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Panflute
Fix Released
High
Paul Kuliniewicz

Bug Description

exaile 0.3.1.1
vlc 1.0.6

panflute launches the players, but is unable to detect and communicate with them. dbus-send calls simply queue up. When killed, the music player processes become zombies for quite some time before panflute-daemon collects them.

I've run panflute-daemon in debug mode for exaile:

INFO [panflute.daemon.amarok.Connector] Failed to load Amarok 1.4 connector: No module named dcopext
DEBUG [panflute.daemon.mpd.Connector] Resume polling
DEBUG [panflute.daemon.mpd.Connector] Registering the poll source
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
INFO [panflute.daemon.manager.Manager] Failed to load XMMS connector: No module named xmms.control
INFO [panflute.daemon.manager.Manager] Failed to load XMMS2 connector: No module named xmmsclient
DEBUG [panflute.daemon.manager.Manager] Preferred player is now exaile
DEBUG [panflute.daemon.manager.Manager] scanning for connected players
DEBUG [panflute] Running panflute-daemon
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.exaile.v0_3.Connector] Activating org.mpris.exaile
DEBUG [panflute.daemon.exaile.v0_2.Connector] Activating org.exaile.DBusInterface
DEBUG [panflute.daemon.exaile.Connector] Running "exaile"
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed

On an unrelated note, shouldn't the mpd connecter time out after a while?

Also:

$ ps aux | egrep -i "panflute|exaile" | grep -v "egrep -i panflute|exaile"
... python /usr/bin/panflute-daemon -d
$ ps aux | egrep -i "panflute|exaile" | grep -v "egrep -i panflute|exaile"
... python /usr/bin/panflute-daemon -d
... dbus-send --session --print-reply --type=method_call --dest=org.mpris.panflute /Player org.freedesktop.MediaPlayer Pause
... python /usr/lib/exaile/exaile.py --datadir=/usr/share/exaile/data --startgui
later (many seconds, but before the dbus-send command times-out) ...
$ ps aux | egrep -i "panflute|exaile" | grep -v "egrep -i panflute|exaile"
... python /usr/bin/panflute-daemon -d
... dbus-send --session --print-reply --type=method_call --dest=org.mpris.panflute /Player org.freedesktop.MediaPlayer Pause
... python /usr/lib/exaile/exaile.py --datadir=/usr/share/exaile/data --startgui
later (some more dbus-send commands) ...
$ ps aux | egrep -i "panflute|exaile" | grep -v "egrep -i panflute|exaile"
... python /usr/bin/panflute-daemon -d
... python /usr/lib/exaile/exaile.py --datadir=/usr/share/exaile/data --startgui
... dbus-send --session --print-reply --type=method_call --dest=org.mpris.panflute /Player org.freedesktop.MediaPlayer Pause
... dbus-send --session --print-reply --type=method_call --dest=org.mpris.panflute /Player org.freedesktop.MediaPlayer Next
... dbus-send --session --print-reply --type=method_call --dest=org.mpris.panflute /Player org.freedesktop.MediaPlayer Next

One a brighter note, MOC and Quodlibet have several python warnings, but work nonetheless:

Quodlibet - warning on launching the player
$ python /usr/bin/panflute-daemon -d
INFO [panflute.daemon.amarok.Connector] Failed to load Amarok 1.4 connector: No module named dcopext
DEBUG [panflute.daemon.mpd.Connector] Resume polling
DEBUG [panflute.daemon.mpd.Connector] Registering the poll source
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
INFO [panflute.daemon.manager.Manager] Failed to load XMMS connector: No module named xmms.control
INFO [panflute.daemon.manager.Manager] Failed to load XMMS2 connector: No module named xmmsclient
DEBUG [panflute.daemon.manager.Manager] Preferred player is now quod_libet
DEBUG [panflute.daemon.manager.Manager] scanning for connected players
DEBUG [panflute] Running panflute-daemon
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.quodlibet.Connector] Activating net.sacredchao.QuodLibet
DEBUG [panflute.daemon.quodlibet.Connector] Running "quodlibet"
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
DEBUG [panflute.daemon.manager.Manager] quod_libet status is now True
DEBUG [panflute.daemon.manager.Manager] exposing quod_libet
DEBUG [panflute.daemon.mpd.Connector] Stop polling
DEBUG [panflute.daemon.mpd.Connector] Removing the poll source
DEBUG [panflute.daemon.quodlibet.Player] sending CapsChange 0xb
DEBUG [panflute.daemon.quodlibet.Player] Pause
DEBUG [panflute.daemon.quodlibet.Player] sending StatusChange (1, 0, 0, 1)
WARNING [panflute.daemon.quodlibet.Player] org.freedesktop.DBus.Python.ValueError: Traceback (most recent call
  File "/usr/lib/python2.6/site-packages/dbus/service.py", line 745, in _message_cb
    _method_reply_return(connection, message, method_name, signature, *retval)
  File "/usr/lib/python2.6/site-packages/dbus/service.py", line 257, in _method_reply_return
    signature = reply.guess_signature(retval) + ' (guessed)'
ValueError: Unable to guess signature from an empty dict

WARNING [panflute.daemon.quodlibet.Player] org.freedesktop.DBus.Python.AttributeError: Traceback (most recent
  File "/usr/lib/python2.6/site-packages/dbus/service.py", line 702, in _message_cb
    retval = candidate_method(self, *args, **keywords)
  File "/usr/lib/python2.6/site-packages/quodlibet/qltk/dbus_.py", line 103, in PlayPause
    player.playlist.reset()
  File "/usr/lib/python2.6/site-packages/quodlibet/player/_base.py", line 83, in reset
    self._source.reset()
AttributeError: 'GStreamerPlayer' object has no attribute '_source'

DEBUG [panflute.daemon.quodlibet.Player] sending TrackChange {'album': u'Gran Turismo', 'rating': 3, 'audio-bitrate': 499, 'title': u'Erase/Rewind', 'time': 218, 'mtime': 218000, 'genre': u'Pop', 'tracknumber': u'02', 'artist': u'The Cardigans'}
DEBUG [panflute.daemon.quodlibet.Player] sending CapsChange 0xf
DEBUG [panflute.daemon.quodlibet.Player] sending CapsChange 0x2f
DEBUG [panflute.daemon.quodlibet.Player] sending StatusChange (0, 0, 0, 1)
DEBUG [panflute.daemon.quodlibet.Player] PositionGet
DEBUG [panflute.daemon.quodlibet.Player] sending PositionChange 0
DEBUG [panflute.daemon.quodlibet.Player] PositionGet
DEBUG [panflute.daemon.quodlibet.Player] sending PositionChange 906
DEBUG [panflute.daemon.quodlibet.Player] PositionGet
DEBUG [panflute.daemon.quodlibet.Player] sending PositionChange 1150
DEBUG [panflute.daemon.quodlibet.Player] PositionGet
DEBUG [panflute.daemon.quodlibet.Player] sending PositionChange 1982
DEBUG [panflute.daemon.quodlibet.Player] PositionGet
DEBUG [panflute.daemon.quodlibet.Player] sending PositionChange 2229
DEBUG [panflute.daemon.quodlibet.Player] Pause
DEBUG [panflute.daemon.quodlibet.Player] sending StatusChange (1, 0, 0, 1)

MOC - warning on exiting the player
$ python /usr/bin/panflute-daemon -d
python /usr/bin/panflute-daemon -d
INFO [panflute.daemon.amarok.Connector] Failed to load Amarok 1.4 connector: No module named dcopext
DEBUG [panflute.daemon.mpd.Connector] Resume polling
DEBUG [panflute.daemon.mpd.Connector] Registering the poll source
DEBUG [panflute.daemon.mpd.Connector] Attempting to connect to localhost:6600
DEBUG [panflute.daemon.mpd.Connector] Connection failed
INFO [panflute.daemon.manager.Manager] Failed to load XMMS connector: No module named xmms.control
INFO [panflute.daemon.manager.Manager] Failed to load XMMS2 connector: No module named xmmsclient
DEBUG [panflute.daemon.manager.Manager] Preferred player is now moc
DEBUG [panflute.daemon.manager.Manager] scanning for connected players
DEBUG [panflute] Running panflute-daemon
DEBUG [panflute.daemon.manager.Manager] moc status is now True
DEBUG [panflute.daemon.manager.Manager] exposing moc
DEBUG [panflute.daemon.mpd.Connector] Stop polling
DEBUG [panflute.daemon.mpd.Connector] Removing the poll source
DEBUG [panflute.daemon.moc.Player] sending CapsChange 0x1
DEBUG [panflute.daemon.moc.Player] sending CapsChange 0x3
DEBUG [panflute.daemon.moc.Player] sending CapsChange 0xb
DEBUG [panflute.daemon.moc.Player] Pause
DEBUG [panflute.daemon.manager.Manager] moc status is now False
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/panflute/daemon/manager.py", line 245, in __notify_connected_cb
    self.__withdraw ()
  File "/usr/lib/python2.6/site-packages/panflute/daemon/manager.py", line 210, in __withdraw
    assert (self.__player is not None)
AssertionError
DEBUG [panflute.daemon.manager.Manager] moc status is now True
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/panflute/daemon/moc.py", line 309, in <lambda>
    glib.idle_add (lambda: callback (out))
  File "/usr/lib/python2.6/site-packages/panflute/daemon/moc.py", line 218, in __parse_info
    key, value = line.split (": ", 1)
ValueError: need more than 1 value to unpack

unfortunately, I couldn't test rhythmbox because it's import music process kept freezing up.

Tags: daemon moc
Revision history for this message
orbisvicis (orbisvicis) wrote :

quodlibet 2.2.1
moc 2.4.4

Revision history for this message
orbisvicis (orbisvicis) wrote :

the MOC error is especially annoying:
can't unmount network music shares
can't switch panflute control to another player

Revision history for this message
Anakin Starkiller (sunrider) wrote :

I can confirm this issue too. moc interface is completely broken...when I close mocp (with mocp -x to kill the server), it keeps respawning .... because of panflute...
Besides, I think there should be a way to enable/disable which players are active (just like it was before, when panflute was called music applet).

Revision history for this message
Paul Kuliniewicz (kuliniew) wrote :

Can you check if the problem persists with Panflute from the bzr repo? I've made some changes in the course of chasing down other bugs that could possibly have fixed this one too.

Revision history for this message
Anakin Starkiller (sunrider) wrote :

Paul > I've just tried rev 522 from bzr...but MOC doesn't appear in the prefered player list anymore...(though the file /usr/lib/python2.6/site-packages/panflute/daemon/moc.py does exist)

Revision history for this message
Anakin Starkiller (sunrider) wrote :

I've just created a PKGBUILD for bzr branch > http://aur.archlinux.org/packages.php?ID=41160

Revision history for this message
Paul Kuliniewicz (kuliniew) wrote :

A player not appearing in the list means its support module failed to load. The only obvious cause for that would be if you don't have python-notify (or whichever package in your distro provides the pyinotify module for Python).

Changed in panflute:
status: New → In Progress
importance: Undecided → High
assignee: nobody → Paul Kuliniewicz (kuliniew)
milestone: none → 0.7.0
tags: added: daemon moc
Revision history for this message
Anakin Starkiller (sunrider) wrote :

Paul > thanks for the explanation, now it works ;)

Changed in panflute:
status: In Progress → Fix Committed
Changed in panflute:
status: Fix Committed → 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.