Eclipse, VSCode и Signal висят при запуске

Вопрос или проблема

С тех пор как вчера были сделаны единственные изменения: sudo apt dist-upgrade и sudo snap refresh, несколько приложений зависают навсегда / перестают отвечать после перезапуска приложения – (Eclipse (через snap), VSCode (через apt/Microsoft), Signal (через snap)). Signal и VSCode висят на пустом экране, Eclipse зависает при выполнении нескольких действий, таких как прокручивание.

Пустой экран VSCode:

Пустой экран VScode

Процессы нельзя завершить (kill, kill -9, killall) (killall code -> pidof code показывает от 3 до 5 процессов), а именно Eclipse остается на экране, несмотря на отсутствие процесса (pidof eclipse пусто). Выключение Kubuntu занимает вечность (нужно нажимать кнопку питания).

Переустановка Eclipse или VSCode ничего не дает.

Что я могу сделать, чтобы найти проблему / получить больше информации / всё исправить?

Я проверил журналы ядра. Вот самые интересные сообщения:

... kernel: traps: WatchDogQueue[7496] trap int3 ip:701222d23def sp:7011b7dff5e0 ошибка:0 в libglib-2.0.so.0.8000.5[701222cdb000+a2000]

... kernel: INFO: задача WebKitWebProces:19436 блокирована более чем на 122 секунды.

Ответ или решение

Проблема с зависанием приложений, таких как Eclipse, VSCode и Signal, может быть связана с несколькими факторами, особенно после эффективного обновления системы. Давайте рассмотрим несколько шагов, которые помогут вам выявить причину и решить эту проблему.

1. Проверка графической подсистемы

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

  • Драйвера графической карты: Убедитесь, что вы используете актуальные драйвера графической карты. Если у вас видеокарта Nvidia, проверьте, установлены ли проприетарные драйвера, поскольку они чаще всего более стабильные, чем открытые драйвера Nouveau.
  • Проблемы с OpenGL: Некоторые проблемы совместимости могут возникнуть из-за OpenGL или других графических систем. Попробуйте запустить приложения с различными параметрами отображения, например, используя MESA_GL_VERSION_OVERRIDE=3.3 или другие переменные окружения.

2. Проверка и очистка кэша

Возможно, проблема связана с мусором в кэше или конфигурации:

  • Для Signal и VSCode, попробуйте удалить кэш:

    rm -rf ~/.config/Signal
    rm -rf ~/.config/Code
  • Для Eclipse, зайдите в директорию рабочего пространства и удалите файлы конфигурации, которые могут вызывать проблему.

3. Установка недостающих библиотек

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

  • Проверьте наличие всех необходимых библиотек для приложений:

    sudo apt install --reinstall libglib2.0-0
  • Также возможно, что приложения используют snap, который в свою очередь имеет свои зависимости. Попробуйте удалить и переустановить приложения через snap:

    sudo snap remove eclipse
    sudo snap remove signal
    sudo snap remove code
    sudo snap install eclipse
    sudo snap install signal
    sudo snap install code --classic

4. Логи и диагностика

Изучите логи системы на наличие ошибок:

  • Проверьте журналы с помощью утилиты dmesg и журнала ошибок системы:

    dmesg | grep -i error
    journalctl -xe
  • Также стоит просмотреть логи, связанные с графическим сервером или xorg:

    cat /var/log/Xorg.0.log | grep '(EE)'

5. Отключение аппаратного ускорения

При использовании GTK/Bluetooth или других библиотек может быть полезным отключить аппаратное ускорение:

  • Для VSCode, создайте или измените файл настроек settings.json:

    "disable-hardware-acceleration": true
  • Для других приложений, проверьте их документацию на наличие аналогичных опций.

6. Изолированное тестирование

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

  • Для Eclipse:

    eclipse -clean
  • Для других приложений, проверьте их документацию на наличие аналогичных параметров.

7. Статус системы

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

  • Установите и используйте htop или glances для мониторинга активности;
  • Попробуйте использовать strace, чтобы увидеть системные вызовы и определить момент блокировки.

Заключение

Если вышеуказанные шаги не помогли, возможно, вам придется обратиться на форумы или к разработчикам ваших приложений. Убедитесь, что вы упомянули все диагностические данные и изменения, которые могли привести к возникновению проблемы.

Оцените материал
Добавить комментарий

Капча загружается...