Do

Banshee plugin loads but doesn't Index my collection, or crashes

Asked by vaskark on 2009-03-18

The Banshee Media Player plugin says I can search my media collection, but it isn't working for me. Does this work for anyone else right now? I'm using the latest Do from bzr on Intrepid, and the latest Banshee from svn.

Question information

Language:
English Edit question
Status:
Solved
For:
Do Edit question
Assignee:
No assignee Edit question
Solved by:
vaskark
Solved:
2009-03-29
Last query:
2009-03-29
Last reply:
2009-03-19
Alex Launi (alexlauni) said : #1

Can you run Do from the command line with --debug and look for some
debugging output? There should be two lines printed when it's indexing. If
you're not seeing those then something else is messed up. Are you sure you
have the right plugin, and that it's correctly enabled? Some people were
having problems with installing the plugin due to some pkg-config weirdness
finding the Banshee indexer library.

vaskark (vaskark) said : #2

Thanks for the quick reply!

I ran gnome-do --debug. I disabled all my plugins and just left the Banshee one running. Btw, I seem to have 2 listed, versions 0.9 and 1.0 - activating one will place a check next to the other.

Anyhoo, here's the output related to Banshee:

[Debug 21:06:47.778] [UniverseManager] Reloading item source "Banshee Media"...

** (Do:6765): WARNING **: The following assembly referenced from /home/jason/.local/share/gnome-do/plugins-0.8.1.2/addins/Do.Banshee.1.0/Banshee.dll could not be loaded:
     Assembly: Banshee.CollectionIndexer (assemblyref_index=5)
     Version: 1.6.0.0
     Public Key: (none)
The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (/home/jason/.local/share/gnome-do/plugins-0.8.1.2/addins/Do.Banshee.1.0).

** (Do:6765): WARNING **: Could not load file or assembly 'Banshee.CollectionIndexer, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
Banshee.MediaItemSource "Banshee Media" encountered an error in UpdateItems: A type load exception has occurred..

Also, this:

[Debug 21:16:47.943] [UniverseManager] Reloading item source "Banshee Media"...
Banshee.MediaItemSource "Banshee Media" encountered an error in UpdateItems: Could not load type 'Banshee.Banshee' from assembly 'Banshee, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'..

Something is obviously wrong. I'm using Banshee from svn, although I could go back to stable if needed - if it would make a difference.

Btw, when this plugin is working correctly do we see the album art too? I sure hope so ;)

Alex Launi (alexlauni) said : #3

You need to copy the banshee-collection-indexer.dll from
${prefix}/lib/banshee-1 to
~/.local/share/gnome-do/plugins-0.8.1/addins/Do.Banshee.1.0/

--
--Alex Launi

vaskark (vaskark) said : #4

K I did what you said but now Do crashes. Running debug again gets me this:

[Debug 10:40:44.339] Connected to org.bansheeproject.CollectionIndexer.Service

Unhandled 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.Collection.Indexer.RemoteHelper.IndexerClient.ConnectToIndexerService () [0x00000]
  at Banshee.Collection.Indexer.RemoteHelper.IndexerClient.OnBusNameOwnerChanged (System.String name, System.String oldOwner, System.String newOwner) [0x00000]
  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]
  --- End of inner exception stack trace ---
at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <0x000ff>
at System.Reflection.MethodBase.Invoke (object,object[]) <0x0001a>
at System.Delegate.DynamicInvokeImpl (object[]) <0x00170>
at System.MulticastDelegate.DynamicInvokeImpl (object[]) <0x0002a>
at System.Delegate.DynamicInvoke (object[]) <0x0000e>
at NDesk.DBus.Connection.HandleSignal (NDesk.DBus.Message) <0x00102>
at NDesk.DBus.Connection.DispatchSignals () <0x0003c>
at NDesk.DBus.Connection.Iterate () <0x0002c>
at <>c__CompilerGenerated0.<>c__AnonymousMethod1 (intptr,NDesk.GLib.IOCondition,intptr) <0x00027>
at (wrapper native-to-managed) <>c__CompilerGenerated0.<>c__AnonymousMethod1 (intptr,NDesk.GLib.IOCondition,intptr) <0x00049>
at (wrapper managed-to-native) Gtk.Application.gtk_main () <0x00004>
at Gtk.Application.Run () <0x00007>
at Do.Do.Main (string[]) <0x001d3>

Alex Launi (alexlauni) said : #5

This is a crash in the banshee library, you should report this against them.

--
-- Alex Launi

vaskark (vaskark) said : #6

Seems fixed now :)

Alex Launi (alexlauni) said : #7

Copy the dll from /usr/lib/banshee-1/Banshee.CollectionIndexer.dll to ~/.local/share/gnome-do/plugins-<Do Version>/addins/Do.Banshee.1.0

If you've installed banshee from source, you will need to replace /usr/lib with your $libdir.
FAQ #505: “Banshee plugin loads but doesn't Index my collection, or crashes”.

vaskark (vaskark) said : #8

Yeah it seems to be working. But Banshee needs to be running before opening gnome-do (with the plugin enabled) or it crashes.

Alex Launi (alexlauni) said : #9

This should not be the case. Are you running banshee from trunk or a
package. It works perfectly for me with banshee from jaunty repos.

--
--Alex Launi

vaskark (vaskark) said : #10

Trunk. I'll try banshee from the repos.

Alex Launi (alexlauni) said : #11

There is a known bug in trunk that causes the crash. I haven't had time to
get my hands back into the banshee source to fix it. It's in their bugzilla
if you want to subscribe to it.

--
--Alex Launi

vaskark (vaskark) said : #12

I tried with Banshee from jaunty repos and it works fine like you said. i guess I'll stay away from Banshee trunk til that bug is ironed out.

Many thanks, Alex.