"Open Containing folder" crashes if the folder is accessed through GVFS

Bug #723409 reported by Simon Déziel on 2011-02-22
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Banshee
New
Medium
banshee (Ubuntu)
Medium
Unassigned

Bug Description

Binary package hint: banshee

Banshee imported my music collection from a SSHFS folder without problem. The problem is that it crashes 100% of the time when I click "Open Containing folder". I have no problem with files hosted on a local directories.

$ lsb_release -rd
Description: Ubuntu 10.10
Release: 10.10

$ apt-cache policy banshee
banshee:
  Installed: 1.8.1-0ubuntu1
  Candidate: 1.8.1-0ubuntu1
  Version table:
 *** 1.8.1-0ubuntu1 0
        500 http://ca.archive.ubuntu.com/ubuntu/ maverick-proposed/universe amd64 Packages
        100 /var/lib/dpkg/status
     1.8.1-0ubuntu1~hyper1+maverick 0
        500 http://ppa.launchpad.net/banshee-team/ppa/ubuntu/ maverick/main amd64 Packages
     1.8.0-2ubuntu1~maverick2 0
        500 http://ca.archive.ubuntu.com/ubuntu/ maverick-updates/universe amd64 Packages
     1.7.6-0ubuntu1 0
        500 http://ca.archive.ubuntu.com/ubuntu/ maverick/universe amd64 Packages

ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: banshee 1.8.1-0ubuntu1
ProcVersionSignature: Ubuntu 2.6.35-27.47-generic 2.6.35.11
Uname: Linux 2.6.35-27-generic x86_64
Architecture: amd64
Date: Tue Feb 22 16:54:03 2011
ProcEnviron:
 LANG=en_CA.utf8
 SHELL=/bin/bash
SourcePackage: banshee

Simon Déziel (sdeziel) wrote :
Simon Déziel (sdeziel) wrote :

With the daily build from Banshee-daily, the problem is a bit different as it does not crash anymore, it freeze instead.

$ apt-cache policy banshee
banshee:
  Installed: 1.9.3+git20110221.r2.325272c-0ubuntu1+maverick
  Candidate: 1.9.3+git20110221.r2.325272c-0ubuntu1+maverick
  Version table:
 *** 1.9.3+git20110221.r2.325272c-0ubuntu1+maverick 0
        500 http://ppa.launchpad.net/banshee-team/banshee-daily/ubuntu/ maverick/main amd64 Packages
        100 /var/lib/dpkg/status
     1.8.1-0ubuntu1 0
        500 http://ca.archive.ubuntu.com/ubuntu/ maverick-proposed/universe amd64 Packages
     1.8.0-2ubuntu1~maverick2 0
        500 http://ca.archive.ubuntu.com/ubuntu/ maverick-updates/universe amd64 Packages
     1.7.6-0ubuntu1 0
        500 http://ca.archive.ubuntu.com/ubuntu/ maverick/universe amd64 Packages

Simon Déziel (sdeziel) wrote :

Also, my "Music Folder" is reset to ".gvfs" (relative to my home directory).

Edit->Preferences->Source Specific : Music Folder

Simon Déziel (sdeziel) wrote :

Using banshee --debug I got the following message :

[1 Debug 18:22:23.051] Will not watch library Music because its folder doesn't exist: /home/simon/.gvfs/sftp on xeon/mnt/marcel/musique/Aerosmith - Gold 1/

The problem is fixed if I use a "regular" mount using sshfs from the command line.

Victor Vargas (kamus) wrote :

Simon, seems like you don't had your shared folder mounted right or maybe banshee cannot see that was already done? I have tested this under Ubuntu Natty with 1.9.4 release and works fine for me if first I mount my partition and then turn on banshee, however when I restart my session my shared folder is not mounted but all the imported songs are there missed so banshee cannot reproduce it anymore and you get a "GStreamer resource error: OpenRead"

Changed in banshee (Ubuntu):
importance: Undecided → Low
Simon Déziel (sdeziel) wrote :
Download full text (3.9 KiB)

@Kamus,

I think my first problem was because I cancelled the importation in the first place. Now if I import a small folder from a SSH GVFS mount it import and play fine but when I "Open Containing folder" it gives this error :

$ banshee
[Info 16:04:30.956] Running Banshee 1.9.4: [Ubuntu 10.10 704ddb6 (linux-gnu, x86_64) @ 2011-02-28 16:43:07 UTC]
[Info 16:04:31.817] Updating web proxy from GConf
[Info 16:04:31.865] All services are started 0.733737
[Info 16:04:32.494] nereid Client Started
[Info 16:04:32.546] GStreamer version 0.10.30.0, gapless: True, replaygain: False
[Error 16:04:34.888] GStreamer resource error: OpenRead
...
[Error 16:04:50.121] GStreamer resource error: OpenRead
Marshaling activate signal
Exception in Gtk# callback delegate
  Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object
  at Banshee.IO.Gio.Directory.GetDir (System.String directory) [0x00000] in <filename unknown>:0
  at Banshee.IO.Gio.Directory.Exists (System.String directory) [0x00000] in <filename unknown>:0
  at Banshee.IO.Directory.Exists (System.String directory) [0x00000] in <filename unknown>:0
  at Banshee.Gui.TrackActions.OnOpenContainingFolder (System.Object o, System.EventArgs args) [0x00000] in <filename unknown>:0
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
  at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in <filename unknown>:0
  at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in <filename unknown>:0
  at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in <filename unknown>:0
  at GLib.Signal.ClosureInvokedCB (System.Object o, GLib.ClosureInvokedArgs args) [0x00000] in <filename unknown>:0
  at GLib.SignalClosure.Invoke (GLib.ClosureInvokedArgs args) [0x00000] in <filename unknown>:0
  at GLib.SignalClosure.MarshalCallback (IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data) [0x00000] in <filename unknown>:0
   at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal)
   at GLib.SignalClosure.MarshalCallback(IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data)
   at Gtk.Application.gtk_ma...

Read more...

Simon Déziel (sdeziel) wrote :

Also the problem with SSH folders mounted with GVFS is that Banshee can't access them when it is restarted. Fortunately using sshfs to "permanently" mount the SSH folder works reliably so I have a valid workaround.

description: updated
description: updated
Simon Déziel (sdeziel) wrote :

@Kamus,

I haven't test on Natty yet but I run this version :

$ apt-cache policy banshee
banshee:
  Installed: 1.9.4+git20110228.r1.704ddb6-0ubuntu1+maverick
  Candidate: 1.9.4+git20110228.r1.704ddb6-0ubuntu1+maverick
  Version table:
 *** 1.9.4+git20110228.r1.704ddb6-0ubuntu1+maverick 0
        500 http://ppa.launchpad.net/banshee-team/banshee-daily/ubuntu/ maverick/main amd64 Packages
        100 /var/lib/dpkg/status

Changed in banshee (Ubuntu):
status: New → Triaged
Changed in banshee:
importance: Unknown → Medium
status: Unknown → New
Victor Vargas (kamus) wrote :

Thanks for sent this to upstream Chow ;)

Changed in banshee (Ubuntu):
importance: Low → Medium
peridot (peridot-faceted) wrote :

I see this behaviour too - not just the freezing when choosing "Open Containing Folder", it seems banshee is unable to mount sshfs files on .gvfs. If they are already mounted (say by opening a folder on the same machine in Nautilus) banshee can play files without problems. Perhaps the problem is that it doesn't know how to prompt for the appropriate password? Having the files mounted does not solve the "Open Containing Folder" problem; perhaps this should be filed as a separate bug?

linuxgeoff (linuxgeoff) wrote :

I also have this problem, ocelot 11.10, banshee 2.2.1.

music is on an SMB share. Banshee database shows track locations as smb://<folder name>/..... Tracks play OK, and I can open track properties, but if I click on Open containing folder, banshee hangs (freezes). In properties, the track is described as having a URL (smb://<folder name>/....)

interestingly, if I open banshee by clicking on a track on the share, and then look at its properties, the track's directory shows up not as a URL but as a directory path, as ~/.../.gvfs/<folder name> and it does NOT crash when opening the containing folder.

So problem seems to be only when banshee recognizes the track location as a URL, but is OK when it recognizes it as a directory path. What's the difference between the two? Why would it appear one way when accessing a track from the database, and the otehr way when accessing a track by clicking on it to invoke banshee?

Simon Déziel (sdeziel) on 2011-11-22
summary: - "Open Containing folder" crashes if the folder is over SSHFS
+ "Open Containing folder" crashes if the folder is over a fuse FS
summary: - "Open Containing folder" crashes if the folder is over a fuse FS
+ "Open Containing folder" crashes if the folder is accessed through GVFS
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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