LINUX.ORG.RU

Крашится vscode

 


0

1

Добрый день. Подскажите - может кто сталкивался?

После недавнего обновления стал закрываться vscode. Oracle Linux 8, GNOME.

Это происходит, например, при запуске по F5 проекта на C, в котором есть синтаксическая ошибка. Успевает показать в выводе инфу про ошибку и сразу весь закрывается.

Аналогично закрывается при попытке отключить некоторые расширения.

Почистил все расширения из терминала, оставил минимум - проблема не ушла. В логах ничего понятного не нашел, есть лишь нечитаемый бинарный дамп.



Последнее исправление: Paka_RD (всего исправлений: 1)

Обзор от ИИ

Скорее всего, произошло повреждение кэша расширения (например, C/C++ от Microsoft), краш языкового сервера из-за тяжелого кода или нехватка оперативной памяти. Поскольку VS Code закрывается даже при попытке зайти в меню расширений, сбой происходит на уровне основного процесса или из-за циклической ошибки UI. Вот пошаговые действия для решения проблемы, от простых к радикальным:

  1. Запуск в безопасном режиме (без расширений) Если вы отключали расширения через интерфейс и редактор падал, попробуйте запустить его через терминал с полным запретом на их загрузку:
code --disable-extensions

Если запустился стабильно: Проблема точно в одном из плагинов (скорее всего, ms-vscode.cpptools ). Перейдите во вкладку расширений и удалите последние установленные или обновите их.Если все равно падает: Дело в кэше, конфигурации или самой системе. 2. Очистка кэша и поврежденных данных Часто после ошибок в проекте ломается локальный кэш рабочей области (Workspace Data). Очистите его:

  1. Закройте VS Code.
  2. Удалите или переименуйте папку с кэшем (в терминале):
rm -rf ~/.config/Code/Cache
rm -rf ~/.config/Code/CachedData
  1. Если не помогло, временно переименуйте папку с настройками сессий (это сбросит открытые окна, но сохранит настройки):
mv ~/.config/Code/User/workspaceStorage ~/.config/Code/User/workspaceStorage_backup
  1. Проверка нехватки памяти (OOM) и системных логовПри сборке или индексации больших проектов на C++ (особенно с использованием тяжелых библиотек вроде Boost или OpenCV) процессы clangd или cpptools могут поглотить всю оперативную память. Linux в таких случаях принудительно закрывает программу. Проверьте системный лог сразу после очередного вылета:
dmesg -T | grep -i -E 'kill|oom'

Или просмотрите логи системы:

journalctl -p 3 -xb

Если вы увидите строки в духе Out of memory: Kill process… (code), вам нужно увеличить файл подкачки (Swap) или ограничить количество потоков индексации в настройках расширения C++.

  1. Просмотр внутренних логов VS CodeЗапустите редактор через терминал в режиме логирования:
code --verbose

Внимательно следите за выводом в терминале в момент падения. Обратите внимание на последние строки перед закрытием — там будет указан конкретный файл или библиотека (например, Segmentation fault), вызвавшая сбой.

  1. Ручное удаление расширения C++ через консольЕсли виновато расширение C++, но интерфейс не дает его удалить, сделайте это через терминал:
code --uninstall-extension ms-vscode.cpptools

(Если вы используете clangd, замените на llvm-vs-code-extensions.vscode-clangd).

Если вы хотите разобраться точнее, пришлите: Что вывело в терминал после запуска команды code –verbose в момент падения? Какая именно ошибка в проекте предшествовала первому вылету?Какой дистрибутив Linux вы используете (Ubuntu, Arch, Fedora) и как установлен VS Code (через .deb/.rpm, snap или flatpak)?

P.S. от оператора AI т.е. меня, старался отформатировать, но пока что-то не очень, так что не гневаться!

dobrbiu
()
Ответ на: комментарий от dobrbiu

Спасибо большое! Про всякие его кэши я не подумал, завтра попробую.

Если код без ошибок, то он его нормально запускает и ходит по брекпоинтам.

Помнится, была у него ошибка в гноме - не мог открыть окно с выбором папки и падал.

Paka_RD
() автор топика
sudo dnf remove code
sudo rm -f /etc/yum.repos.d/vscode.repo
sudo dnf clean all
sudo dnf makecache
sudo dnf install emacs

Обычно помогает

hedgehog_alex
()

Попробуй поиграть с inotify watches, особенно если много файлов и много открытых файлов.

Но для начала попробуй закрыть все проекты открытые и файлы, и открыть например просто директорию с одним файлом.

Вот такие значения у меня, мне хватает:

fs.inotify.max_user_watches=1524288
fs.inotify.max_user_instances=2048
fs.inotify.max_queued_events=52768
anonymous_sama ★★★★★
()
Последнее исправление: anonymous_sama (всего исправлений: 1)

Сбросил все кэши, запустил без расширений. Создал проект-хелловорд из одного файла. Поведение - аналогичное, закрывается при запуске кода.

Paka_RD
() автор топика
Ответ на: комментарий от Paka_RD

Давай я с гугло-ИИ-шкой помогу. Сделай

code --log trace

Чтоб оно писало подробный лог своего падения (и да, урони его), затем иди в

~/.config/Code/logs

И ищи самую свежую папку и в ней уже смотри по логам. Тебя (согласно ИИ) интересуют в первую очередь логи main.log и в подпапке renderer1.log

ЗЫ

Можешь скинуть их конец, чтоб точно увидеть что там.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 2)
Ответ на: комментарий от peregrine

Я в эти логи первым делом слазил, но там лишь название файла дампа и сам бинарный дамп.

Снес vscode, всё подтер. Установил. Запустил без расширений и с логами –verbose

Падает также. Даже без файлов - просто по клику на «about» в меню.

При закрытии пишет две строки: 0903/174235.752552:ERROR:third_party/crashpad/crashpad/snapshot/elf/elf_dynamic_array_reader.h:64] tag not found [0903/174235.762045:ERROR:third_party/crashpad/crashpad/util/file/directory_reader_posix.cc:43] opendir /home/pak/.config/Code/Crashpad/attachments/02290654-8dbe-424f-93ee-08157801c5c9: No such file or directory (2)

Paka_RD
() автор топика
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария