| Summary: | Isodumper-gtk does not start | ||
|---|---|---|---|
| Product: | Mageia | Reporter: | aguador <waterbearer54> |
| Component: | RPM Packages | Assignee: | papoteur <yvesbrungard> |
| Status: | RESOLVED INVALID | QA Contact: | |
| Severity: | normal | ||
| Priority: | Normal | CC: | anaselli, fri |
| Version: | Cauldron | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Source RPM: | isodumper-1.41-2.mga9.src.rpm | CVE: | |
| Status comment: | |||
| Attachments: | isodumper gtk | ||
|
Description
aguador
2021-11-20 17:54:08 CET
Thank you for the report Assigning to maintainer. I currently do not run a Cauldron isodumper have two open/in progress enhancement bugs: Bug 24038 - allow Isodumper to request user password rather than admin / root password Bug 27744 - Current isodumper gui could use some improvements. Assignee:
bugsquad =>
yves.brungard_mageia Hello, It works for me :/ I have updated my cauldron VM in LXQt. I have tried isodumper and isodumper --gtk Tried by uninstalling isodumper-qt Thanks, this helped. I should have tested with the Qt version. Installing the Qt version and the following dependencies: - lib64yui-mga-qt15-1.2.0-1.mga9.x86_64 - lib64yui-qt15-4.2.16-1.mga9.x86_64 isodumper-Qt works. The Gtk version as well: a) without picking up the application theme and b) *until* the lib64yui-qt15-4.2.16-1.mga9.x86_64 dependency is removed. (I confirmed that the lib64yui Gtk libraries are installed.) Version 1.35 works as expected in Mageia 8, so it would seem that at some point between the two releases something was omitted that called the appropriate Gtk library. Adding anaselli, because this is probably related to libyui CC:
(none) =>
anaselli ANd the start of the trace with gdb:
#0 0x00007ffff7af1b7c in __pthread_kill_implementation () at /lib64/libc.so.6
#1 0x00007ffff7aa8102 in raise () at /lib64/libc.so.6
#2 0x00007ffff7a9443b in abort () at /lib64/libc.so.6
#3 0x00007fffec3ba8ba in __gnu_cxx::__verbose_terminate_handler() [clone .cold] () at /lib64/libstdc++.so.6
#4 0x00007fffec3c607a in __cxxabiv1::__terminate(void (*)()) () at /lib64/libstdc++.so.6
#5 0x00007fffec3c60e5 in () at /lib64/libstdc++.so.6
#6 0x00007fffec3c6378 in () at /lib64/libstdc++.so.6
#7 0x00007fffec588532 in _YUI_THROW<YUICantLoadAnyUIException>(YUICantLoadAnyUIException const&, YCodeLocation const&)
(exception_r=..., where_r=...) at /usr/src/debug/libyui-4.2.16-1.mga9.x86_64/libyui/src/YUIException.h:931
#8 0x00007fffec587bc4 in YUILoader::loadUI(bool) (withThreads=withThreads@entry=false)
at /usr/src/debug/libyui-4.2.16-1.mga9.x86_64/libyui/src/YUILoader.cc:176
isGtk = <optimized out>
envDesktop = <optimized out>
envDisplay = 0x7fffffffed34 ":0"
envPreset = <optimized out>
wantedGUI = ""
__FUNCTION__ = "loadUI"
cmdline =
{priv = {<boost::noncopyable_::noncopyable> = {<boost::noncopyable_::base_token> = {<No data fields>}, <No data fields>}, _impl = {px = 0x928860}}}
wantGtk = <optimized out>
wantNcurses = false
wantQt = <optimized out>
haveUIPreset = <optimized out>
haveGtk = 16
haveNcurses = false
haveQt = false
#9 0x00007fffec5751f2 in YUI::ensureUICreated() () at /usr/src/debug/libyui-4.2.16-1.mga9.x86_64/libyui/src/YUI.cc:186
__FUNCTION__ = "ensureUICreated"
#10 0x00007fffec5754c8 in YUI::app() () at /usr/src/debug/libyui-4.2.16-1.mga9.x86_64/libyui/src/YUI.cc:168
app = 0x0
__FUNCTION__ = "app"
#11 0x00007fffec6838f4 in _wrap_YUI_app () at /usr/lib64/python3.9/site-packages/_yui.so
#12 0x00007ffff7d66c79 in cfunction_vectorcall_NOARGS
(func=0x7fffec77a680, args=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/methodobject.c:489
tstate = 0x409220
nargs = <optimized out>
meth = <optimized out>
result = <optimized out>
#13 0x00007ffff7d6087d in _PyObject_VectorcallTstate
This was without any interface claimed.
With the option --gtk added, it carshes at the same line, but with other data:
#7 0x00007fffec588532 in _YUI_THROW<YUICantLoadAnyUIException>(YUICantLoadAnyUIException const&, YCodeLocation const&)
(exception_r=..., where_r=...) at /usr/src/debug/libyui-4.2.16-1.mga9.x86_64/libyui/src/YUIException.h:931
#8 0x00007fffec587bc4 in YUILoader::loadUI(bool) (withThreads=withThreads@entry=false)
at /usr/src/debug/libyui-4.2.16-1.mga9.x86_64/libyui/src/YUILoader.cc:176
isGtk = <optimized out>
envDesktop = <optimized out>
envDisplay = 0x7fffffffed34 ":0"
envPreset = <optimized out>
wantedGUI = ""
__FUNCTION__ = "loadUI"
cmdline =
{priv = {<boost::noncopyable_::noncopyable> = {<boost::noncopyable_::base_token> = {<No data fields>}, <No data fields>}, _impl = {px = 0x92add0}}}
wantGtk = <optimized out>
wantNcurses = false
wantQt = <optimized out>
haveUIPreset = <optimized out>
haveGtk = false
haveNcurses = false
haveQt = false
Maybe new libyui has broken something against libyui-gtk but sounds odd, are you sure not to have any old libyui plugins installed? @papoteur on comment#6 i can't get the test you removed qt plugin and force gtk without gtk installed? Maybe it shouldn't crash, but you forced to run that way. I just looked at the Gtk plugins on both my machines and maybe this is the problem: All the plugins are named "lib64yui#-gtk" (e.g.,, "lib64yui12-gtk"), but the latest in the respositories is named "lib64yui-gtk15". I tried installing that, but it still fails. If what I see in the respositories is correct, it appears that the version naming style has changed (as reflected in the Qt plugin). Could it be that the change was not picked up for Gtk in the isodumper code? The fact the latest plugin was not installed as a dependency might suggest that.
aguador
2021-11-22 01:08:54 CET
Summary:
Isodumper does not start =>
Isodumper-gtk does not start haveGtk=false Thus, this is because none of lib64yui-qt15 or lib64yui-gtk15 is installed I don't need to do these things late at night. I just do stupid things. Here are the dependencies of the current isodumper: $ rpm -qR isodumper config(isodumper) = 1.41-2.mga9 libyui-mga-ncurses libyui-ncurses polkit python(abi) = 3.9 python3 python3-gnupg python3-gobject python3-manatools python3-parted python3-psutil python3-pydbus python3-yui rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsZstd) <= 5.4.18-1 sha3sum typelib(GLib) udisks2 There are no packages on my machine or in the current Cauldron repository named: libyui-mga-ncurses libyui-ncurses but there are: libyui-mga-ncurses15 libyui-ncurses15 These would be the parallels to the corresponding isodumper-1.35 dependencies: libyui12-mga-ncurses libyui12-ncurses Should we add a versionning in the dependencies of isodumper? Comment #9 seems the problem. porting specs from suse we've probably broke library versioning that should be the same as old spec file. We need to check that, but i have no time before Christmas sorry. is this bug still valid? i seem Wally has fixed libyui-gtk already and here isodumper starts now Still valid for my system. Do you also have the Qt version (or its dependencies) installed? That would allow it to start. (See comment 3.) Two dependencies shown by isodumper in comment 11 do not exist. Why there was no error when the it last updated I do not know, but wouldn't the fix be to call: libyui-mga-ncurses15 libyui-ncurses15 rather than libyui-mga-ncurses libyui-ncurses (As an aside, since nothing else on my system uses the *-ncurses15 packages, they are not installed. As a test, I installed them, and still no go as they are not being called by isodumper-gtk. As noted in comment 3 one of the Qt dependencies *will* allow isodumper to start, but, of course, it does not pick up the Gtk theme.) Just to clarify my tests:
[root@localhost ~]# rpm -qa | grep isodumper
[root@localhost ~]#
[root@localhost ~]# rpm -qa | grep yui
[root@localhost ~]#
[root@localhost ~]# urpmi --auto-update
il supporto "Core Release (distrib1)" risulta già aggiornato
il supporto "Core Updates (distrib3)" risulta già aggiornato
il supporto "Nonfree Release (distrib11)" risulta già aggiornato
il supporto "Nonfree Updates (distrib13)" risulta già aggiornato
il supporto "Tainted Release (distrib21)" risulta già aggiornato
il supporto "Tainted Updates (distrib23)" risulta già aggiornato
I pacchetti sono aggiornati
[root@localhost ~]#
[root@localhost ~]# urpmi isodumper
Per soddisfare le dipendenze di "isodumper-gui" serve uno dei seguenti pacchetti:
1- isodumper-gtk-1.41-2.mga9.noarch: IsoDumper for GTK (da installare)
2- isodumper-qt-1.41-2.mga9.noarch: IsoDumper for Qt (da installare)
Quale scegli? (1-2) 1
Per soddisfare le dipendenze, saranno installati i seguenti pacchetti:
Pacchetto Versione Release Arch.
(supporto "Core Release (distrib1)")
isodumper 1.41 2.mga9 noarch
isodumper-gtk 1.41 2.mga9 noarch (raccomandato)
lib64yui-gtk15 2.52.0 2.mga9 x86_64 (raccomandato)
lib64yui-mga-gtk15 1.2.0 2.mga9 x86_64 (raccomandato)
lib64yui-mga-ncurses15 1.2.0 1.mga9 x86_64
lib64yui-mga15 1.2.1 3.mga9 x86_64
lib64yui-ncurses15 4.2.16 1.mga9 x86_64
lib64yui15 4.2.16 1.mga9 x86_64
python3-manatools 0.0.4 1.mga9 noarch
python3-yui 4.2.16 1.mga9 x86_64
Altri 6.1MB di spazio disco saranno utilizzati.
verranno scaricati 1.5MB di pacchetti.
Procedo con l'installazione di 10 pacchetti? (S/n)s
[...]
In preparazione...
1/10: lib64yui15
2/10: lib64yui-mga15
3/10: python3-yui
4/10: lib64yui-ncurses15
5/10: lib64yui-gtk15
6/10: lib64yui-mga-gtk15
7/10: lib64yui-mga-ncurses15
8/10: python3-manatools
9/10: isodumper-gtk
10/10: isodumper
[root@localhost ~]# rpm -qa | grep yui
lib64yui15-4.2.16-1.mga9
lib64yui-mga15-1.2.1-3.mga9
python3-yui-4.2.16-1.mga9
lib64yui-ncurses15-4.2.16-1.mga9
lib64yui-gtk15-2.52.0-2.mga9
lib64yui-mga-gtk15-1.2.0-2.mga9
lib64yui-mga-ncurses15-1.2.0-1.mga9
[root@localhost ~]#
Created attachment 13072 [details]
isodumper gtk
Here it starts
and just to be sure once more: [root@localhost ~]# cat /etc/release Mageia release 9 (Cauldron) for x86_64 OK, here is what I had after manually installing: lib64yui-mga-ncurses15 lib64yoi-ncurses15 [aguador@localhost ~]$ rpm -qa | grep isodumper isodumper-gtk-1.41-2.mga9 isodumper-1.41-2.mga9 [aguador@localhost ~]$ rpm -qa | grep yui lib64yui9-mga-1.0.8-4.mga8 lib64yui11-3.9.3-2.mga8 lib64yui9-3.4.2-2.mga8 lib64yui8-mga-1.0.8-2.mga7 lib64yui11-mga-1.0.8-5.mga8 lib64yui12-mga-1.1.0-3.mga8 lib64yui8-ncurses-2.48.3-3.mga7 lib64yui9-ncurses-2.50.4-2.mga8 lib64yui11-mga-gtk-1.0.4-1.mga8 lib64yui12-mga-ncurses-1.1.0-4.mga8 lib64yui9-mga-gtk-1.0.3-5.mga8 lib64yui9-gtk-2.44.10-3.mga8 lib64yui12-gtk-2.49.0-5.mga8 lib64yui8-3.3.3-3.mga7 lib64yui12-mga-gtk-1.1.0-5.mga8 lib64yui8-mga-ncurses-1.0.3-5.mga7 lib64yui11-ncurses-2.54.5-1.mga8 lib64yui12-3.10.0-3.mga8 lib64yui12-ncurses-2.55.0-2.mga8 lib64yui8-mga-gtk-1.0.3-3.mga7 lib64yui9-mga-ncurses-1.0.3-8.mga8 lib64yui11-mga-ncurses-1.0.3-9.mga8 lib64yui8-gtk-2.44.9-3.mga7 lib64yui11-gtk-2.48.0-2.mga8 lib64yui-mga15-1.2.1-3.mga9 lib64yui15-4.2.16-1.mga9 python3-yui-4.2.16-1.mga9 lib64yui-ncurses15-4.2.16-1.mga9 lib64yui-mga-ncurses15-1.2.0-1.mga9 (It would seem that I need to do a fresh install of Cauldron at some point given all those old lib64yui packages, but that is another matter.) Isodumper would not start with a gui, although it ran in terminal. I noticed that lib64yui-gtk15 was missing. After installing that, isodumper started normally with the gui. At least on my system lib64yui-gtk15 would seem to be required, not a recommends. you don't need to do that :) Let's try to clean up this issue. let me check your answer well and i'll answer again As far as i can see you have a lot of old libyui packages, you probably updated your system at least since mageia 7. I would remove all of them as a first step. libyui is not a vital package so you can remove and install it again, for instance with a command like (if the output you gave is not cut of course): urpme `rpm -qa | grep yui` note the char ` is the accent That command should remove all the libyui packages with their dependencies, so also isodumper and dnfdragora if you use it that also. At this point install isodumper again (and dnfdragora if you use it that too). urpmi isodumper or urpmi isodumper dnfdragora It will ask for which one you want gtk or qt, that should fix your problem. Let me know. Just to clarify: "At least on my system lib64yui-gtk15 would seem to be required, not a recommends." I don't remember which deps are added into our packages however isodumper needs (only) python3-yui and can run using ncurses (TUI) yui-gtk (or qt) is required by isodumper-gtk (or qt) to force the right graphic environment and dependencies. Of course python3-yui requires libyui and libyui-mga... OK, Angelo, I will close this. I did dump all those old yui packages (and thank you for the command line!). You're right, after a snafu with a systemd update a few years back, I had to reinstall mga7 stable then switch back to Cauldron (as there was a problem installing Cauldron at that time). Hence all the yui junk. I suppose that when updating isodumper the newer yui packages were not brought in as there were older ones on the system. My HD thanks you for freeing up that space.:-) I also get it that lib64yui-gtk15 is a recommends for isodumper. I failed to check isodumper-gtk were it shows as a dependency. Sorry for all the noise and not keeping my system cleaned up. I'll probably wait until mga9 goes stable to do a reinstall on this machine. Roy Status:
NEW =>
RESOLVED Perhaps it was when we update with a new libyui that changed its plugins dependency and we made a mistake, so i'd expect to update from mga8 without issues, but it could happen again (not only with libyui) to find old packages laying on system when new major libraries are added to distro. You can always check old packages by looking for mgaX suffix (with X< last stable) and remove them if no packages - that you're using at least- require them... Thanks for reporting this problem, no needs to apologize for this. |