Arch: Mono trava aleatoriamente durante DllImport

Arch: Mono trava aleatoriamente durante DllImport

Ao correrqualquer aplicativo mono, o aplicativo trava durante a inicialização e precisa ser encerrado. Pinta mostra uma janela em branco, enquanto Monodevelop não faz nada. No entanto, nenhuma mensagem de erro é impressa, o que não dá muito o que levar. Instalei todas as dependências e os aplicativos Gtk+ regulares funcionam bem (firefox, leafpad etc.)

Estou usando Mono 3.2.3, Arch Linux e Openbox

Já reinstalei o Mono e depois o próprio Arch, sem efeito.

mono --versão:

Mono JIT compiler version 3.2.3 (tarball Sun Sep 22 20:38:43 UTC 2013)
Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:           __thread
    SIGSEGV:       altstack
    Notifications: epoll
    Architecture:  amd64
    Disabled:      none
    Misc:          softdebug 
    LLVM:          supported, not enabled.
    GC:            sgen

MONO_DEBUG_LEVEL=debug pinta (últimas 4 linhas)

Mono: DllImport searching in: 'libcairo.so.2' ('libcairo.so.2').
Mono: Searching for 'cairo_set_source_surface'.
Mono: Probing 'cairo_set_source_surface'.
Mono: Found as 'cairo_set_source_surface'.

MONO_DEBUG_LEVEL=depurar monodevelop (últimas 4 linhas)

Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_stdin'.
Mono: Probing 'Mono_Posix_Stdlib_stdin'.
Mono: Found as 'Mono_Posix

Com o monodevelop, ele para no meio da impressão de uma linha.

Responder1

As falhas foram causadas pelo driver proprietário da nvidia (mostrado no bug Debian #728743)

Fazer o downgrade para 325.15 resolve esse problema

Como fazer downgrade

  1. Desinstale todos os pacotes da nvidia e remova /etc/X11/xorg.conf
  2. Downloadhttp://us.download.nvidia.com/XFree86/Linux-x86_64/325.15/NVIDIA-Linux-x86_64-325.15.run
  3. Salvareste arquivo de correçãocomo nvpatch.patch
  4. Tornar NVIDIA-Linux-x86_64-325.15.runexecutável
  5. Execute ./NVIDIA-Linux-x86_64-325.15.run --apply-patch nvpatch.patche preencha os nomes dos arquivos quando solicitado. Isso criará um arquivo chamado NVIDIA-Linux-x86_64-325.15-custom.runque contém uma versão do driver que compila no Linux Kernel versão 3.11
  6. Certifique-se de que não haja instâncias do servidor X em execução ou o driver não será instalado
  7. Execute a instalação do driver, instalando a compatibilidade de 32 bits se necessário
  8. Execute nvidia-xconfigpara criar seu arquivo de configuração X (o driver proprietário não carrega sem ele).
  9. Execute echo "blacklist nouveau" >> /etc/modprobe.d/blacklist-nouveau.confpara colocar o driver nouveau na lista negra. Sem lista negra, o driver da nvidia não carrega

informação relacionada