OS- 16.04. Used banshee daily until now, but then got the error.

Fatal log error enclosed.

[ERROR] FATAL UNHANDLED EXCEPTION: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.MethodAccessException: Method `IBusProxy:.ctor ()' is inaccessible from method `NDesk.DBus.BusObject:.ctor ()'

  at (wrapper managed-to-native) System.Object:__icall_wrapper_mono_throw_method_access (intptr,intptr)
  at IBusProxy..ctor () [0x00000] in <8f213ad6c6e7479eb4b70a3891c9ae32>: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) [0x00002] in <f712f98eb8e445c8918edaf595bbe465>:0 
   --- End of inner exception stack trace ---
  at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00019] in <f712f98eb8e445c8918edaf595bbe465>:0 
  at System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic) [0x000ca] in <f712f98eb8e445c8918edaf595bbe465>:0 
  at System.RuntimeType.CreateInstanceSlow (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) [0x0001a] in <f712f98eb8e445c8918edaf595bbe465>:0 
  at System.RuntimeType.CreateInstanceDefaultCtor (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) [0x0002a] in <f712f98eb8e445c8918edaf595bbe465>:0 
  at System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic) [0x00040] in <f712f98eb8e445c8918edaf595bbe465>:0 
  at System.Activator.CreateInstance (System.Type type) [0x00000] in <f712f98eb8e445c8918edaf595bbe465>:0 
  at NDesk.DBus.BusObject.GetObject (NDesk.DBus.Connection conn, System.String bus_name, NDesk.DBus.ObjectPath object_path, System.Type declType) [0x00008] in <6f993bb1a1414adf8517b25c86b39e83>:0 
  at NDesk.DBus.Connection.GetObject (System.Type type, System.String bus_name, NDesk.DBus.ObjectPath path) [0x0000d] in <6f993bb1a1414adf8517b25c86b39e83>:0 
  at NDesk.DBus.Connection.GetObject[T] (System.String bus_name, NDesk.DBus.ObjectPath path) [0x00001] in <6f993bb1a1414adf8517b25c86b39e83>:0 
  at NDesk.DBus.Bus..ctor (System.String address) [0x0000f] in <6f993bb1a1414adf8517b25c86b39e83>:0 
  at NDesk.DBus.Bus.Open (System.String address) [0x00033] in <6f993bb1a1414adf8517b25c86b39e83>:0 
  at Mono.Zeroconf.Providers.AvahiDBus.DBusManager.ConnectToSystemBus () [0x0001f] in <6f993bb1a1414adf8517b25c86b39e83>:0 
  at Mono.Zeroconf.Providers.AvahiDBus.DBusManager.IterateThread (System.Object o) [0x00012] in <6f993bb1a1414adf8517b25c86b39e83>:0 
  at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context (System.Object state) [0x0000e] in <f712f98eb8e445c8918edaf595bbe465>:0 
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x0008d] in <f712f98eb8e445c8918edaf595bbe465>:0 
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <f712f98eb8e445c8918edaf595bbe465>:0 
  at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x0002a] in <f712f98eb8e445c8918edaf595bbe465>:0 
  at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00096] in <f712f98eb8e445c8918edaf595bbe465>:0 
  at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in <f712f98eb8e445c8918edaf595bbe465>:0 
  • Same for me; happened after mono was upgraded so best bet is it's mono related – linuxgnuru Feb 24 '17 at 22:46
  • Thanks ... my suspicion also. A hail mary remove/install didn't fix it. – 1971_KA-10 Feb 25 '17 at 17:47
  • I just encountered this error as well, with mono version 4.8.0. Which version of mono do you have? – Daan Wilmer Mar 2 '17 at 16:01
  • The same. Mono JIT compiler version 4.8.0 – 1971_KA-10 Mar 3 '17 at 17:42
  • It seems to be mono 4.8 specific. The current workaround is to downgrade (see my answer). Does anyone know if Banshee is still being developed? – Daan Wilmer Mar 28 '17 at 16:29

I had the same issue on Arch Linux. I looked at my logs and found that mono has recently been upgraded from version to version I was able to successfully rollback my mono package to version from ALA and banshee seems to work fine now.

I'm not sure of how to do this on Ubuntu but on Arch the command is:

yaourt -S downgrader
downgrader mono

then select mono- (from ALA)

I tried spinning up a Ubuntu Live environment and even searching http://packages.ubuntu.com/ for the equivalent Ubuntu command but it seems mono is packaged differently under many different packages like mono-runtime or libmono and such so if a person more experienced with Ubuntu could give this person the right command for the OP.


Similar to ThomasG, I also downgraded Mono — to version 4.4.2, just to be sure. This is how I did it:

  1. Using Synaptic Package Manager (yes, you can still install it, I prefer it for package management) I removed all packages related to the mono framework. One of the items will trigger removal of most items, and banshee as well. This is fine. Check the list for other software you also want to reinstall afterwards. Also: not all hits with "mono" in the title or description belong to the mono framework.
  2. Open "Software and updates", find the mono repository under "Other software" (it starts with http://download.mono-project.com) and edit it as follows:
    • Distribution: "wheezy/snapshots"
    • Components "[version]/main" ("4.4.2/main" in my case).
  3. I finally used the command line to run sudo apt update, and then sudo apt list mono-complete to check the version. I then installed mono with sudo apt install mono-complete, then banshee with sudo apt install banshee, both of which required me to accept packages that could not be verified.

I opened banshee, and there it was: running, and with all the play lists intact.


Sorry for posting to a very old topic but just in case anyone else has this issue - the fix is to add:

<Addin id="Banshee.Daap,1.0" enabled="False" />

To /home/user/.config/banshee-1/addin-db-001/config.xml.

You cannot enable DAAP ever. Without downgrading your version of mono.


A solution is to use Docker to make it run in an environment with old dependencies.

First, you need to setup a Dockerfile that installs docker on an old version and starts it:

FROM debian:jessie-slim

ARG username
RUN apt-get update && \
    apt-get install -y banshee gnome-themes && \
    apt-get clean && \
    apt-get autoremove && \
    rm -rf /var/lib/apt/lists/*

RUN useradd ${username}

USER ${username}
CMD ["/usr/bin/banshee"]

Then, you need to build it by passing your own local username to make sure the host and the guest are in sync:

sudo docker build --build-arg username=$USER -t banshee .

Then, to connect to pulseaudio, you need to make a bridge from your host:

pactl load-module module-native-protocol-unix socket=/tmp/pulseaudio.socket

We inform the guest by creating a conf file in /tmp/pulseaudio.client.conf:

default-server = unix:/tmp/pulseaudio.socket
# Prevent a server running in the container
autospawn = no
daemon-binary = /bin/true
# Prevent the use of shared memory
enable-shm = false

The last part is to connect everything correctly (pulseaudio, X server, dbus and so on) by passing the right arguments to the docker command.

Note: this command does remove all security-related features of docker, so if banshee is vulnerable to any kind of attack, your machine will too.

docker run \
        --security-opt seccomp=unconfined \
        --net=host \
        --volume=${HOME}:${HOME}:rw \
        --volume="${HOME}/.Xauthority:${HOME}/.Xauthority:rw" \
        -v /tmp/.X11-unix:/tmp/.X11-unix \
        -e DISPLAY=unix${DISPLAY} \
        -v /run/user/$(id -u)/bus:/run/user/$(id -u)/bus:rw \
        -v /var/lib/dbus/machine-id:/var/lib/dbus/machine-id \
        --device /dev/snd \
        -v /var/run/dbus/:/var/run/dbus \
        --env PULSE_SERVER=unix:/tmp/pulseaudio.socket \
       --env PULSE_COOKIE=/tmp/pulseaudio.cookie \
       --volume /tmp/pulseaudio.socket:/tmp/pulseaudio.socket \
       --volume /tmp/pulseaudio.client.conf:/etc/pulse/client.conf \
        --volume /usr/share/dbus-1:/usr/share/dbus-1 \
        --volume /usr/share/themes:/usr/share/themes \
        -ti banshee

Link to an already-made Dockerfile (disclaimer: I'm the author): https://github.com/Musinux/banshee-docker

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.