File plugin refuses to work if no read permission to some files

Bug #1318208 reported by Pauli Virtanen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Tangerine
New
Undecided
Unassigned

Bug Description

To reproduce:

1. Have file plugin enabled, pointing to a directory containing *some* files that the user does not have read permissions to

2. Start tangerine, obtain errors (see below)

3. The file plugin refuses completely work even if only some files cannot be read. The correct, expected behavior would be to ignore the files that cannot be accessed.

2014-05-10 19:15:45,419 ERROR Failed to load 'file': Exception has been thrown by the target of an invocation.
2014-05-10 19:15:45,452 WARN No plugins were loaded
2014-05-10 19:16:06,672 WARN Shutting down
2014-05-10 19:16:33,889 INFO Tangerine started
2014-05-10 19:16:35,768 INFO Server name: pi
2014-05-10 19:16:36,005 ERROR Failed to load plugin assembly '/usr/lib/tangerine/plugins/Banshee.dll': Could not load file or assembly 'Banshee.CollectionIndexer, Version=2.4.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
2014-05-10 19:16:48,442 INFO Adding songs in '/mnt/usb/lacielittle/Music'
2014-05-10 19:16:49,049 ERROR Failed to load 'file': Exception has been thrown by the target of an invocation.
2014-05-10 19:16:49,073 WARN No plugins were loaded
2014-05-10 19:18:30,597 WARN Shutting down
2014-05-10 19:19:13,651 INFO Tangerine started
2014-05-10 19:19:15,014 INFO Server name: pi
2014-05-10 19:19:15,089 DEBUG Loaded assembly: Amarok, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
2014-05-10 19:19:15,137 DEBUG Got plugin type amarok = Tangerine.Plugins.AmarokPlugin
2014-05-10 19:19:15,438 DEBUG Loaded assembly: File, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
2014-05-10 19:19:15,458 DEBUG Got plugin type file = Tangerine.Plugins.FilePlugin
2014-05-10 19:19:15,471 DEBUG Loaded assembly: LSongs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
2014-05-10 19:19:15,485 DEBUG Got plugin type lsongs = Tangerine.Plugins.LsongsPlugin
2014-05-10 19:19:15,498 DEBUG Loaded assembly: Rhythmbox, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
2014-05-10 19:19:15,508 DEBUG Got plugin type rhythmbox = Tangerine.Plugins.RhythmboxPlugin
2014-05-10 19:19:15,522 DEBUG Loaded assembly: Session, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
2014-05-10 19:19:15,533 DEBUG Got plugin type session = Tangerine.Plugins.SessionPlugin
2014-05-10 19:19:15,544 DEBUG Loaded assembly: Tangerine, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null
2014-05-10 19:19:15,557 DEBUG Loaded assembly: daap-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
2014-05-10 19:19:25,639 DEBUG 0 songs in database
2014-05-10 19:19:25,740 INFO Adding songs in '/mnt/Music'
2014-05-10 19:19:26,310 ERROR Failed to load 'file': System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.UnauthorizedAccessException: Access to the path "/mnt/Music/foo" is denied.
  at System.IO.Directory.GetFileSystemEntries (System.String path, System.String searchPattern, FileAttributes mask, FileAttributes attrs) [0x00000] in <filename unknown>:0
  at System.IO.Directory.GetFiles (System.String path, System.String searchPattern) [0x00000] in <filename unknown>:0
  at System.IO.Directory.GetFiles (System.String path) [0x00000] in <filename unknown>:0
  at Tangerine.Plugins.FilePlugin.AddDirectory (System.String dir) [0x00000] in <filename unknown>:0
  at Tangerine.Plugins.FilePlugin.AddDirectory (System.String dir) [0x00000] in <filename unknown>:0
  at Tangerine.Plugins.FilePlugin.ScanDirectories () [0x00000] in <filename unknown>:0
  at Tangerine.Plugins.FilePlugin..ctor () [0x00000] in <filename unknown>:0
  at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
  at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
  at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in <filename unknown>:0
  at System.Activator.CreateInstance (System.Type type) [0x00000] in <filename unknown>:0
  at Tangerine.PluginManager.LoadPluginObjects (System.String[] names) [0x00000] in <filename unknown>:0
2014-05-10 19:19:26,368 WARN No plugins were loaded

Revision history for this message
Pauli Virtanen (pauli-virtanen) wrote :

Tangerine 0.3.4-3, mono 3.2.8+dfsg-4+rpi1

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.