banshee fails to connect to functional mt-daapd server

Bug #308233 reported by Scott Wegner
32
This bug affects 6 people
Affects Status Importance Assigned to Milestone
Banshee
Fix Released
Medium
banshee (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

Binary package hint: banshee

I just set up a DAAP server on my desktop computer using mt-daapd so I can connect from my laptop and listen to my music. However, I'm having a difficult time connecting to DAAP using Banshee. I can connect to the DAAP server from Banshee once in a while (and I'm not quite sure what the conditions are), but if I close Banshee entirely and re-open it later, I cannot connect to the server. Moreover, even when Banshee fails to connect, I can open Rhythmbox, and it connects correctly.

Steps to Reproduce:
1) Start mt-daapd on desktop using `sudo mt-daapd` command
2) Start Banshee on laptop. At this point, the DAAP share may or may not show up in the left column
3) Exit Banshee completely by right-clicking the icon in the notification area, and clicking "Exit"
4) Start Banshee on laptop again. This time, DAAP server almost always won't show up.
5) Start Rhythmbox on laptop. Notice that the DAAP server *does* show up in Rhythmbox

I'd like to emphasize that I still haven't found exactly what condition causes Banshee not to load the DAAP server. Most often it's after the second or third time running Banshee. However, sometimes it's not recognized on the first run, and sometimes it is recognized on subsequent runs.

I've attached the following log output:
mt-daapd-log-banshee-fail.txt : mt-daapd log file from /var/log/mt-daapd.log on desktop server. This is a complete session log from starting the server with `sudo mt-dappd`, trying to connect to it from Banshee on the laptop (and failing), and then closing the server with `sudo mt-daapd -k`.
banshee-fresh-daap.txt: this is the console output from running Banshee from the command-line with arguments `banshee --debug --debug-addins`. Notice at line 138, it finds the DAAP server, but then never "resolves" it.
mt-daap-log-rhythmbox.txt : another mt-daapd log from /var/log/mt-daapd.log on desktop server. This is a complete session log from starting the server with `sudo mt-daapd`, starting Rhythmbox on the laptop and *successfully* connecting to the server, and then closing the server with `sudo mt-daapd -k`.

I wasn't able to get a mt-daapd or banshee log of when banshee successfully connects, because I wasn't able to connect in ~10 attempts. I'll try again later, and post logs if it works out.

The versions of banshee and mt-daapd are the latest for Ubuntu Intrepid 8.10. Specifically:
banshee:
  Installed: 1.4.1-1~intrepid1
mt-daapd:
  Installed: 0.9~r1696.dfsg-2

The desktop and laptop are both running fairly standard installs of Ubuntu Intrepid. The desktop is running 64-bit version, and the laptop 32-bit. Please let me know if there is any further information I can provide.

Revision history for this message
Scott Wegner (swegner) wrote :
Revision history for this message
Scott Wegner (swegner) wrote :
Revision history for this message
Scott Wegner (swegner) wrote :
Revision history for this message
Scott Wegner (swegner) wrote :

After playing around a little bit more, I've found a potential "workaround"-- or at least a way to force the shares to connect if they don't work at first:

1) Make sure mt-daapd server is running
2) Start Banshee. If the DAAP server doesn't show up:
    3) In Banshee, go to Edit > Preferences
    4) Select the "Extensions" tab, and find the "DAAP" plugin
    5) Disable and re-enable the DAAP plugin. The shares should now show up in the left pane.

To me, this seems to imply that the Banshee DAAP plugin may be leaving some network resource open between sessions. However, it's hard to say, and I'm really in no position to start debugging into it. Hope this workaround is helpful in solving the problem. I've also attached two new logs:

mt-daapd-log-banshee-restart.txt: mt-daapd log file from /var/log/mt-daapd for a complete session, where banshee has been run and connects to DAAP using the steps listed above.
banshee-restart-plugin.txt: console output of running `banshee --debug --debug-addins`, and connecting to the DAAP server using the workaround above.

Revision history for this message
Scott Wegner (swegner) wrote :
Revision history for this message
Andrew Conkling (andrewski) wrote :

I know it should be overkill, but does Banshee start the DAAP the first time after rebooting? Or is that inconsistent too?

Changed in banshee:
status: New → Incomplete
Revision history for this message
Scott Wegner (swegner) wrote :

This is also inconsistent. The more I try to find the conditions for a working scenario, it seems like the less likely that the DAAP connection works. However, the work around posted about still allows me to connect to the DAAP server 100% of the time.

Revision history for this message
Andrew Conkling (andrewski) wrote :

Could you possibly try with another DAAP server (e.g. Tangerine) to see if it could possibly be a Firefly problem? I've had some curious problems with Firefly that turned out to be server-related?

Revision history for this message
Brice Terzaghi (terzag) wrote :

I can confirm this problem and can add the following :
- Running Tangerine allows Banshee to recognize the DAAP share every time. Also, running mt-daap and Tangerine at the same time makes Banshee see both DAAP shares with no problem.
- The workaround posted above does not work for me : when the Firefly DAAP share is not recognized, deactivating/reactivating the plugin changes nothing on my system. I have to quit ans restart Banshee until it sees the DAAP share.
- There is no problem with Rhythmbox and Firefly.

Using Banshee 1.4.3 (Banshee team PPA) with DAAP plugin 1.0 and Ubuntu 8.10.

Revision history for this message
Paul Sanders (paul41) wrote :

I can also confirm this. My Firefly DAAP share never shows up in Banshee but works in Rythmbox. I'm using Banshee from the repository (version 1.2.1 with DAAP plugin 1.0 and Ubuntu 8.10 64 bit.

Revision history for this message
Marten (martenp-bewildered) wrote :

When running the Banshee included with Ubuntu 9.04, mt-daapd shares that open can be accessed without issue, however said version of Banshee cannot connect to password protected mt-daapd shares. :( . The Jaunty bundled version of Rhythm Box can connect to these same protected shares, which is great except that I hear Banshee is slated to replace Rhythm Box as the default music player in ubuntu.

Revision history for this message
Pedro Villavicencio (pedro) wrote :

Thanks for your report, that's something to send directly upstream at http://bugzilla.gnome.org by someone having the issue, for forwarding instructions please read http://wiki.ubuntu.com/Bugs/Upstream/GNOME, Thanks in advance.

Changed in banshee (Ubuntu):
importance: Undecided → Low
Revision history for this message
Brett (breusshe) wrote :

The Banshee developers have worked on this. There is a patch that needs to be applied, perhaps Ubuntu could apply this patch to their deb files?

See this link:

http://bugzilla.gnome.org/show_bug.cgi?id=487203

Here is a copy of the patch file that fixes the issue:

Index: src/Extensions/Banshee.Daap/Daap/Client.cs
===================================================================
--- src/Extensions/Banshee.Daap/Daap/Client.cs (revisión: 4912)
+++ src/Extensions/Banshee.Daap/Daap/Client.cs (copia de trabajo)
@@ -87,8 +87,6 @@
             this.port = port;
             fetcher = new ContentFetcher (address, port);

- bag = ContentCodeBag.ParseCodes (fetcher.Fetch ("/content-codes"));
-
             ContentNode node = ContentParser.Parse (ContentCodeBag.Default, fetcher.Fetch ("/server-info"));
             serverInfo = ServerInfo.FromNode (node);
         }
@@ -123,6 +121,7 @@
             fetcher.Password = password;

             try {
+ bag = ContentCodeBag.ParseCodes (fetcher.Fetch ("/content-codes"));
                 ContentNode node = ContentParser.Parse (bag, fetcher.Fetch ("/login"));
                 ParseSessionId (node);

Revision history for this message
Chow Loong Jin (hyperair) wrote : Re: [Bug 308233] Re: banshee fails to connect to functional mt-daapd server

On Monday 03,August,2009 01:05 AM, Brett wrote:
> The Banshee developers have worked on this. There is a patch that needs
> to be applied, perhaps Ubuntu could apply this patch to their deb files?
>
> See this link:
>
> http://bugzilla.gnome.org/show_bug.cgi?id=487203
>
> Here is a copy of the patch file that fixes the issue:
>
> Index: src/Extensions/Banshee.Daap/Daap/Client.cs
> ===================================================================
> --- src/Extensions/Banshee.Daap/Daap/Client.cs (revisión: 4912)
> +++ src/Extensions/Banshee.Daap/Daap/Client.cs (copia de trabajo)
> @@ -87,8 +87,6 @@
> this.port = port;
> fetcher = new ContentFetcher (address, port);
>
> - bag = ContentCodeBag.ParseCodes (fetcher.Fetch ("/content-codes"));
> -
> ContentNode node = ContentParser.Parse (ContentCodeBag.Default, fetcher.Fetch ("/server-info"));
> serverInfo = ServerInfo.FromNode (node);
> }
> @@ -123,6 +121,7 @@
> fetcher.Password = password;
>
> try {
> + bag = ContentCodeBag.ParseCodes (fetcher.Fetch ("/content-codes"));
> ContentNode node = ContentParser.Parse (bag, fetcher.Fetch ("/login"));
> ParseSessionId (node);
>
>
> ** Bug watch added: GNOME Bug Tracker #487203
> http://bugzilla.gnome.org/show_bug.cgi?id=487203
>
I'll consider adding this patch if/when it gets committed.

--
Kind regards,
Chow Loong Jin (GPG: 0x8F02A411)
Ubuntu Contributing Developer

Revision history for this message
Brett (breusshe) wrote :

I just added the patch to the Ubuntu source files for Banshee v.1.4.3 and it worked. Firefly prompts for a password now and lets me in. Just so others know in case they are thinking about trying the patch in the meantime.

Changed in banshee (Ubuntu):
status: Incomplete → In Progress
Revision history for this message
Jeremy Visser (jeremy-visser) wrote :

I have the same symptoms, but the patch doesn't fix the problem for me. I am connecting from Banshee to an mt-daapd 0.9~r1696 share. Same share works fine in Rhythmbox, XBMC, iTunes, etc.

Changed in banshee (Ubuntu):
status: In Progress → Confirmed
Revision history for this message
Chow Loong Jin (hyperair) wrote :

Marking as fix committed as the upstream bug (BGO #487203) is fixed. This will be fixed when Banshee 1.5.3 enters Ubuntu.

Changed in banshee (Ubuntu):
status: Confirmed → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (4.6 KiB)

This bug was fixed in the package banshee - 1.5.3-1

---------------
banshee (1.5.3-1) unstable; urgency=low

  [ Chow Loong Jin ]
  * New upstream release
    + New features:
      - Sync device from playlist option
      - Type-ahead find in track, artist, and album lists
      - Optional cover art in lower-left corner
      - Editable cover art via drag-and-drop and right-click
      - Audiobooks library extension
      - Library-folder watcher extension
      - eMusic importer/downloader extension
    + Enhancements:
      - Improved Podcast filtering/browsing
      - Extension preferences tab reworked
      - Extension names/descriptions translated
      - Improved sqlite performance
      - Added --set-rating=RATING command line option
      - Support for Nexus One devices
    + Bug-fixes:
      - DAPs now works with DeviceKit (LP: #382941)
      - Fix issue with DAAP authenticating (LP: #308233)
      - Podcast renaming should work well now
      - Podcast download cancelling is now fast
      - Internet Archive results paging off-by-one fixed
      - Fix for MTP devices on 64-bit distros
      - Fix import error for files with '\0' characters (LP: #499698)
      - Support syncing playlists to iPods (LP: #75571)
      - Fix syncing podcasts to iPods (LP: #140489)
  * debian/control:
    + Bump mono-devel version to 2.4.3 for LibraryWatcher
    + Re-enable libkarma-cil, use libkarma-cil-dev
    + Bump mono-addins version to 0.3.1
    + Bump libgstreamer0.10-dev version to 0.10.12
  * debian/rules:
    + Add configure flags for explicitly enabling all wanted
      features, countering Banshee's automagic silently disabling features
  * debian/patches/01_devkit-fix.patch:
    + Dropped, applied upstream
  * debian/patches/:
    + 01_monodoc-fix-enable.patch: Fix usage of AC_ARG_ENABLE for --enable-docs

  [ Jo Shields ]
  * debian/control:
    + Drop individual library build-deps as all mono libs are pulled in at
      build time
    + Bump Standards version to 3.8.4 (no changes needed)

banshee (1.5.2-1) unstable; urgency=low

  [ Chow Loong Jin ]
  * New upstream release (Closes: #558611)
    + New Features:
      - The Internet Archive extension
      - The iTunes importer
      - Metadata ratings and playcount import and export
      - Add support for Pulse and Droid phones (LP: #501515)
      - Use new Last.fm API (Closes: #548029, LP: #415937)

    + Enhancements:
      - Many accessibility enhancements
      - When sorting by score also sort by playcount (bgo#598431)
      - Add WICD support (bgo#596918)
      - Add the USB id for the Palm Pre in developer mode
      - Improve the import media dialog (bgo#559013)
      - Allow seeking in DAAP streams
      - Tooltip for the AutoDJ source combobox (bgo#598504)
      - Improve recognition of Android devices
      - Recognize Samsung Galaxy device in debug mode
      - PlaybackError query field (bgo#590946)
      - Additional tokens for file system organization (bgo#489861)
      - Remember direction when sorting the list view (bgo#590869)
      - Cleaner track change notification popup (LP: #445965)
      - Move Last.fm settings to the preferences dialog
      - Double click toggles...

Read more...

Changed in banshee (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Andreas Schildbach (schildbach) wrote :

This bug in still present on Lucid release candidate and Banshee 1.6.

Revision history for this message
stuart (stuart-moaji) wrote :

Bug still present in 10.04 and Banshee 1.6

Changed in banshee:
importance: Unknown → Medium
status: Unknown → 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.