Created attachment 17246 [details] Вывод strace при запуске /usr/bin/rawtherapee *** buffer overflow detected ***: terminated Система - simply linux обновленный до p11 rawtherapee из AppImage скачанный с сайта запускается успешно. Прикладываю вывод strace.
$ rpm -q rawtherapee ? На сизифе воспроизводится? У меня -- нет.
# rpm -q rawtherapee rawtherapee-5.11-alt1.x86_64 Про сизиф ничего не могу сказать. У меня p11.
# rpm -qa | grep rawtherapee rawtherapee-5.11-alt1.x86_64 rawtherapee-data-5.11-alt1.noarch
Может быть это какая-то особенность конкретно моей системы/конфигурации, но я не могу понять что нужно поменять/убрать/добавить чтобы оно заработало и на каком именно вызове оно ломается. $strace -Z -kk /usr/bin/rawtherapee ... > /usr/lib64/libc.so.6(__open64_nocancel+0x3e) [0x100c0e] > /usr/lib64/libc.so.6() [0x3466d] > /usr/lib64/libc.so.6() [0x33e31] > /usr/lib64/libc.so.6(setlocale+0x126) [0x330a6] > /usr/bin/rawtherapee() [0x33aa2a] > /usr/lib64/libc.so.6() [0x27c8b] > /usr/lib64/libc.so.6(__libc_start_main+0x84) [0x27d44] > /usr/bin/rawtherapee() [0x345490] openat(AT_FDCWD, "/usr/lib/locale/ru_RU.UTF-8/LC_CTYPE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) > /usr/lib64/libc.so.6(__open64_nocancel+0x3e) [0x100c0e] > /usr/lib64/libc.so.6() [0x3466d] > /usr/lib64/libc.so.6() [0x33e31] > /usr/lib64/libc.so.6(setlocale+0x126) [0x330a6] > /usr/bin/rawtherapee() [0x33aa2a] > /usr/lib64/libc.so.6() [0x27c8b] > /usr/lib64/libc.so.6(__libc_start_main+0x84) [0x27d44] > /usr/bin/rawtherapee() [0x345490] *** buffer overflow detected ***: terminated +++ killed by SIGABRT +++ Аварийный останов До перехода на p11 оно точно нормально запускалось..
Еще вот так: strace -kk /usr/bin/rawtherapee .... > /usr/bin/rawtherapee() [0x345490] clone3({flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, child_tid=0x7fe2fcff9990, parent_tid=0x7fe2fcff9990, exit_signal=0, stack=0x7fe2fc7f9000, stack_size=0x7ff740, tls=0x7fe2fcff96c0} => {parent_tid=[52649]}, 88) = 52649 > /usr/lib64/libc.so.6() [0x10d009] > No DWARF information found rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 > /usr/lib64/libc.so.6(pthread_create+0x588) [0x8b038] > /usr/lib64/libgomp.so.1.0.0() [0x2144e] > /usr/lib64/libgomp.so.1.0.0(GOMP_parallel_sections+0x7d) [0x178cd] > /usr/bin/rawtherapee() [0xa5b8c3] > /usr/bin/rawtherapee() [0x77c53f] > /usr/bin/rawtherapee() [0x33abad] > /usr/lib64/libc.so.6() [0x27c8b] > /usr/lib64/libc.so.6(__libc_start_main+0x84) [0x27d44] > /usr/bin/rawtherapee() [0x345490] futex(0x55aa0fa01f24, FUTEX_WAKE_PRIVATE, 2147483647) = 4 > /usr/lib64/libgomp.so.1.0.0() [0x23937] > /usr/lib64/libgomp.so.1.0.0() [0x21995] > /usr/lib64/libgomp.so.1.0.0(GOMP_parallel_sections+0x7d) [0x178cd] > /usr/bin/rawtherapee() [0xa5b8c3] > /usr/bin/rawtherapee() [0x77c53f] > /usr/bin/rawtherapee() [0x33abad] > /usr/lib64/libc.so.6() [0x27c8b] > /usr/lib64/libc.so.6(__libc_start_main+0x84) [0x27d44] > /usr/bin/rawtherapee() [0x345490] *** buffer overflow detected ***: terminated +++ killed by SIGABRT +++ Аварийный останов
rawtherapee сегодня обновился в p11. Но в моем случае изменений нет - по прежнему buffer owerflow
$ rawtherapee *** buffer overflow detected ***: terminated Аварийный останов (образ памяти сброшен на диск) Проверено на starterkit xfce p11, alpha K-workstation p11 Appimage с сайта программы - работает.
Тоже самое. starterkit xfce p11 обновлен 25.04.2025 rawtherapee 5.11 установленный из репозитория не запускается : buffer owerflow Appimage скачаный с сайта запускается, но при работе в "Локальных Настройках" (Selective Editing) Например работа с Экспозицией (-) программа крашится. В логи ничего не пишет: (process:556756): Gtk-WARNING **: 14:10:17.347: Locale not supported by C library. Using the fallback 'C' locale. Gtk-Message: 14:10:17.347: Failed to load module "xapp-gtk3-module" ** (AppRun.wrapped:556756): WARNING **: 14:10:44.562: atk-bridge: get_device_events_reply: unknown signature Машина: CPU: AMD Ryzen 5 1600 Mem: 4.53/39.1 GiB Kernel: 6.12.21-6.12-alt1 x86_64 Старая версия Appimage 5.9 работает без ошибок. Но она чуть позадумчевее, и некоторых инструментов в ней еще нету
Как оказалось у команды разработчиков Rawtherapee уже почти готова версия 5.12 Релиз кандидат RawTherapee_5.12-rc2_release.AppImage скачаный с гитхаба, отлично заработал на starterkit xfce p11, без вылетов. Так что ждем рабочую 12-ую версию в репозитории
Я давно сижу на AppImage. У меня и 5.11 и 5.12rc2 - обе стабильно работают. В отличие от версии из репозитория, которая также стабильно сломана.
тестовые задания с 5.12-rc2: для сизифа [#383796] TESTED srpm=rawtherapee-5.12-alt0.5.rc2.src.rpm для p11 [#383799] [test-only] p11 FAILED srpm=rawtherapee-5.12-alt0.5.rc2.src.rpm Пробуйте. У меня на сизифе также не падает.
Также падает. Без изменений. $ /usr/bin/rawtherapee *** buffer overflow detected ***: terminated Аварийный останов
Подозреваяю что дело может быть в каких-то подгружаемых библиотеках.. Которые либо "лишние" по сравнению с "рабочей" системой, либо их "не хватает".
Мы даже знаем имя этой библиотеки -- liblensfun Почему ей так плохо именно на p11, возможно подскажет её мантейнер. *** buffer overflow detected ***: terminated Thread 11 "rawtherapee" received signal SIGABRT, Aborted. [Switching to Thread 0x7fffed7f66c0 (LWP 14270)] __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0; (gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007ffff48a475f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #2 0x00007ffff4855982 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007ffff483e4ef in __GI_abort () at abort.c:79 #4 0x00007ffff483f39d in __libc_message (fmt=fmt@entry=0x7ffff49b62f2 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:152 #5 0x00007ffff49330e7 in __GI___fortify_fail (msg=msg@entry=0x7ffff49b62d9 "buffer overflow detected") at fortify_fail.c:24 #6 0x00007ffff4932ad2 in __GI___chk_fail () at chk_fail.c:28 #7 0x00007ffff675f5c1 in strcpy (__src=<optimized out>, __dest=<optimized out>, __dest=<optimized out>, __src=<optimized out>) at /usr/include/bits/string_fortified.h:79 #8 lfMount::AddCompat (val=<optimized out>, this=0x7fffd4005ac0) at /usr/src/debug/liblensfun-0.3.95/libs/lensfun/mount.cpp:64 #9 lfMount::AddCompat (this=0x7fffd4005ac0, val=<optimized out>) at /usr/src/debug/liblensfun-0.3.95/libs/lensfun/mount.cpp:59 #10 0x00007ffff6747046 in _xml_text (context=<optimized out>, text=0x7fffd40058c0 "M42", text_len=3, user_data=0x7fffed7f5390, error=0x7fffed7f5328) at /usr/src/debug/liblensfun-0.3.95/libs/lensfun/database.cpp:750 #11 0x00007ffff73e34dc in g_markup_parse_context_parse (context=0x7fffd4005730, text=<optimized out>, text_len=<optimized out>, error=<optimized out>) at ../glib/gmarkup.c:1495 #12 0x00007ffff67431dd in lfDatabase::Load (this=this@entry=0x7fffd4000b70, errcontext=errcontext@entry=0x7fffd4008cc0 "/usr/share/lensfun/version_2/mil-sony.xml", data=<optimized out>, data_size=112893) at /usr/src/debug/liblensfun-0.3.95/libs/lensfun/database.cpp:843 #13 0x00007ffff67433f5 in lfDatabase::Load (this=0x7fffd4000b70, pathname=0x7fffd4008cc0 "/usr/share/lensfun/version_2/mil-sony.xml") at /usr/src/debug/liblensfun-0.3.95/libs/lensfun/database.cpp:165 #14 0x00007ffff674342d in lfDatabase::Load (this=this@entry=0x7fffd4000b70, pathname=0x5555567d0040 "/usr/share/lensfun/version_2") at /usr/src/debug/liblensfun-0.3.95/libs/lensfun/database.cpp:145 #15 0x00007ffff6743504 in lfDatabase::Load (this=0x7fffd4000b70) at /usr/src/debug/liblensfun-0.3.95/libs/lensfun/database.cpp:107 #16 0x000055555628b323 in ?? () #17 0x0000555556007c90 in ?? () #18 0x00007ffff66fde0e in ?? () from /lib64/libgomp.so.1 #19 0x00007ffff48a29af in start_thread (arg=<optimized out>) at pthread_create.c:444 #20 0x00007ffff49250d8 in clone3 () from /lib64/libc.so.6
Может где-тот здесь собака порылась: # rpm -qa | grep liblensfun liblensfun1-0.3.4-alt1.x86_64 liblensfun-0.3.95-alt1.x86_64 # apt-get remove liblensfun Чтение списков пакетов... Завершено Построение дерева зависимостей... Завершено Следующие пакеты будут УДАЛЕНЫ: liblensfun rawtherapee ufraw 0 будет обновлено, 0 новых установлено, 3 пакетов будет удалено и 0 не будет обновлено. Необходимо получить 0B архивов. После распаковки будет освобождено 35,2MB дискового пространства. Продолжить? [Y/n] ^CПрервано. # apt-get remove liblensfun1 Чтение списков пакетов... Завершено Построение дерева зависимостей... Завершено Следующие пакеты будут УДАЛЕНЫ: darktable digikam kde-maxi libdigikamcore8.5.0 libdigikamdatabase8.5.0 libdigikamgui8.5.0 liblensfun1 0 будет обновлено, 0 новых установлено, 7 пакетов будет удалено и 0 не будет обновлено. Необходимо получить 0B архивов. После распаковки будет освобождено 78,4MB дискового пространства. Продолжить? [Y/n] ^CПрервано.
И да, ufraw падает с аналогичной ошибкой.
При этом darktable которы А может быть попробовать собрать rawtherapee
При этом darktable который использует liblensfun1 запускается успешно. А может быть попробовать собрать rawtherapee тоже c liblensfun1?
liblensfun1 кстати судя по changelog новее. И на github у них самый свежий релиз совпадает с нашим liblensfun1 v0.3.4 Includes all new cameras and lenses up to master commit 645bfdd (Wed Jul 12 18:45:25 2023 +0200)
(Ответ для Alexander на комментарий #18) > При этом darktable который использует liblensfun1 запускается успешно. > А может быть попробовать собрать rawtherapee тоже c liblensfun1? В #383799 теперь rawtherapee на liblensfun1.
Так заработало.
А зачем вообще в репозитории две версии liblensfun? Не логичнее ли оставить одну?
(Ответ для Alexander на комментарий #22) > А зачем вообще в репозитории две версии liblensfun? Затем, что договариваться не умеем. https://bugzilla.altlinux.org/44735
От старой liblensfun зависят только ufraw и rawtherapee: # apt-cache whatdepends liblensfun liblensfun-0.3.95-alt1:p11+383799.200.2.1@1746951713 liblensfun1-devel-0.3.4-alt1:sisyphus+324792.100.1.1@1689245468 Conflicts: liblensfun > 0.3.4 ufraw-0.23-alt0.6:p11+374938.600.13.1@1742484601 Depends: <liblensfun.so.2()(64bit)> liblensfun-0.3.95-alt1:p11+383799.200.2.1@1746951713 rawtherapee-5.12-alt0.5.rc2:p11+383799.300.3.1@1747055634 Соответственно, если их пересобрать с liblensfun1 то старую liblensfun можно выкинуть из p11. Все равно она сломана.
Господа, не понял последние ваши рассуждения. Я всего лишь фотограф-любитель. Скажите, мне нужно подождать когда из репозитория будет удалена liblensfun (без суффикса "1")? Или как то можно уже сейчас переустановить darktable, rawtherapee с liblensfun1? Вобщем то и на данный момент приложение (Appimage) нормально работает. Единственно чего сильно не хватает -- не запускается rawtherapee-cli. Раньше при установке программы из репозитория точно работала.
(Ответ для Евгений на комментарий #25) > Господа, не понял последние ваши рассуждения. Я всего лишь > фотограф-любитель. Скажите, мне нужно подождать когда из репозитория будет > удалена liblensfun (без суффикса "1")? Или как то можно уже сейчас > переустановить darktable, rawtherapee с liblensfun1? Если надо, можете поставить пакет из задания и пользоваться им уже сейчас. Он ничем не хуже того, который вы будете ждать, пока что-то когда-нибудь обновится в P11.
Поставил пакет из задания 383799. Rawtherapee 5.12 установился. Запускается и работает без ошибок! И даже показалось немного быстрее, чем appimage. Благодарю Yuri N. Sedunov за решение проблемы и Alexander за участие!
В задании 383799 собран релиз 5.12. Протестируйте его, пожалуйста.
20 дней почти ежедневного тестирования. Приложение ни разу не упало. Работает прекрасно. Единственный "косячок" -- не всегда срабатывает отображение (просмотр) действия инструмента Blur/Grain & Denoise (Local Adjustments tab). Но это точно вопрос к разработчикам, а не к мейнтейнерам
Запускается. Работает. Вроде все нормально. Даже не сразу заметил что rc2 обновился на релиз :-)
Исправлено в rawtherapee-5.12-alt1.