Возвышенный текст в Ubuntu 14.04 - продолжает пытаться удалить его

43

Sublime и из терминала открывается окно Sublime Text, но продолжайте получать это сообщение:

(sublime: 6476): GLib-CRITICAL **; Source ID 1982 was not found when attempting to remove it. 

Идентификатор источника продолжает меняться. Использование Ubuntu 14.04.

Любые идеи, что может быть? Спасибо!

  • 1
    Мой терминал тоже выдает эту ошибку. Ничто не ломается и не ломается (насколько я могу судить), так что это скорее неприятность, чем что-либо еще. Пожалуйста, напишите здесь, если вы найдете исправление.
Теги:
sublimetext
ubuntu-14.04
sublimetext2
glib

4 ответа

17

Эта страница в отладчике ошибок Ubuntu описывает эту конкретную ситуацию. По-видимому, это известная ошибка с 14.04, возможно, из-за регрессии с GLib или несоответствия между GLib и GTK (так говорит один из комментаторов).

Ничто не пытается удалить Sublime, это просто ошибка в библиотеке программирования. Если ничто не рушится на вас или не станет непригодным, просто игнорируйте его...

ИЗМЕНИТЬ Этот вопрос был исправлен в 14.10 и далее. Вы можете обновить дистрибутив или просто обновить glib, и ошибка должна исчезнуть. Обновление до Sublime Text 3 (в любом случае рекомендуемое высоко) также устранит проблему.

  • 1
    Выполнил поиск по коду ошибки ... не нашел страницу отслеживания ошибок Ubuntu. Ценю, что вы нашли время. Спасибо.
  • 1
    Извините за поздний ответ на этот комментарий, но знаете ли вы, будет ли это заполнять какие-либо файлы журнала? Я просто хочу убедиться, что игнорирование его не приведет к тому, что какой-то лог-файл со временем вырастет до нелепого размера.
Показать ещё 1 комментарий
10

Это оказалось слишком раздражающим, чтобы игнорировать, поэтому у меня довольно неряшливое решение. Вот функция, которая работает возвышенно внутри nohup. Сначала я попытался создать псевдоним для запуска sublime с nohup, но он создаст файл журнала .output и оставьте его в любом каталоге, в котором я работаю. Чтобы обойти это, функция sblm запускает возвышенное значение nohup, которое скрывает ошибки от терминала, а затем отправляет выходной журнал в /dev/null

Теперь, когда у меня есть функция sblm, я просто использую псевдоним sublime для переопределения нормальной возвышенной функции.

Вставьте все это в свой .bash_aliases файл.

#Function to deal with the annoying sublime errors
#Send annoying .output logs to /dev/null
function sblm
{
    nohup sublime $1 >/dev/null 2>&1 &
} 

#Call my sublime function
alias sublime="sblm"
  • 4
    Вы также можете написать alias sblm='sublime_text . &>/dev/null' .
  • 1
    Это было полезно! : D Но проблема сейчас возникает, когда вам нужно открыть несколько файлов с помощью командной строки. Если вы пишете sublime *.cpp& он просто открывает первый файл .cpp. Как вы можете редактировать свою функцию, чтобы потом принимать аргументы (пути к файлам)?
9

Я обновился до возвышенного 3, и я прекратил получать эти сообщения. Надеюсь, это сработает и для вас.

[РЕДАКТИРОВАТЬ] Вы можете следить за этим быстрым учебным пособием, чтобы перейти к возвышенному тексту 3: Учебное пособие из WebUpd8

  • 0
    Ты хоть представляешь, что на самом деле вызвало ошибку?
  • 0
    Не уверен, но, как упомянул Джандер, это, скорее всего, неправильное использование функции g_source_remove() .
Показать ещё 1 комментарий
3

Похоже, в ConsoleKit есть двукратная ошибка.

В последнее время это проявляется во многих программах Gnome, но особенно уязвимы пользователи ConsoleKit, поскольку (по моему опыту) предупреждение появляется на каждом нажатии клавиши. Источником сообщения является Glib g_source_remove(), но это означает, что вызывающий пытается использовать g_source_remove() неправильно. g_source_remove() - это функция освобождения ресурсов, такая же, как libc free(), поэтому наиболее вероятной причиной является вызов ее дважды на одном и том же объекте.

Из https://bugzilla.gnome.org/show_bug.cgi?id=721369#c7:

Недавно GLib начал выдавать предупреждение, когда g_source_remove() передается мусором (согласно предупреждению). Ваши приложения, вероятно, были сломаны на некоторое время, и нет никакой информации о том, что могло бы произойти в прошлом, когда g_source_remove() с радостью закроет любой случайный источник, потому что программист получил неправильный аргумент g_source_remove().

Ещё вопросы

Сообщество Overcoder
Наверх
Меню