LINUX.ORG.RU
ФорумTalks

Приложения Gnome падают, если в имени файла есть этот символ

 ,


0

1

Привет.

На днях обновил Федору и столкнулся с проблемой: Наутилус падает в segmentation fault. Думал что-то не так с каким-то thumbnailer. но потом я выяснил, что падает не только он, но и ptyxis (новый терминал), если набрать ls в хомяке. Начал смотреть на возможные странные символы в именах файлах и обнаружил символ в имени файла, который скачал с Ютуба (это не совсем обычное двоеточие).

Проверьте у кого последние версии Гнома (Федора, Рачъ, что-нибудь еще). Нужно создать файл с таким именем или именем, которое будет содержать этот символ (touch ":"). И зайти в эту директорию Наутилусом.

Причем падает даже диалог открытия в Фоксе, терминал, если набрать ls, mv с этим именем.

В последней Убунте не падает, наверное какое-то из последних обновлений что-то принесло.

Чтобы не быть голословным:

https://0x0.st/8kKt.mp4

https://0x0.st/8kKv.mp4

Upd: создал нового пользователя и ничего не вылетает. Буду искать что там у меня установлено..

★★

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

Проверил на всякий случай. А вообще интересно как так получилось? Это ж нарочно захочешь, чтобы падало об этот символов, еще постараться надо.

praseodim ★★★★★
()

debian trixie - не падает

$ touch ":"
$ ls  :
:
$ dpkg -l | grep -x "nautilus\|ptyxis"

ii  nautilus                                         48.2-3                                    amd64        file manager and graphical shell for GNOME
ii  ptyxis                                           48.4-1                                    amd64        Modern terminal emulator for GNOME
masa ★★
()
Ответ на: комментарий от ad0c

Это старая добрая ext4.

Даже вся сессия Гнома валится, если открыть страницу с описанием этого символа, а потом открыть Фокс :)

Даже и не знаю версии чего, конкретно, смотреть и куда репортить, потому что, очевидно, это проблема не Наутилуса, а какого-то компонента Гнома.

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

а какого-то компонента Гнома.

В чистой федоре со всеми обновлениями, проблема не воспроизводится.
Так что дело не в бобине...

arax ★★
()
Ответ на: комментарий от Aceler

Дефолтные шрифты, Адвайта Санс. Да и не думаю я, что это они. Этот файл у меня лежал в хомяке уже довольно давно, а падать начало после последнего обновления.

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

Так библиотека рендера шрифтов могла обновиться, а современные шрифты это программы.

Меня смущает что падает терминал. Не сама программа ls, а терминал. То есть дело в отображении символа, а значит или шрифты, или GTK.

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

Похоже дело, действительно, в шрифтах. Заменил в терминале шрифт на первый попавшийся Consolas и терминал падать прекратил.

Наутилус пока падает, хотя шрифты установлены дефолтные Adwaita Sans. Буду продолжать наблюдения :)

Были установлены некоторые твики шрифтов, типа Nerd Fonts, better_fonts, возможно кто-то из них виноват.

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

В общем, дело было в папке ~/.local/share/fonts, у меня там было некоторое кол-во шрифтов (218М), видимо после обновления что-то начало конфликтовать.

Падения получилось повторить на почти чистой Федоре в Виртуалбоксе.

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

Считаю возникшую ситуацию хорошим уроком: нужно таки разработать какую-нибудь стратегию бэкапа/восстановления системного раздела.

MoldAndLimeHoney ★★
() автор топика
Последнее исправление: MoldAndLimeHoney (всего исправлений: 1)

Ну, гном говно. А чего сказать-то хотел?

DumLemming ★★★
()
Ответ на: комментарий от MoldAndLimeHoney

Можно проверить какой шрифт содержит этот глиф (0xff1a)

$ fc-list ":charset=0xff1a"                                                                         
/usr/share/fonts/droid/DroidSansFallback.ttf: Droid Sans:style=Regular
/usr/share/fonts/droid/DroidSansFallbackLegacy.ttf: Droid Sans:style=Regular
/usr/share/fonts/droid/DroidSansFallbackFull.ttf: Droid Sans:style=Regular

dmitry237 ★★★★★
()

Итак, удалось найти причину: шрифт, скопированный из Винды.

c:/Windows/Fonts/l_10646.ttf

Если есть доступ к Винде11, то можете попробовать у себя, работает в последней Федоре, проверено в Виртуалбоксе.

# создаем файл с косячным символом
mkdir ~/crash && touch "~/crash/:"

# копируете этот шрифт 
cp ~/l_10646.ttf ~/.local/share/fonts/

# обновляете кэш шрифтов
fc-cache -f -v

# закрываем Наутилус на всякий случай
nautilus -q

# запускаем наутилус и переходим в эту папку
# шрифт в Наутилусе менять не требуется

Кто доступа к Винде не имеет и доверяет джентльменам на слово, вот можно скачать http://0x0.st/8kZt.zip

В последнем апдейте, после которого я заметил беду, были такие строки:

Upgrade  pango-0:1.56.4-1.fc42.x86_64                                Dependency      updates
  Upgrade  pango-devel-0:1.56.4-1.fc42.x86_64                          Dependency      updates
  Upgrade  pango-0:1.56.4-1.fc42.i686                                  Dependency      updates

Вроде, в Гтк шрифты рисуются через pango, возможно с этим связано.

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

возможно с этим связано

Нет, на сегодня обновленной федоре версии pango как у тебя, lucida sans по твоей ссылке я установил, в списке fc-list она видна, систему перезапустил, файл:создал, никто не падает.

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

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

Причем я проверил в Виртуалбоксе на почти чистой Федоре.

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

Причем я проверил в Виртуалбоксе

Может это как то повлияло, я проверял в VMware.
На arch кстати версия pango такая же и тоже ничего не падает, уже без виртуалок.

arax ★★
()
Ответ на: комментарий от seiken

Да это норм, во всяком случае раньше, это было просто необходимостью.

anc ★★★★★
()
Ответ на: комментарий от seiken

Ну, например, везде для документов считается дефолтным Times New Roman. Можно, конечно, заменить его каким-нибудь Liberation что-то там, но таким образом увеличивается вероятность, что на другом компьютере будет что-то некорректно отображаться.

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

Так с этим тогда надо в багтрекер, а не на ЛОР…

Для начала, хотелось бы выяснить, актуальна проблема только для меня или в целом. И неясно в багтрекер какого компонента писать.

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

Из-за шрифта падать ничего не должно даже если он и с ошибками.

pandrey ★★
()
Ответ на: комментарий от Aceler

Там еще ниже GTK куча библиотек, обрабатывающих шрифты и юникод. Надо хотя бы смотреть в какой библиотеке возникает падение с помощью gdb.

pandrey ★★
()
Ответ на: комментарий от MoldAndLimeHoney

Можно, конечно, заменить его каким-нибудь PT Astra Serif и настроить его подмену или в системе, или в LO. А на другом компьютере или обратную замену настроить должны, или установить этот шрифт.

FTFY

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

Это все хорошо, если бы хотя бы в России этим шрифтом пользовались. Дело же не в том, хорош он или нет, а в совместимости.

MoldAndLimeHoney ★★
() автор топика

В шрифте Lucida Sans Unicode нет полноширинных символов.

pasquale
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)