Катастрофический отказ банши на запуске

ОС - 16.04.Б/У banshee ежедневно до сих пор, но затем получил ошибку.

Фатальная ошибка журнала включается.

[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 
3
задан 24 February 2017 в 19:09

4 ответа

У меня была та же проблема о Arch Linux. Я посмотрел на свои журналы и нашел, что это моно было недавно обновлено от версии 4.6.1.3-1 до версии 4.8.0.495-1. Я смог успешно откатывать свой моно пакет к версии 4.6.1.3-1 из АЛАБАМЫ, и банши, кажется, хорошо работает теперь.

я не уверен в том, как сделать это на Ubuntu, но на Arch, который команда:

yaourt -S downgrader
downgrader mono

затем выбор mono-4.6.1.3-1 (from ALA)

я пытался вращать Продуктивную среду Ubuntu и даже искать http://packages.ubuntu.com/ для эквивалентной команды Ubuntu, но это кажется моно, упаковывается по-другому под многими различными пакетами как моновремя выполнения или libmono и такой поэтому, если человек, более опытный с Ubuntu, мог бы дать этому человеку правильную команду для OP.

1
ответ дан 1 December 2019 в 16:55

Подобный ThomasG, я также понизил Моно — до версии 4.4.2, только чтобы быть уверенным. Это - то, как я сделал это:

  1. Используя Синаптический Диспетчер пакетов (да, можно все еще установить его, я предпочитаю его для управления пакетом), я удалил все пакеты, связанные с моно платформой. Один из объектов инициирует удаление большинства объектов и банши также. Это прекрасно. Проверьте список на другое программное обеспечение, которое Вы также хотите переустановить впоследствии. Также: не все хиты с "моно" в заголовке или описании принадлежат моно платформе.
  2. Открывают "Software and updates", находят моно репозиторий в соответствии с "Другим программным обеспечением" (это запускается с http://download.mono-project.com), и отредактируйте его следующим образом:
    • Распределение: "хрипящий / снимки"
    • Компоненты" [версия] / основной" ("4.4.2/основной" в моем случае).
  3. я наконец использовал командную строку для выполнения sudo apt update, и затем sudo apt list mono-complete для проверки версии. Я затем установил моно с sudo apt install mono-complete, затем банши с sudo apt install banshee, оба из которых потребовали, чтобы я принял пакеты, которые не могли быть проверены.

я открыл банши, и там это было: выполнение, и со всеми неповрежденными списками воспроизведения.

1
ответ дан 1 December 2019 в 16:55

Извините за сообщение в очень старой теме, но на всякий случай, если у кого-то еще есть эта проблема - исправление заключается в добавлении:

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

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

Вы не можете включить DAAP никогда . Без понижения вашей версии моно.

0
ответ дан 11 December 2019 в 17:54

Решение состоит в том, чтобы использовать Docker, чтобы заставить его работать в среде со старыми зависимостями.

Во-первых, вам нужно настроить Dockerfile, который устанавливает Docker на старую версию и запускает его:

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"]

Затем вам нужно собрать его, передав собственное локальное имя пользователя, чтобы убедиться, что хост и гость синхронизированы:

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

Затем для подключения к pulseaudio нужно сделать бридж со своего хоста:

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

Информируем гостя, создав файл conf в /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

Последняя часть — правильно подключить все (pulseaudio, X-сервер, dbus и т. д.), передав правильные аргументы команде docker.

Примечание: эта команда удаляет все функции докера, связанные с безопасностью, поэтому, если banshee уязвима для любого вида атаки, ваша машина тоже будет уязвима.

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} \
        --env DBUS_SESSION_BUS_ADDRESS="${DBUS_SESSION_BUS_ADDRESS}" \
        -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

Ссылка на уже созданный Dockerfile (отказ от ответственности: я автор): https://github.com/Musinux/banshee-docker

0
ответ дан 21 May 2020 в 14:23

Другие вопросы по тегам:

Похожие вопросы: