Bug 24352 - Перестали распознаваться изображения
Summary: Перестали распознаваться изображения
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: libgtk+2 (show other bugs)
Version: unstable
Hardware: all Linux
: P3 critical
Assignee: Yuri N. Sedunov
QA Contact: qa-sisyphus
URL:
Keywords:
: 24363 24396 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-10-18 13:35 MSD by Fr. Br. George
Modified: 2011-02-17 03:45 MSK (History)
19 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fr. Br. George 2010-10-18 13:35:45 MSD
После обновления gtk-шные приложения перестали распознавать изображения. 

Пишет что-то в таком роде:
(geeqie:23738): Gtk-WARNING **: Error loading theme icon 'folder' for stock: Формат файла изображения не распознан

(geeqie:23738): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

(geeqie:23738): Gtk-CRITICAL **: gtk_default_render_icon: assertion `base_pixbuf != NULL' failed

(geeqie:23738): Gtk-CRITICAL **: IA__gtk_style_render_icon: assertion `pixbuf != NULL' failed

(geeqie:23738): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)'
Comment 1 Yuri N. Sedunov 2010-10-18 13:58:24 MSD
cat /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
?
Comment 2 Fr. Br. George 2010-10-18 14:01:39 MSD
george@grail:~> cat /usr/lib*/gdk-pixbuf-2.0/2.10.0/loaders.cache
# GdkPixbuf Image Loader Modules file
# Automatically generated file, do not edit
# Created by gdk-pixbuf-query-loaders from gdk-pixbuf-2.22.0
#
# LoaderDir = /usr/lib64/gtk-2.0/2.10.0/loaders
#
"/usr/lib64/gtk-2.0/2.10.0/loaders/libopenraw_pixbuf.so"
"Digital camera RAW" 0 "gdk-pixbuf" "Digital camera RAW images loader." "LGPL"
"image/x-adobe-dng" "image/x-canon-cr2" "image/x-canon-crw" "image/x-nikon-nef" "image/x-olympus-orf" "image/x-pentax-pef" "image/x-sony-arw" "image/x-epson-erf" "image/x-minolta-mrw" ""
"dng" "cr2" "crw" "nef" "orf" "pef" "arw" "erf" "mrw" ""
"MM *" "  z " 80
"II* \020   CR\002 " "   z zzz   z" 100
"II* " "   z" 80
"IIRO" "    " 100
" MRM" "z   " 100
"II\032   HEAPCCDR" "   zzz        " 100
Comment 3 Yuri N. Sedunov 2010-10-18 14:06:16 MSD
(In reply to comment #2)
> george@grail:~> cat /usr/lib*/gdk-pixbuf-2.0/2.10.0/loaders.cache
> # GdkPixbuf Image Loader Modules file
> # Automatically generated file, do not edit
> # Created by gdk-pixbuf-query-loaders from gdk-pixbuf-2.22.0
> #
> # LoaderDir = /usr/lib64/gtk-2.0/2.10.0/loaders
> #
> "/usr/lib64/gtk-2.0/2.10.0/loaders/libopenraw_pixbuf.so"
> "Digital camera RAW" 0 "gdk-pixbuf" "Digital camera RAW images loader." "LGPL"
> "image/x-adobe-dng" "image/x-canon-cr2" "image/x-canon-crw" "image/x-nikon-nef"
> "image/x-olympus-orf" "image/x-pentax-pef" "image/x-sony-arw"
> "image/x-epson-erf" "image/x-minolta-mrw" ""
> "dng" "cr2" "crw" "nef" "orf" "pef" "arw" "erf" "mrw" ""
> "MM *" "  z " 80
> "II* \020   CR\002 " "   z zzz   z" 100
> "II* " "   z" 80
> "IIRO" "    " 100
> " MRM" "z   " 100
> "II\032   HEAPCCDR" "   zzz        " 100

Маловато.
Рассказывай как обновлялся. 
# apt-get install --reinstall libgdk-pixbuf-loaders
Comment 4 Fr. Br. George 2010-10-18 14:30:10 MSD
> Маловато.
> Рассказывай как обновлялся. 
# apt-get update apt-get dist-upgrade :)
> # apt-get install --reinstall libgdk-pixbuf-loaders
Помогло, конечно. Спасибо.

Только это не у меня одного так. Все мною спрошенные, кто сегодня dist-upgrade делал, на это наткнулись. Вопрос в том, почему этот кеш не сгененрился?
Comment 5 Yuri N. Sedunov 2010-10-18 14:38:56 MSD
(In reply to comment #4)
> > Маловато.
> > Рассказывай как обновлялся. 
> # apt-get update apt-get dist-upgrade :)
> > # apt-get install --reinstall libgdk-pixbuf-loaders
> Помогло, конечно. Спасибо.
> 
> Только это не у меня одного так. Все мною спрошенные, кто сегодня dist-upgrade
> делал, на это наткнулись. Вопрос в том, почему этот кеш не сгененрился?

Не знаю, у меня на двух машинах обновление прошло успешно, посттрансфайлтриггер отработал, как должно.
Comment 6 Yuri N. Sedunov 2010-10-18 14:41:22 MSD
Кстати, libopenraw надо заточить под libgdk-pixbuf
Comment 7 Vladimir Cherny 2010-10-18 15:10:28 MSD
Мне помогло только после полной перезагрузки системы. До этого файл /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache упорно не менялся.
Comment 8 Fr. Br. George 2010-10-18 15:54:32 MSD
У меня подобные шуточки как-то случились при локальной сборке из-за разницы времён. Время при запаковки файла проставляется локальное, а при установке интерпретируется по Гринвичу, т. е. на четыре часа новее. В течение этих четырёх часов из пакета ставятся файлы будущего; соответственно, они новее любых только что заведённых.
Comment 9 arc@altlinux.org 2010-10-18 20:48:56 MSD
(В ответ на комментарий №4)
> > Маловато.
> > Рассказывай как обновлялся. 
> # apt-get update apt-get dist-upgrade :)
> > # apt-get install --reinstall libgdk-pixbuf-loaders
> Помогло, конечно. Спасибо.

аналогично.
Comment 10 Sergey Shilov 2010-10-18 23:16:57 MSD
(В ответ на комментарий №4)
> # apt-get update apt-get dist-upgrade :)
> > # apt-get install --reinstall libgdk-pixbuf-loaders
> Помогло, конечно. Спасибо.
> 
> Только это не у меня одного так. Все мною спрошенные, кто сегодня dist-upgrade
> делал, на это наткнулись. Вопрос в том, почему этот кеш не сгененрился?
Возможно "подземный стук", но... обновлял 2 системы 586 и 86_64 соотв.
Первая - без проблем, вторая - без значков. Отличие между системами в наличии на 86_64  gdk-pixbuf и gdk-pixbuf-loaders (видимо от следы старых обновлений).
apt-get install --reinstall libgdk-pixbuf-loaders && reboot - не помогло, кертинки появились после выноса apt-get remove gdk-pixbuf-loaders && reboot.
Может это как-то влияло?
Comment 11 Radik Usupov 2010-10-19 12:41:23 MSD
Проапгрейдился сегодня. Все повторилось...
Comment 12 Radik Usupov 2010-10-19 12:45:46 MSD
(В ответ на комментарий №3)
> Рассказывай как обновлялся. 
> # apt-get install --reinstall libgdk-pixbuf-loaders

Сначала с el-smp переехал на un-def, а потом сделал apt-get dist-upgrade.
Приведенное решение помогло.
Comment 13 Sir Raorn 2010-10-19 15:56:18 MSD
*** Bug 24363 has been marked as a duplicate of this bug. ***
Comment 14 Repository Robot 2010-10-20 04:48:09 MSD
libgdk-pixbuf-2.22.0-alt2 -> sisyphus:

* Mon Oct 11 2010 Yuri N. Sedunov <aris@altlinux> 2.22.0-alt2
- reduced priority for gdk-pixbuf-query-loaders-2.0.filetrigger
  (closes #24352)
Comment 15 ildar 2010-10-21 12:26:31 MSD
Считаю, что это странное поведение gdk-pixbuf-query-loaders:
# /usr/bin/gdk-pixbuf-query-loaders | grep LoaderDir
# LoaderDir = /usr/lib/gtk-2.0/2.10.0/loaders

Поэтому просто reinstall не помогает. Кому-то помог reboot. Мне помогло следующее:
# GDK_PIXBUF_MODULEDIR=/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders /usr/bin/gdk-pixbuf-query-loaders --update-cache

Рекомендую.
Comment 16 Sir Raorn 2010-10-23 18:45:28 MSD
*** Bug 24396 has been marked as a duplicate of this bug. ***
Comment 17 Alexander Morozov 2010-10-25 17:18:41 MSD
Мне совет от ildar что-то не помог.
Но от проблемы можно избавиться, вписав в ~/.bashrc строку
export GDK_PIXBUF_MODULE_FILE=/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
Comment 18 Alexander Morozov 2010-10-25 17:37:49 MSD
После dist-upgrade и перелогина в kde заработало и без установки GDK_PIXBUF_MODULE_FILE
Comment 19 Vitaly Lipatov 2010-10-25 18:03:09 MSD
Что-то не заметно, что проблема решилась в ibgdk-pixbuf-2.22.0-alt2
Мне помогло следующее:
# rpm -e libgdk-pixbuf --nodeps
# apt-get -f install
# /usr/bin/gdk-pixbuf-query-loaders --update-cache
(потому что кэш сам не создался)

Ещё нужно проследить, что в выводе env под пользователем нет подозрительных
переменных GDK_PIXBUF_*.
Comment 20 Yuri N. Sedunov 2010-10-25 18:59:53 MSD
(In reply to comment #19)
> Что-то не заметно, что проблема решилась в ibgdk-pixbuf-2.22.0-alt2
> Мне помогло следующее:
> # rpm -e libgdk-pixbuf --nodeps
> # apt-get -f install
> # /usr/bin/gdk-pixbuf-query-loaders --update-cache
> (потому что кэш сам не создался)

Разумеется, не создался -- надо переустанавливать  libgdk-pixbuf-loaders.

Вобщем, для сизифа пофиксить проблему на уровне пакета не представляется возможным.
Для p5/5.1 надо собрать libgtk+2, в которой соответствующий посттрансфайлтриггер при обновлении будет гарантировано выполняться до такового из  libgdk-pixbuf.
Comment 21 Vitaly Lipatov 2010-10-26 21:28:02 MSD
Что-то мне кажется, что проблему на уровне пакета можно решить.
Иначе вообще в чём смысл dist-upgrade — чтобы потом хвосты подбирать на куче машин?
Comment 22 Yuri N. Sedunov 2010-10-26 21:44:30 MSD
(In reply to comment #21)
> Что-то мне кажется, что проблему на уровне пакета можно решить.

Не исключено, -- проверьте
http://ftp.altlinux.org/pub/people/gnome/delayed/gdk-pixbuf/
Comment 23 Michael Shigorin 2010-10-27 00:35:37 MSD
Тоже напоролся -- плюс отлетели кнопки назад-вперёд в firefox (но не reload, stop или home).  После sudo /usr/bin/gdk-pixbuf-query-loaders --update-cache не появились.  Сейчас дист-апгрейжусь с подключением
rpm http://ftp.altlinux.org/pub/people/gnome/delayed/gdk-pixbuf i586 hasher

2 aris: а что, триггер (не файловый, а старый недобрый обычный) тоже никак?  Можешь описать проблему, постараюсь добраться? (на всякий -- /usr/share/doc/rpm-4.0.4/manual/triggers)
Comment 24 Vladislav Zavjalov 2010-10-27 00:42:38 MSD
А кнопки в firefox - это отсюда же? У меня их-двух тоже нет, хотя все остальное - починилось обновлением libgdk-pixbuf-loaders.
Comment 25 Andrey Cherepanov 2010-10-27 01:21:10 MSD
(В ответ на комментарий №24)
> А кнопки в firefox - это отсюда же? У меня их-двух тоже нет, хотя все остальное
> - починилось обновлением libgdk-pixbuf-loaders.
Кстати, наблюдается при использовании fvwm на свежепоставленном Кентавре. Каких-то значков не хватает.
Comment 26 Vladislav Zavjalov 2010-10-27 01:32:03 MSD
> Каких-то значков не хватает.

Оно даже говорит каких:
(xulrunner:13162): Gtk-WARNING **: Error loading theme icon 'gtk-go-forward-ltr' for stock: Icon 'gtk-go-forward-ltr' not present in theme
(xulrunner:13162): Gtk-WARNING **: Error loading theme icon 'gtk-go-back-ltr' for stock: Icon 'gtk-go-back-ltr' not present in theme
Comment 27 Michael Shigorin 2010-10-27 01:45:01 MSD
(In reply to comment #24)
> А кнопки в firefox - это отсюда же?
Извиняюсь, не оно -- gqview и впрямь починился после обновления из сизифа с указанным в #c23 репо.
Comment 28 Andrey Cherepanov 2010-10-27 22:30:27 MSD
(В ответ на комментарий №26)
> > Каких-то значков не хватает.
> 
> Оно даже говорит каких:
> (xulrunner:13162): Gtk-WARNING **: Error loading theme icon
> 'gtk-go-forward-ltr' for stock: Icon 'gtk-go-forward-ltr' not present in theme
> (xulrunner:13162): Gtk-WARNING **: Error loading theme icon 'gtk-go-back-ltr'
> for stock: Icon 'gtk-go-back-ltr' not present in theme
[cas@localhost ~]$ rpm -qf `find /usr/share/icons/ -name gtk-go-back-ltr\*` --qf '%{name} %{size}\n' | sort | uniq
icon-theme-oxygen 28545471
tango-icon-theme 7477795

Вот и думай, где взять самое маленькое зло. :)
Comment 29 ildar 2010-10-28 07:46:24 MSD
(В ответ на комментарий №28)
> Вот и думай, где взять самое маленькое зло. :)

Есть и другие варианты:
gnome-icon-theme 8592333
gtk2-theme-nimbus 9949465
icon-theme-crux 438181
icon-themes-accessibility 1739966
icon-theme-simple 22173337

Однако почему Вы пишите слово "маленькое"?
firefox-3.6 3402784
xulrunner-192 5814494
xulrunner-192-libs 18498296
Comment 30 Bikov Rinat 2010-11-07 15:58:01 MSK
И что же теперь делать с FireFox'ом?

icon-theme-oxygen 26686382
kde4artwork-icon-theme-nuvola 17694276
tango-icon-theme 7477795
Comment 31 Andrey Cherepanov 2010-11-07 19:29:04 MSK
(В ответ на комментарий №30)
> И что же теперь делать с FireFox'ом?
> 
> icon-theme-oxygen 26686382
> kde4artwork-icon-theme-nuvola 17694276
> tango-icon-theme 7477795
Надо прописывать минимальный пакет с GTKшными значками.
Comment 32 at@altlinux.org 2011-02-17 02:48:50 MSK
А что дало переименование триггера gdk-pixbuf-*.filetrigger в 100gdk-pixbuf-*.filetrigger?  Раньше кого он стал выполняться?
Comment 33 Yuri N. Sedunov 2011-02-17 03:18:11 MSK
(В ответ на комментарий №32)
> А что дало переименование триггера gdk-pixbuf-*.filetrigger в
> 100gdk-pixbuf-*.filetrigger?  Раньше кого он стал выполняться?

Ничего не дало. Проблема было в другом.
Исправлено в libgdk-pixbuf-2.22.0-alt3.
Comment 34 at@altlinux.org 2011-02-17 03:25:33 MSK
А в чём была проблема?  Кто-то выставлял левое значение в GDK_PIXBUF_MODULEDIR?
Comment 35 Yuri N. Sedunov 2011-02-17 03:30:46 MSK
(В ответ на комментарий №34)
> А в чём была проблема?  Кто-то выставлял левое значение в GDK_PIXBUF_MODULEDIR?

Да.
Comment 36 at@altlinux.org 2011-02-17 03:36:43 MSK
Кто выставлял левое значение GDK_PIXBUF_MODULEDIR?
Comment 37 Yuri N. Sedunov 2011-02-17 03:45:38 MSK
(В ответ на комментарий №36)
> Кто выставлял левое значение GDK_PIXBUF_MODULEDIR?

/etc/profile.d/libgtk+2.{sh,csh}, которых больше нет.