Bug 31586 - isodumper[-qt] crashes on installation migrated from Mageia 8
Summary: isodumper[-qt] crashes on installation migrated from Mageia 8
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Angelo Naselli
QA Contact:
URL:
Whiteboard:
Keywords: IN_ERRATA9
Depends on:
Blocks:
 
Reported: 2023-02-22 18:34 CET by Paul Éric Despretz
Modified: 2023-10-24 13:28 CEST (History)
4 users (show)

See Also:
Source RPM: libyui-4.4.4-2.mga9.src.rpm, libyui-mga-1.2.1-4.mga9.src.rpm, libyui-mga-qt-1.2.0-2.mga9.src.rpm, libyui-mga-ncurses-1.2.0-2.mga9.src.rpm
CVE:
Status comment:


Attachments

Description Paul Éric Despretz 2023-02-22 18:34:53 CET
Description of problem: Never been able to launch isodumper


Version-Release number of selected component (if applicable):isodumper-1.43-1.mga9
isodumper-qt-1.43-1.mga9



How reproducible: simply lauch isodumper


Steps to Reproduce: 
1. launch with KDE menu : nothing happens
2. launch inside Konsole then you get these messages :
isodumper --qt
terminate called after throwing an instance of 'YUICantLoadAnyUIException'
  what():  No $DISPLAY and stdout is not a tty
Abandon (core dumped)
3. echo $DISPLAY
:0
Comment 1 sturmvogel 2023-02-22 18:52:54 CET
Starts just fine 
isodumper-1.43-1.mga9
isodumper-qt-1.43-1.mga9


In an old bug it was a not properly synced mirror:
https://bugs.mageia.org/show_bug.cgi?id=30951
Comment 2 Lewis Smith 2023-02-22 21:10:19 CET
@Paul
Please confirm the circumstances of the failure you report in the light of what follows below. And say what desktop you are using (looks like Plasma).
Did you Cancel the 'no devices found' dialogue with no USB inserted?
With a USB inserted, does it work?
If not, suggest you un-install the application(s), clear any orphans, and re-install them, they do work in most situations.

isodumper-1.43-1.mga9
isodumper-qt-1.43-1.mga9
Using LXDE.

Playing with these *without a USB inserted*, I did manage to get errors:
 $ isodumper --gtk
This popped the dialogue only (no main application window):
 "Warning, No target devices were found, Refresh|Cancel",
Clicked Cancel:
 Segmentation fault (core dumped)

 $ isodumper --qt
Popped a main application window, completely blank, and the same dialogue as noted above. Clicking Cancel:
terminate called after throwing an instance of 'YUIDialogStackingOrderException'
  what():  Dialog stacking order violated
Aborted (core dumped)

With both versions, if the 'no devices' dialogue is responded "Refresh":
- still no USB, repeats the dialogue
- USB inserted, continues normally
In both versions, with a USB inserted, the application started OK.

Assigning to DavidG as the registered maintainer, CC'ing papoteur who mostly deals with isodumper.

Source RPM: (none) => isodumper-1.43-1.mga9.src.rpm,
Assignee: bugsquad => geiger.david68210
Summary: isodumper don't start => isodumper[-qt] crashes if no USB stick is inserted, and the 'no devices' dialogue is cancelled.
CC: (none) => lewyssmith, yves.brungard_mageia

Comment 3 papoteur 2023-02-23 09:49:20 CET
I don't reproduce the crash of comment 1, but the one from comment 2.
Release 1.44 is coming for fixing the latest. I hope it will fix also the first.
Comment 4 Lewis Smith 2023-02-23 20:41:18 CET
The crashes are slightly different between the two versions gtk/qt, but provoked by the identical method of replying "Quit" or "Cancel" to the 'no device found' dialogue.

I will test the new version, look forward.
Comment 5 Thomas Andrews 2023-02-26 00:48:08 CET
After upgrading two separate M8 Plasma installs to Cauldron, using the beta1 round 6 test CI iso, I am seeing the same failure as Comment 0. 

I was doing upgrades to look for problems to fix before the release.

One upgrade had to have clamav removed before it would complete; the other, which never had clamav in the first place, completed with no apparent problems. I haven't tried it on a "clean" install yet.

CC: (none) => andrewsfarm

Comment 6 Thomas Andrews 2023-02-26 01:36:47 CET
With a new install of isodumper and dependencies, I'm seeing the same behavior as Comment 2. That's on a different install on the same hardware as the second system of Comment 5.

To repeat: 

In a Plasma-only M9 install that was upgraded from an M8 install, the upgraded isodumper refuses to start, either from the Plasma menu or the command line. 

In a Plasma-only M9 "clean" install, installing isodumper with dependencies will launch, but will crash if "canceled" with no usb device present.

It would appear that the upgrade script for isodumper and/or its dependencies needs work, too. We'll need to get to the bottom of this before the official release. Should I open a different bug, or do we use this one for that issue?
Comment 7 papoteur 2023-02-26 09:37:54 CET
What about dnfdragora? I presume that the migration problem is in libyui libraries, thus dnfdragora could be affected in the same manner.
Comment 8 papoteur 2023-02-26 10:54:43 CET
What are the installed libyui packages?
On my side
 rpm -qa |grep yui
lib64yui-mga16-1.2.1-4.mga9
lib64yui-mga-ncurses16-1.2.0-2.mga9
lib64yui-mga-qt16-1.2.0-2.mga9
libyui-ncurses-tools-4.4.4-2.mga9
lib64yui16-4.4.4-2.mga9
lib64yui-ncurses16-4.4.4-2.mga9
lib64yui-qt16-4.4.4-2.mga9
python3-yui-4.4.4-2.mga9
lib64yui-gtk16-2.52.3-2.mga9
lib64yui-mga-gtk16-1.2.0-6.mga9
Comment 9 Paul Éric Despretz 2023-02-26 12:54:27 CET
Mageia 8 upgraded to Mageia 9 :
rpm -qa |grep yui gives : 

lib64yui9-qt-2.49.11-2.mga7
lib64yui12-mga-ncurses-1.1.0-4.mga8
lib64yui9-3.4.2-1.mga7
lib64yui12-mga-qt-1.1.0-4.mga8
lib64yui12-gtk-2.49.0-5.mga8
python3-yui-4.4.4-2.mga9
lib64yui12-ncurses-2.55.0-2.mga8
lib64yui9-mga-1.0.8-3.mga7
lib64yui12-mga-1.1.0-3.mga8
lib64yui12-qt-2.53.0-6.mga8
lib64yui9-mga-qt-1.0.5-2.mga7
lib64yui16-4.4.4-2.mga9
lib64yui12-3.10.0-3.mga8
lib64yui12-mga-gtk-1.1.0-5.mga8
lib64yui-mga16-1.2.1-4.mga9

And isodumper is still crashing.
Comment 10 Paul Éric Despretz 2023-02-26 12:55:40 CET
Will try to remove the mg7 and mg8 rpm
Comment 11 Paul Éric Despretz 2023-02-26 13:02:42 CET
It works !
urpme lib64yui9-qt-2.49.11-2.mga7 lib64yui12-mga-ncurses-1.1.0-4.mga8 lib64yui9-3.4.2-1.mga7 lib64yui12-mga-qt-1.1.0-4.mga8 lib64yui12-gtk-2.49.0-5.mga8 lib64yui12-ncurses-2.55.0-2.mga8 lib64yui9-mga-1.0.8-3.mga7 lib64yui12-mga-1.1.0-3.mga8 lib64yui12-qt-2.53.0-6.mga8 lib64yui9-mga-qt-1.0.5-2.mga7 lib64yui12-3.10.0-3.mga8 lib64yui12-mga-gtk-1.1.0-5.mga8

This removes also isodumper by dependencies.

Then urpmi isodumper and it's OK : the program starts.
Comment 12 Thomas Andrews 2023-02-26 13:33:20 CET
I have mga8 packages as well, but nothing for mga7:

$ rpm -qa |grep yui
lib64yui12-3.10.0-3.mga8
lib64yui12-mga-qt-1.1.0-4.mga8
lib64yui12-ncurses-2.55.0-2.mga8
lib64yui12-qt-2.53.0-6.mga8
lib64yui12-mga-1.1.0-3.mga8
lib64yui12-mga-ncurses-1.1.0-4.mga8
lib64yui16-4.4.4-2.mga9
lib64yui-mga16-1.2.1-4.mga9
python3-yui-4.4.4-2.mga9

Going now to try removing them...
Comment 13 Thomas Andrews 2023-02-26 13:46:20 CET
I used drakrpm to do the deed. Asking to remove the first installed mga8 library brought up all the others, as well as isodumper. Re-installing isodumper gives me this:

$  rpm -qa |grep yui
lib64yui16-4.4.4-2.mga9
lib64yui-mga16-1.2.1-4.mga9
python3-yui-4.4.4-2.mga9
lib64yui-ncurses16-4.4.4-2.mga9
lib64yui-qt16-4.4.4-2.mga9
lib64yui-mga-qt16-1.2.0-2.mga9
lib64yui-mga-ncurses16-1.2.0-2.mga9

Isodumper launches now, but still closes if "canceled" with no usb device present. In the terminal:

$ isodumper --qt
terminate called after throwing an instance of 'YUIDialogStackingOrderException'
  what():  Dialog stacking order violated
Aborted (core dumped)
Comment 14 Paul Éric Despretz 2023-02-26 14:46:42 CET
rpm -qa|grep yui
python3-yui-4.4.4-2.mga9
lib64yui16-4.4.4-2.mga9
lib64yui-mga16-1.2.1-4.mga9
lib64yui-ncurses16-4.4.4-2.mga9
lib64yui-qt16-4.4.4-2.mga9
lib64yui-mga-qt16-1.2.0-2.mga9
lib64yui-mga-ncurses16-1.2.0-2.mga9
 
Same as you but no crash when cancelled with no usb device.
Comment 15 Lewis Smith 2023-02-26 21:05:49 CET
Thanks papoteur for the quick work.

On a Cauldron system, LXDE:
 isodumper-1.44-1.mga9
 isodumper-gtk-1.44-1.mga9
 isodumper-qt-1.44-1.mga9

Trying it WITHOUT a USB plugged in, as per comment 2:

GTK
Displayed the correct populated application window, plus the "No target devices were found" dialogue:
- Refresh re-displayed it.
- Cancel did NOT crash:
 $ isodumper --gtk
(python3:111358): dbind-WARNING **: 20:52:37.228: Couldn't connect to accessibility bus: Failed to connect to socket /root/.cache/at-spi/bus_0: Permission denied
UDisks2 OK

QT
Displayed the correct populated application window, plus the "No target devices were found" dialogue:
- Refresh re-displayed it.
- Cancel did NOT crash:
 $ isodumper --qt
(python3:111529): dbind-WARNING **: 20:56:12.021: Couldn't connect to accessibility bus: Failed to connect to socket /root/.cache/at-spi/bus_0: Permission denied
UDisks2 OK

To me this looks all fixed re the reported bug. Except for TJ's comment 13...

Are the 'libyui' packages still a problem, comment 6 onwards. TJ suggested a new bug for those upgrade issues; do you want that Yves?
Comment 16 Thomas Andrews 2023-02-26 23:00:49 CET
Note the change to the package naming scheme between mga8 and mga9. 

The mga8 packages in Comment 12 are all of the form "lib64yui12-xxxx" while the mga9 replacements in Comment 13 are all of the form "lib64yui-xxxx16". I'm not talking about the change from "12" to "16" but to the position of the numbers in the package name.

Could this be why the upgrade script failed?
Comment 17 papoteur 2023-02-27 09:08:42 CET
(In reply to Thomas Andrews from comment #16)
> Note the change to the package naming scheme between mga8 and mga9. 
> 
> The mga8 packages in Comment 12 are all of the form "lib64yui12-xxxx" while
> the mga9 replacements in Comment 13 are all of the form "lib64yui-xxxx16".
> I'm not talking about the change from "12" to "16" but to the position of
> the numbers in the package name.
> 
> Could this be why the upgrade script failed?

Yes, it's probably a problem of change in migration path, which seems incomplete, thus a packaging question.
papoteur 2023-02-27 09:09:44 CET

Summary: isodumper[-qt] crashes if no USB stick is inserted, and the 'no devices' dialogue is cancelled. => isodumper[-qt] crashes on installation migrated from Mageia 8

Comment 18 Lewis Smith 2023-02-27 20:57:04 CET
I have put all the M9 SRPMs in t-heir header field.
These libyui & related pkgs are with Angelo, so assigning this bug to him. Papoteur also touches them, he is already CC'd.

Provisionally flagging for Errat9.

Assignee: geiger.david68210 => anaselli
Keywords: (none) => FOR_ERRATA9
Summary: isodumper[-qt] crashes on installation migrated from Mageia 8 => isodumper[-qt] crashes on installation migrated from Mageia 8, due to libyui etc naming changes
Source RPM: isodumper-1.43-1.mga9.src.rpm, => libyui-4.4.4-2.mga9.src.rpm, libyui-mga-1.2.1-4.mga9.src.rpm, libyui-mga-qt-1.2.0-2.mga9.src.rpm, libyui-mga-ncurses-1.2.0-2.mga9.src.rpm

Comment 19 Jani Välimaa 2023-02-27 20:58:42 CET
Isodumper-XXX requires unversioned libyui-XXX (and libyui-mga-XXX).

Both, mga8 lib(64)yui12-XXX and mga9 lib(64)yui-XXX16, provides libyui-XXX so the requirement is fulfilled even with the older version.

I've added a bit more strict requirements to isodumper pkgs for libyui pkgs to somehow avoid this later. Required version is defined during the build time. This means isodumper should be rebuilt after libyui-mga pkg lib majors are later changed. libyui-mga pkgs pulls libyui pkgs.
Jani Välimaa 2023-02-27 20:59:28 CET

Summary: isodumper[-qt] crashes on installation migrated from Mageia 8, due to libyui etc naming changes => isodumper[-qt] crashes on installation migrated from Mageia 8
CC: (none) => jani.valimaa

Comment 20 Jani Välimaa 2023-02-27 21:04:00 CET
IIUC same would have been happened even with lib(64)yui12-XXX to lib(64)yui16-XXX lib major change if some libyui pkgs with old lib majors would have been installed before installing isodumper.
Comment 21 Angelo Naselli 2023-02-27 23:01:04 CET
I think crash on comment#0 is related to libyui update. new package contents and new versioning have probably broken something.
Old libs usually aren't a problem, but with bindings (as perl-yui or python-yui are) could. So maybe this time an obsoleted or some other way to remove them should be used. @wally wdyt?
Comment 22 Jani Välimaa 2023-02-28 19:00:09 CET
No obsoletes needed, just more strict requires. See comment 19.

isodumper-1.44-3.mga9 with recent libyui updates with added provides should handle the issue.
Comment 23 Angelo Naselli 2023-02-28 19:47:21 CET
and what about dnfdragora and manafirewall? Are they affected too?
Comment 24 Jani Välimaa 2023-02-28 20:30:44 CET
(In reply to Angelo Naselli from comment #23)
> and what about dnfdragora and manafirewall? Are they affected too?
Yes.
Comment 25 Thomas Andrews 2023-02-28 23:21:35 CET
I keep getting this message when I try to update:

Sorry, the following package cannot be selected:

- isodumper-qt-1.44-3.mga9.noarch (due to unsatisfied libyui-mga-qt16)

Now that I look at it better, I see that it's looking for libyui-mga-qt16, the 32-bit library, and I have the lib64 version installed. It would find it if I were to activate the 32-bit repos, but I don't think that's what we want, is it?
Comment 26 Thomas Andrews 2023-02-28 23:32:43 CET
isodumper-gtk installs with no problems.
Comment 27 Thomas Andrews 2023-03-01 14:59:41 CET
The message from comment 25 was still there this morning, but after removing isodumper and isodumper-gtk, and updating the package database, it had magically disappeared when I went back to drakrpm and asked to install isodumper-qt.
Lewis Smith 2023-04-16 10:21:12 CEST

Keywords: FOR_ERRATA9 => IN_ERRATA9

Comment 28 papoteur 2023-05-01 08:41:16 CEST
I presume we can close this as solved?
Comment 29 Lewis Smith 2023-05-01 21:04:33 CEST
TJ did some fiddling to get round his problem. We need a straight M8-M9 upgrade containing isodumper-qt to be sure. I will try one if I have enough time.
Comment 30 Thomas Andrews 2023-05-01 23:56:21 CEST
I just tried an upgrade of a mga8-64 Plasma guest in VirtualBox. I used the last round of beta2 test CI iso, but with supplementary media active to simulate as accurately as I can at this point the next round of isos that will include Gnome 44.1.

The upgrade needed two passes, and there are some problems with it, but none of them appeared to be related to this bug. After booting to a running desktop, I tried running "isodumper --qt" and the gui came up, telling me I needed a usb key. I canceled, and isodumper quietly closed.

So, I would say this is solved for the qt version, as far as I can tell at this time. However, the problems I encountered with the update involved Gnome/Gtk- related packages, so until those are fixed the Gtk version might not run. I did not try that.

@Lewis: Another test, done by another party, certainly wouldn't hurt.
Comment 31 Lewis Smith 2023-05-04 21:27:58 CEST
Thanks for your patient tests, which now look good.
I will try an upgrade if & when I have the time to organise it!
Comment 32 papoteur 2023-10-24 13:28:22 CEST
No problems have been reported after the release. We can now close this.

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.