Bug 52162 - rawtherapee: buffer overflow detected
Summary: rawtherapee: buffer overflow detected
Status: CLOSED FIXED
Alias: None
Product: Branch p11
Classification: Unclassified
Component: rawtherapee (show other bugs)
Version: unspecified
Hardware: x86_64 Linux
: P5 normal
Assignee: Yuri N. Sedunov
QA Contact: qa-p11@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-11-24 09:32 MSK by Alexander
Modified: 2025-06-24 12:33 MSK (History)
6 users (show)

See Also:


Attachments
Вывод strace при запуске (132.80 KB, text/plain)
2024-11-24 09:32 MSK, Alexander
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander 2024-11-24 09:32:28 MSK
Created attachment 17246 [details]
Вывод strace при запуске

/usr/bin/rawtherapee
*** buffer overflow detected ***: terminated

Система - simply linux обновленный до p11

rawtherapee из AppImage скачанный с сайта запускается успешно.

Прикладываю вывод strace.
Comment 1 Yuri N. Sedunov 2024-11-25 09:47:16 MSK
$ rpm -q rawtherapee
?

На сизифе воспроизводится? У меня -- нет.
Comment 2 Alexander 2024-11-25 21:50:54 MSK
# rpm -q rawtherapee
rawtherapee-5.11-alt1.x86_64

Про сизиф ничего не могу сказать. У меня p11.
Comment 3 Alexander 2024-11-25 21:53:10 MSK
# rpm -qa | grep  rawtherapee
rawtherapee-5.11-alt1.x86_64
rawtherapee-data-5.11-alt1.noarch
Comment 4 Alexander 2024-11-27 14:25:13 MSK
Может быть это какая-то особенность конкретно моей системы/конфигурации, но я не могу понять что нужно поменять/убрать/добавить чтобы оно заработало и на каком именно вызове оно ломается.
$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 оно точно нормально запускалось..
Comment 5 Alexander 2024-11-27 14:47:25 MSK
Еще вот так:
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 +++
Аварийный останов
Comment 6 Alexander 2024-12-03 11:43:04 MSK
rawtherapee сегодня обновился в p11.
Но в моем случае изменений нет - по прежнему buffer owerflow
Comment 7 mrfffix 2025-01-07 10:14:39 MSK
$ rawtherapee
*** buffer overflow detected ***: terminated
Аварийный останов (образ памяти сброшен на диск)

Проверено на starterkit xfce p11, alpha K-workstation p11
Appimage с сайта программы - работает.
Comment 8 Евгений 2025-04-26 10:27:45 MSK
Тоже самое. 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 работает без ошибок. Но она чуть позадумчевее, и некоторых инструментов в ней еще нету
Comment 9 Евгений 2025-05-09 19:21:22 MSK
Как оказалось у команды разработчиков Rawtherapee уже почти готова версия 5.12
Релиз кандидат RawTherapee_5.12-rc2_release.AppImage скачаный с гитхаба, отлично заработал на starterkit xfce p11, без вылетов.
Так что ждем рабочую 12-ую версию в репозитории
Comment 10 Alexander 2025-05-10 18:38:33 MSK
Я давно сижу на AppImage. У меня и 5.11 и 5.12rc2 - обе стабильно работают. В отличие от версии из репозитория, которая также стабильно сломана.
Comment 11 Yuri N. Sedunov 2025-05-10 19:37:35 MSK
тестовые задания с 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


Пробуйте.

У меня на сизифе также не падает.
Comment 12 Alexander 2025-05-11 08:39:50 MSK
Также падает. Без изменений. 
$ /usr/bin/rawtherapee
*** buffer overflow detected ***: terminated
Аварийный останов
Comment 13 Alexander 2025-05-11 11:52:46 MSK
Подозреваяю что дело может быть в каких-то подгружаемых библиотеках.. Которые либо "лишние" по сравнению с "рабочей" системой, либо их "не хватает".
Comment 14 Yuri N. Sedunov 2025-05-11 12:13:44 MSK
Мы даже знаем имя этой библиотеки -- 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
Comment 15 Alexander 2025-05-11 12:37:33 MSK
Может где-тот здесь собака порылась:
# 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Прервано.
Comment 16 Alexander 2025-05-11 12:39:48 MSK
И да, ufraw падает с аналогичной ошибкой.
Comment 17 Alexander 2025-05-11 12:42:02 MSK
При этом darktable которы
А может быть попробовать собрать rawtherapee
Comment 18 Alexander 2025-05-11 12:50:40 MSK
При этом darktable который использует liblensfun1 запускается успешно.
А может быть попробовать собрать rawtherapee тоже c liblensfun1?
Comment 19 Alexander 2025-05-11 13:15:04 MSK
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)
Comment 20 Yuri N. Sedunov 2025-05-12 16:36:46 MSK
(Ответ для Alexander на комментарий #18)
> При этом darktable который использует liblensfun1 запускается успешно.
> А может быть попробовать собрать rawtherapee тоже c liblensfun1?

В #383799 теперь rawtherapee на liblensfun1.
Comment 21 Alexander 2025-05-12 17:28:16 MSK
Так заработало.
Comment 22 Alexander 2025-05-12 17:31:31 MSK
А зачем вообще в репозитории две версии liblensfun? Не логичнее ли оставить одну?
Comment 23 Yuri N. Sedunov 2025-05-12 17:47:03 MSK
(Ответ для Alexander на комментарий #22)
> А зачем вообще в репозитории две версии liblensfun? 

Затем, что договариваться не умеем.
https://bugzilla.altlinux.org/44735
Comment 24 Alexander 2025-05-12 19:03:41 MSK
От старой 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. Все равно она сломана.
Comment 25 Евгений 2025-05-12 20:02:49 MSK
Господа, не понял последние ваши рассуждения. Я всего лишь фотограф-любитель. Скажите, мне нужно подождать когда из репозитория будет удалена liblensfun (без суффикса "1")? Или  как то можно уже сейчас переустановить darktable, rawtherapee  с liblensfun1?
Вобщем то и на данный момент приложение (Appimage) нормально работает. Единственно чего сильно не хватает -- не запускается rawtherapee-cli. Раньше при установке программы из репозитория точно работала.
Comment 26 Yuri N. Sedunov 2025-05-12 20:32:25 MSK
(Ответ для Евгений на комментарий #25)
> Господа, не понял последние ваши рассуждения. Я всего лишь
> фотограф-любитель. Скажите, мне нужно подождать когда из репозитория будет
> удалена liblensfun (без суффикса "1")? Или  как то можно уже сейчас
> переустановить darktable, rawtherapee  с liblensfun1?

Если надо, можете поставить пакет из задания и пользоваться им уже сейчас. Он ничем не хуже того, который вы будете ждать, пока что-то когда-нибудь обновится в P11.
Comment 27 Евгений 2025-05-12 22:57:03 MSK
Поставил пакет из задания 383799. Rawtherapee 5.12 установился. Запускается и работает без ошибок! И даже показалось немного быстрее, чем appimage. Благодарю  Yuri N. Sedunov за решение проблемы и Alexander за участие!
Comment 28 Yuri N. Sedunov 2025-05-29 10:45:07 MSK
В задании 383799 собран релиз 5.12. Протестируйте его, пожалуйста.
Comment 29 Евгений 2025-06-01 10:52:16 MSK
20 дней почти ежедневного тестирования. Приложение ни разу не упало. Работает прекрасно. Единственный "косячок" -- не всегда срабатывает отображение (просмотр) действия инструмента Blur/Grain & Denoise (Local Adjustments tab). Но это точно вопрос к разработчикам, а не к мейнтейнерам
Comment 30 Alexander 2025-06-04 11:52:36 MSK
Запускается. Работает. Вроде все нормально. Даже не сразу заметил что  rc2 обновился на релиз :-)
Comment 31 Evgeny Shesteperov 2025-06-24 12:33:20 MSK
Исправлено в rawtherapee-5.12-alt1.