Bug 37458 - rosa-imagewriter не запускается из меню
Summary: rosa-imagewriter не запускается из меню
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: rosa-imagewriter (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Andrey Cherepanov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-11-08 18:30 MSK by Vera Blagoveschenskaya
Modified: 2023-09-09 18:39 MSK (History)
7 users (show)

See Also:


Attachments
screen (864.83 KB, image/png)
2019-11-08 18:30 MSK, Vera Blagoveschenskaya
no flags Details
После подмены файла RosaImageWriter утилита запускается (156.84 KB, image/png)
2022-04-23 19:09 MSK, gosts 87
no flags Details
Архив с рабочим испоняемым файлом RosaImageWriter (350.00 KB, application/octet-stream)
2022-05-06 20:32 MSK, gosts 87
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vera Blagoveschenskaya 2019-11-08 18:30:39 MSK
Created attachment 8383 [details]
screen

workstation-9-i586 ~ # rpm -qa | grep rosa
rosa-imagewriter-2.6.1.0-alt2.i586

rosa-imagewriter не запускается из меню

При запуске из консоли ошибка 
test@workstation-9-i586 ~ $ /usr/bin/xdg-su -c /usr/bin/rosa-imagewriter %f
xdg-su: unexpected argument '%f'
Try 'xdg-su --help' for more information.
Comment 1 Vera Blagoveschenskaya 2019-11-08 18:33:02 MSK
См. также https://bugzilla.altlinux.org/show_bug.cgi?id=35602
Comment 2 invariabilis 2020-02-25 11:45:59 MSK
(Ответ для Vera Blagoveschenskaya на комментарий #0)
> Создано вложение 8383 [details] [подробности]
> screen
> 
> workstation-9-i586 ~ # rpm -qa | grep rosa
> rosa-imagewriter-2.6.1.0-alt2.i586
> 
> rosa-imagewriter не запускается из меню
> 
> При запуске из консоли ошибка 
> test@workstation-9-i586 ~ $ /usr/bin/xdg-su -c /usr/bin/rosa-imagewriter %f
> xdg-su: unexpected argument '%f'
> Try 'xdg-su --help' for more information.

workstation-9-x86-64

rosa-imagewriter не запускается из меню. Ошибка та же..
Comment 3 gosts 87 2022-02-08 19:38:54 MSK
Alt-Workstation 10 x86_64  -  то же самое. Не запускается.
Comment 4 viktor 2022-04-03 20:19:31 MSK
Здравствуйте! В simply linux р10 (стабильная ветка), тоже не работает Вывод терминал

# rpm -qa | grep rosa
rosa-imagewriter-2.6.2.0-alt1.x86_64

Запуск от юзера
$ rosa-imagewriter 
(consolehelper:6153): Gtk-WARNING **: 21:26:20.260: Загружаемый модуль тем не найден в module_path: «adwaita»,

(consolehelper:6153): Gtk-WARNING **: 21:26:20.264: Загружаемый модуль тем не найден в module_path: «adwaita»,
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/.private/root/runtime-root'

Запуск от рута
# rosa-imagewriter
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/.private/root/runtime-root'
Ошибка сегментирования
Comment 5 gosts 87 2022-04-04 16:31:32 MSK
А зачем, вообще, запуск rosa-imagewriter по паролю? Да, ещё, и root? Тот-же AltMediaWriter запускается без ввода пароля.
Comment 6 Дмитрий Дегтярев 2022-04-14 15:40:59 MSK
(In reply to gosts 87 from comment #5)
> А зачем, вообще, запуск rosa-imagewriter по паролю? Да, ещё, и root? Тот-же
> AltMediaWriter запускается без ввода пароля.

AltMediaWriter запускается без пароля но потом спрашивает его когда требуется доступ к флешке. Наверно rosa получает все права при запуске.
Comment 7 gosts 87 2022-04-14 15:58:17 MSK
(Ответ для Дмитрий Дегтярев на комментарий #6)
> (In reply to gosts 87 from comment #5)
> > А зачем, вообще, запуск rosa-imagewriter по паролю? Да, ещё, и root? Тот-же
> > AltMediaWriter запускается без ввода пароля.
> 
> AltMediaWriter запускается без пароля но потом спрашивает его когда
> требуется доступ к флешке. Наверно rosa получает все права при запуске.

Да. Спасибо! Мне это уже объяснили на форуме.
По сути проблемы: здесь бага датирована 2019 годом. Но я помню, что у меня проблемы с rosa-imagewriter появились только когда я перешёл на p10 в начале 2022 года. На p9 в тот период времени (2019 г.) с запуском и работой этой утилиты проблем у меня не было...
Comment 8 gosts 87 2022-04-22 23:06:20 MSK
Для эксперимента поставил старую версию пакета rosa-imagewriter-2.6.1.0-alt2.x86_64.rpm в p10
Результат - утилита не запускается. Терминал выдаёт следующее:
от пользователя: 
$ rosa-imagewriter

(consolehelper:13907): GLib-GIO-CRITICAL **: 02:42:51.074: g_dbus_proxy_new: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/.private/root/runtime-root'

от рута:
# rosa-imagewriter
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/.private/root/runtime-root'
Ошибка сегментирования

Попробовал поиграться с названием:
# RosaImageWriter
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/.private/root/runtime-root'
Ошибка сегментирования
...
Comment 9 gosts 87 2022-04-23 19:03:30 MSK
Проблема в файле RosaImageWriter. Подменил его взятым из скачанного архива Росы - и запустилось.
Comment 10 gosts 87 2022-04-23 19:09:44 MSK
Created attachment 10647 [details]
После подмены файла RosaImageWriter утилита запускается

~ $ rosa-imagewriter

(consolehelper:7249): GLib-GIO-CRITICAL **: 23:05:21.489: g_dbus_proxy_new: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
Comment 11 gosts 87 2022-04-27 17:14:33 MSK
При попытке собрать пакет из src
rpm -bs --nodeps rosa-imagewriter.spec
ошибка: Macro %mklibname not found
ошибка: строка 18: Suggests:	%mklibname udev 1
Comment 12 Andrey Cherepanov 2022-04-28 13:56:44 MSK
(Ответ для gosts 87 на комментарий #11)
> При попытке собрать пакет из src
> rpm -bs --nodeps rosa-imagewriter.spec
> ошибка: Macro %mklibname not found
> ошибка: строка 18: Suggests:	%mklibname udev 1

В Альте Suggests: не поддерживается.
Comment 13 gosts 87 2022-05-06 20:32:16 MSK
Created attachment 10715 [details]
Архив с рабочим испоняемым файлом RosaImageWriter
Comment 14 Ivan A. Melnikov 2022-05-13 14:23:49 MSK
Посмотрим на Сизифе, с установленным debuginfo

# gdb rosa-imagewriter
[...]
Thread 1 "rosa-imagewrite" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x000055555556985a in UsbDeviceMonitor::startMonitoring (this=this@entry=0x7fffffffe120) at usbdevicemonitor_lin.cpp:113
#2  0x000055555555f84a in main (argc=<optimized out>, argv=<optimized out>) at main.cpp:58


То есть, был вызов функции по адресу 0. Если внимательно посмотреть на usbdevicemonitor_lin.cpp:113, там можно увидеть вызов udev_new:

https://git.altlinux.org/gears/r/rosa-imagewriter.git?a=blob;f=usbdevicemonitor_lin.cpp;h=d036df8afde61dd2dd8afb58aa828a9463d0c43b#l113

Почему udev_new может оказаться нулём? Хотя бы потому, что с libudev rosa-imagewriter не линкуется, и udev_new объявлен как weak выше на строке 18. Авторы rosa-imagewriter почему-то решили, что dlopen на libudev достаточно, чтобы динамический компоновщик попробовал заново разрешить weak symbols, однако на актуальной Сизифной glibc это, очевидно, не так. Убедиться в этом несложно, распечатав адрес udev_new перед её вызовом: там 0. Вообще говоря, никто и не обещал, что после dlopen weak symbols вдруг разрезолвятся, но когда-то это, очевидно, работало.

На первый взгляд единственное, для чего нужен dlopen -- чтобы можно было запускаться и с libudev.so.0, и с libudev.so.1, и работать на системах без libudev. Но сейчас в этом немного смысла. Я думаю, лучше оторвать всю эту weak/dlopen'ную магию и просто слинковаться с libudev.so.1.
Comment 15 Ivan A. Melnikov 2022-05-13 14:45:48 MSK
(In reply to Ivan A. Melnikov from comment #14)
> Я думаю, лучше оторвать всю эту weak/dlopen'ную магию и просто слинковаться с libudev.so.1.

Например, так (люблю удалять код):

https://git.altlinux.org/people/iv/packages/rosa-imagewriter.git?a=commitdiff;h=fea690cfea075d5c66de0d684b35261fe69a6360

Собрал test-only в https://git.altlinux.org/tasks/299897/ -- запускается, на появление флешек реагирует, что-нибудь записывать не пробовал потомучто лень.
Comment 16 gosts 87 2022-05-14 20:49:07 MSK
(Ответ для Ivan A. Melnikov на комментарий #15)
> (In reply to Ivan A. Melnikov from comment #14)
> > Я думаю, лучше оторвать всю эту weak/dlopen'ную магию и просто слинковаться с libudev.so.1.
> 
> Например, так (люблю удалять код):
> 
> https://git.altlinux.org/people/iv/packages/rosa-imagewriter.
> git?a=commitdiff;h=fea690cfea075d5c66de0d684b35261fe69a6360
> 
> Собрал test-only в https://git.altlinux.org/tasks/299897/ -- запускается, на
> появление флешек реагирует, что-нибудь записывать не пробовал потомучто лень.

Получено: 1 http://browser-rpm.sputnik.ru x86_64 release [426B]

Получено: 2 http://mirror.yandex.ru p10/branch/x86_64 release [4223B]

Получено: 3 http://mirror.yandex.ru p10/branch/x86_64-i586 release [1665B]

Получено: 4 http://mirror.yandex.ru p10/branch/noarch release [2844B]

Получено 9158B за 0s (17,4kB/s).

Получено: 1 http://browser-rpm.sputnik.ru x86_64/classic pkglist [984B]

Найдено http://mirror.yandex.ru p10/branch/x86_64/classic pkglist

Получено: 2 http://browser-rpm.sputnik.ru x86_64/classic release [126B]

Найдено http://mirror.yandex.ru p10/branch/x86_64/classic release

Найдено http://mirror.yandex.ru p10/branch/x86_64-i586/classic pkglist

Найдено http://mirror.yandex.ru p10/branch/x86_64-i586/classic release

Найдено http://mirror.yandex.ru p10/branch/noarch/classic pkglist

Найдено http://mirror.yandex.ru p10/branch/noarch/classic release

Получено 1110B за 0s (2676B/s).

Reading Package Lists...
Building Dependency Tree...
Чтение списков пакетов...

Selecting rosa-imagewriter for '/home/using/Загрузки/rosa-imagewriter-2.6.2.0-alt2.x86_64.rpm'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following packages have unmet dependencies:
  rosa-imagewriter: Depends: libc.so.6(GLIBC_2.34)(64bit) but it is not installable
E: Broken packages
Построение дерева зависимостей...
Comment 17 gosts 87 2022-05-14 21:19:00 MSK
Получено: 1 http://browser-rpm.sputnik.ru x86_64 release [426B]

Получено: 2 http://mirror.yandex.ru p10/branch/x86_64 release [4223B]

Получено: 3 http://mirror.yandex.ru p10/branch/x86_64-i586 release [1665B]

Получено: 4 http://mirror.yandex.ru p10/branch/noarch release [2844B]

Получено 9158B за 5s (1672B/s).

Найдено http://browser-rpm.sputnik.ru x86_64/classic pkglist

Найдено http://mirror.yandex.ru p10/branch/x86_64/classic pkglist

Найдено http://browser-rpm.sputnik.ru x86_64/classic release

Найдено http://mirror.yandex.ru p10/branch/x86_64/classic release

Найдено http://mirror.yandex.ru p10/branch/x86_64-i586/classic pkglist

Найдено http://mirror.yandex.ru p10/branch/x86_64-i586/classic release

Найдено http://mirror.yandex.ru p10/branch/noarch/classic pkglist

Найдено http://mirror.yandex.ru p10/branch/noarch/classic release

Reading Package Lists...
Building Dependency Tree...
Selecting rosa-imagewriter-debuginfo for '/home/using/Загрузки/rosa-imagewriter-debuginfo-2.6.2.0-alt2.x86_64.rpm'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following packages have unmet dependencies:
  rosa-imagewriter-debuginfo: Depends: /usr/lib/debug/lib64/ld-linux-x86-64.so.2.debug but it is not installable
                              Depends: debug64(libQt5Core.so.5) but it is not installable
                              Depends: debug64(libQt5Gui.so.5) but it is not installable
                              Depends: debug64(libQt5Widgets.so.5) but it is not installable
                              Depends: debug64(libc.so.6) but it is not installable
                              Depends: debug64(libgcc_s.so.1) but it is not installable
                              Depends: debug64(libstdc++.so.6) but it is not installable
                              Depends: debug64(libudev.so.1) but it is not installable
                              Depends: rosa-imagewriter (= 2.6.2.0-alt2:sisyphus+299897.100.1.1)
E: Broken packages
Чтение списков пакетов...

Построение дерева зависимостей...


Пакеты не устанавливаются на Alt Workstation p10 x86_64 (MATE)
Comment 18 Andrey Cherepanov 2022-05-16 11:07:44 MSK
(Ответ для gosts 87 на комментарий #17)
> Пакеты не устанавливаются на Alt Workstation p10 x86_64 (MATE)

И не должны. Проверяйте на Sisyphus.
Comment 19 gosts 87 2022-05-18 20:50:20 MSK
(Ответ для Andrey Cherepanov на комментарий #18)
> (Ответ для gosts 87 на комментарий #17)
> > Пакеты не устанавливаются на Alt Workstation p10 x86_64 (MATE)
> 
> И не должны. Проверяйте на Sisyphus.
Проверил. Работает нормально.
Comment 20 gosts 87 2022-05-25 21:24:01 MSK
Проверено мной на Sisyphus, а также для теста собрал пакет для p10 x86_64.
В обоих случаях утилита нормально запускается и записывает образы.
Comment 21 gosts 87 2023-09-08 21:47:43 MSK
Багу-то закройте! Всё давно работает!:)