Bug 29645

Summary: dnfdragora doesn't work anymore.
Product: Mageia Reporter: Michel AUTEM <michel.autem>
Component: RPM PackagesAssignee: Neal Gompa <ngompa13>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: Normal CC: anaselli, davidwhodgins, ftg
Version: 8   
Target Milestone: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Source RPM: dnfdragora V.2.1.1 / R.1.mga9 CVE:
Status comment:
Attachments: screenshot showing it's working
Drakconf screen copy for dnfgragora

Description Michel AUTEM 2021-11-11 17:49:10 CET
Description of problem:

dnfdragora doesn't work anymore.
___________________________________________________
[michel@localhost ~]$ dnfdragora
Traceback (most recent call last):
  File "/usr/bin/dnfdragora", line 58, in <module>
    import dnfdragora.ui as ui
  File "/usr/lib/python3.9/site-packages/dnfdragora/ui.py", line 35, in <module>
    import dnfdragora.progress_ui as progress_ui
  File "/usr/lib/python3.9/site-packages/dnfdragora/progress_ui.py", line 6, in <module>
    import dnf.callback
  File "/usr/lib/python3.9/site-packages/dnf/__init__.py", line 30, in <module>
    import dnf.base
  File "/usr/lib/python3.9/site-packages/dnf/base.py", line 32, in <module>
    from dnf.comps import CompsQuery
  File "/usr/lib/python3.9/site-packages/dnf/comps.py", line 27, in <module>
    from dnf.exceptions import CompsError
  File "/usr/lib/python3.9/site-packages/dnf/exceptions.py", line 22, in <module>
    import dnf.util
  File "/usr/lib/python3.9/site-packages/dnf/util.py", line 29, in <module>
    import dnf.callback
  File "/usr/lib/python3.9/site-packages/dnf/callback.py", line 22, in <module>
    import dnf.yum.rpmtrans
  File "/usr/lib/python3.9/site-packages/dnf/yum/rpmtrans.py", line 26, in <module>
    import rpm
  File "/usr/lib64/python3.9/site-packages/rpm/__init__.py", line 38, in <module>
    from rpm._rpm import *
ImportError: /lib64/librpmbuild.so.9: undefined symbol: rpmluavNew


Version-Release number of selected component (if applicable):
V.2.1.1

How reproducible:
Always : just try to launch dnfdragora and see the errors messages.

Steps to Reproduce:
1.
2.
3.
Comment 1 Angelo Naselli 2021-11-11 19:42:32 CET
As far as i can say we shouldn't use comps, since it isn't configured by default in our /etc/dnfdragora/dnfdragora.yaml where should be
use_comps: False

Will check on my VM as soon as it is up to date

CC: (none) => anaselli

Comment 2 Angelo Naselli 2021-11-11 20:49:51 CET
Created attachment 12982 [details]
screenshot showing it's working

Works here
Comment 3 Angelo Naselli 2021-11-11 20:50:51 CET
hmm 2.1.2 is out really
Comment 4 Frank Griffin 2021-11-11 23:26:46 CET
So is this RESOLVED FIXED (by the new release) or a WORKSFORME ?

CC: (none) => ftg

Comment 5 Michel AUTEM 2021-11-12 08:03:19 CET
Sorry guys, I made a mistake. I am running the 2.1.2 version.
Comment 6 Frank Griffin 2021-11-12 15:00:13 CET
Assigning to registered maintainer.

Assignee: bugsquad => ngompa13

Comment 7 Angelo Naselli 2021-11-15 16:13:22 CET
from my POW it is working, and Mageia is not using, as said, comps. So we need more information from reporter, for instance /etc/dnfdragora/dnfdragora.yaml content
Comment 8 Michel AUTEM 2021-11-15 20:57:43 CET
/etc/dnfdragora/dnfdragora.yaml content :
__________________________________________
settings:
    use_comps: False
    always_yes: False
    update_interval: 180
#    log_filename: PATH/TO/dnfdragora.log
#    log_level_debug: True

#    path:
#        group_icons: /usr/share/icons
#        To see icons set the following path 
#        images: PATH_TO_DNFDRAGORA/share/images
Comment 9 Angelo Naselli 2021-11-15 21:13:42 CET
hmm not that then. 

I've just noticed this line:
ImportError: /lib64/librpmbuild.so.9: undefined symbol: rpmluavNew

That shows a problem into "lib64rpmbuild9" something broken in your system?
Here i have this version: lib64rpmbuild9-4.17.0-2.mga9.x86_64
Comment 10 Angelo Naselli 2021-11-15 21:16:39 CET
Here it works also in stable, mageia 8:
dnfdragora-2.1.1-1.mga8 and lib64rpmbuild9-4.16.1.3-1.1.mga8
Angelo Naselli 2021-11-15 21:21:27 CET

Ever confirmed: 1 => 0
Status: NEW => UNCONFIRMED

Comment 11 Michel AUTEM 2021-11-16 10:27:23 CET
Angelo,
I'm running the same version of lib64rpmbuild9 but in my environment dnfdragora is V2.1.2-1.mga9
Comment 12 Angelo Naselli 2021-11-16 13:45:57 CET
do you mean you backported dnfdragora to Mageia 8?
Comment 13 Michel AUTEM 2021-11-17 09:32:08 CET
No, I didn't. I only got this release in the last automatic upgrade through Drakconf (see attachment).
Comment 14 Michel AUTEM 2021-11-17 09:33:39 CET
Created attachment 12991 [details]
Drakconf screen copy for dnfgragora
Comment 15 Angelo Naselli 2021-11-17 11:19:53 CET
As far as i know, i don't have 2.1.2 as update, and i didn't plan to do it and neither did Neal... 
Are you sure you are not playing cauldron?
Comment 16 Angelo Naselli 2021-11-17 11:21:23 CET
Comment on attachment 12991 [details]
Drakconf screen copy for dnfgragora

As you can see there is a 1.mga9 tagged there, so you probably picked up from a cauldron repository, official version is 2.1.1 in mageia 8.
Comment 17 Michel AUTEM 2021-11-17 11:42:38 CET
No.
______________________________________
[michel@localhost ~]$ cat /etc/release
Mageia release 8 (Official) for x86_64


I even don't see dnfdragora V.2.1.1. anymore through drakconf ...
Comment 18 Dave Hodgins 2021-11-17 18:45:08 CET
(In reply to Michel AUTEM from comment #13)
> No, I didn't. I only got this release in the last automatic upgrade through
> Drakconf (see attachment).

Michel, "urpmq --list-url" will show the repositories that have been added
and the url for each of those repositories.

In a Mageia 8 install, every url should contain the string "distrib/8" in
the url.

In order to get mga9 packages showing up, that system must have either
"distrib/9" or "distrib/cauldron" in some of the lines.

What does urpmq --list-url show?

CC: (none) => davidwhodgins

Comment 19 Angelo Naselli 2021-11-17 19:22:30 CET
and to understand if the system is a bit broken 
 rpm -qa | grep mga9 | wc -l

And you should get 0 (but it isn't of course).
Comment 20 Michel AUTEM 2021-11-17 21:22:16 CET
[michel@localhost ~]$ urpmq --list-url
Core Release (Installer) cdrom://x86_64/media/core
Nonfree Release (Installer) cdrom://x86_64/media/nonfree
Core Release (distrib1) http://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/8/x86_64/media/core/release
Core Release Debug (distrib2) 
Core Updates (distrib3) http://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/8/x86_64/media/core/updates
Core Updates Debug (distrib4) 
Core Updates Testing (distrib5) 
Core Updates Testing Debug (distrib6) 
Core Backports (distrib7) 
Core Backports Debug (distrib8) 
Core Backports Testing (distrib9) 
Core Backports Testing Debug (distrib10) 
Nonfree Release (distrib11) http://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/8/x86_64/media/nonfree/release
Nonfree Release Debug (distrib12) 
Nonfree Updates (distrib13) http://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/8/x86_64/media/nonfree/updates
Nonfree Updates Debug (distrib14) 
Nonfree Updates Testing (distrib15) 
Nonfree Updates Testing Debug (distrib16) 
Nonfree Backports (distrib17) 
Nonfree Backports Debug (distrib18) 
Nonfree Backports Testing (distrib19) 
Nonfree Backports Testing Debug (distrib20) 
Tainted Release (distrib21) http://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/8/x86_64/media/tainted/release
Tainted Release Debug (distrib22) 
Tainted Updates (distrib23) http://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/8/x86_64/media/tainted/updates
Tainted Updates Debug (distrib24) 
Tainted Updates Testing (distrib25) 
Tainted Updates Testing Debug (distrib26) 
Tainted Backports (distrib27) 
Tainted Backports Debug (distrib28) 
Tainted Backports Testing (distrib29) 
Tainted Backports Testing Debug (distrib30) 
Core 32bit Release (distrib31) 
Core 32bit Updates (distrib32) 
Core 32bit Updates Testing (distrib33) 
Core 32bit Backports (distrib34) 
Core 32bit Backports Testing (distrib35) 
Nonfree 32bit Release (distrib36) 
Nonfree 32bit Updates (distrib37) 
Nonfree 32bit Updates Testing (distrib38) 
Nonfree 32bit Backports (distrib39) 
Nonfree 32bit Backports Testing (distrib40) 
Tainted 32bit Release (distrib41) 
Tainted 32bit Updates (distrib42) 
Tainted 32bit Updates Testing (distrib43) 
Tainted 32bit Backports (distrib44) 
Tainted 32bit Backports Testing (distrib45)
Comment 21 Michel AUTEM 2021-11-17 21:28:29 CET
[michel@localhost ~]$  rpm -qa | grep mga9 | wc -l
300

Yeap. It looks like I downloaded a bunch of mga9 stuff the last time I used dnfdragora (when it worked yet) to update my system ...
Comment 22 Angelo Naselli 2021-11-17 21:52:52 CET
Maybe a mirror issue?

Unfortunately i'm not sure Transaction undo is working anymore... maybe you could try to uninstall and install again the mga9 packates, so that you could restore your system.

After you fix your system, we could close this issue i believe
Comment 23 Dave Hodgins 2021-11-17 22:01:27 CET
As the urpmi mirrors are ok, what does "dnf repolist" show?
Comment 24 Michel AUTEM 2021-11-17 23:21:48 CET
Dave,
dnf doesn't work anymore, it sends only error messages.

Angelo,
"Uninstall the mga9 packages and reinstall the mga8 versions" ? How do I do that by hand ? I'm afraid I'm not clever enough in Mageia ... Would not it be easier to "simply" reformat my system partition and to reinstall Mageia as a whole ? I think I gonna do nothing as, excepted dnfdragora, I got no other problem for now.

But why don't I see dnfdragora V2.1.1 in my repository lists but *only* V2.1.2 ? If I de-install the V2.1.1, I have no other choice ... It's a mess.
Comment 25 Angelo Naselli 2021-11-18 00:19:24 CET
well urpmi should work if dnf is broken, so if you urpme dnfdragora it should work urpmi dnfdragora again. But i suspect you have more packages from cauldron that are important, so 
rpm -qa | grep mga9
should show which they are and if they are not vital you should be able to urpme and urpmi them again or at least their main dependencies (i.e. programs you know from that list).
If dnf does not work any more probably something has been broken there, but again i have it here working, so maybe your dnf mirrors had problems...
Comment 26 Angelo Naselli 2021-11-18 00:20:30 CET
but you should be able to use rpmdrake too i believe
Comment 27 Neal Gompa 2021-11-22 19:57:17 CET
The crash implies that libdnf wasn't rebuilt after rpm was rebuilt. Did someone try to do that to see if it would fix it?
Comment 28 Michel AUTEM 2022-01-14 11:10:29 CET
I reinstalled Mageia twice since my last post (for other reasons) and ... the "dnfdragora mess" continues. Luckily it's not vital : now I can launch if but it freezes in a loop :
________________________________
[michel@localhost ~]$ dnfdragora
Try reading configuration file
From ./dnfdragora.yaml
Skipped exception: <[Errno 2] Aucun fichier ou dossier de ce type: './dnfdragora.yaml'> 
From /etc/dnfdragora/dnfdragora.yaml
Finally read user settings from /home/michel/.config/dnfdragora.yaml
Logging disabled
<_M_> [ui] YUILoader.cc:60 loadUI(): DISPLAY: ":0.0"
<_M_> [ui] YUILoader.cc:61 loadUI(): XDG_CURRENT_DESKTOP: "XFCE"
<_M_> [ui] YUILoader.cc:62 loadUI(): YUI_PREFERED_BACKEND: ""
<_M_> [ui] YUILoader.cc:74 loadUI(): Detected a Gtk-based desktop environment.
<_M_> [ui] YUILoader.cc:74 loadUI(): Prefering Gtk-UI if available and no
<_M_> [ui] YUILoader.cc:74 loadUI(): user-selected override is present.
<_M_> [ui] YUILoader.cc:96 loadUI(): User-selected UI-plugin: ""
<_M_> [ui] YUILoader.cc:128 loadUI(): Using UI-plugin: "gtk"
<_M_> [ui] YUI.cc:81 YUI(): This is libyui 3.10.0
<_M_> [ui] YUI.cc:82 YUI(): Creating UI without threads
<_M_> [gtk] YGUI.cc:48 YGUI(): This is libyui-gtk 2.49.0
<_M_> [gtk] YGUI.cc:166 checkInit(): Style "/usr/share/libyui/theme/current/wizard/style.css"
<_M_> [gtk] YGUI.cc:188 checkInit(): Style "/usr/share/libyui/theme/current/wizard/style.css" not found. Ignoring style
<WRN> [gtk] YGUtils.cc:543 loadPixbuf(): Could not load icon: /usr/share/libyui/theme/icons/32x32/apps/yast.png
<WRN> [gtk] YGUtils.cc:543 loadPixbuf(): Reason: Impossible d’ouvrir le fichier « /usr/share/libyui/theme/icons/32x32/apps/yast.png » : Aucun fichier ou dossier de ce type
<_M_> [ui] YUI.cc:236 topmostConstructorHasFinished(): Running without threads
<_M_> [ew] YExternalWidgets.cc:40 YExternalWidgets(): Creating Libyui External Widgets object
<_M_> [gtk] YMGA_GCBTable.cc:414 YMGA_GCBTable():  Slection mode 2
<_M_> [gtk] YMGA_GCBTable.cc:433 YMGA_GCBTable():  columns 8 tot 8
Get root backend. Locked (False)
Get root backend. Locked (False)
Get root backend. Locked (False)
Get root backend. Locked (False)
Get root backend. Locked (False)
Get root backend. Locked (False)
Get root backend. Locked (False)
Get root backend. Locked (False)
Get root backend. Locked (False)
Get root backend. Locked (False)
Get root backend. Locked (False)
Get root backend. Locked (False)
Get root backend. Locked (False)
... etc.
Comment 29 Angelo Naselli 2022-01-14 19:17:23 CET
well that seems to say dnfdaemon  is not running, maybe not installed? But it seems a different problem to me
Comment 30 Michel AUTEM 2022-01-15 10:02:57 CET
Here I am ..

[michel@localhost ~]$ su -f
Mot de passe : 
[root@localhost michel]# systemctl status dnfdaemon
● dnfdaemon.service - Package management dnf daemon
     Loaded: loaded (/usr/lib/systemd/system/dnfdaemon.service; static)
     Active: inactive (dead)
[root@localhost michel]# systemctl enable dnfdaemon
The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled using systemctl.
 
Possible reasons for having this kind of units are:
• A unit may be statically enabled by being symlinked from another unit's
  .wants/ or .requires/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
  a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
  D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
  instance name specified.
[root@localhost michel]#
Comment 31 Angelo Naselli 2022-01-15 10:52:16 CET
dnfdaemon looks fine, it runs on "call".

are you using dnfdaenon-update by any chance?

It seems you are running another instance of dnfdragora (or dnfdragora-update) that is connected to dnfdaemon, so the backend is locked already.

if for any reasons that was dead badly, you could run dnfdragora --exit first to unlock the dnfdaemon.
But i suspect you are (or were) download update metadata from mirrors and as happens often something for mageia dnf mirrors, is broken and the mirrors are slow so you cannot run dnfdragora again until that process is finished.
Comment 32 Michel AUTEM 2022-01-15 11:18:47 CET
Angelo,
That's correct and it works now : I used dnf-update a couple of days ago but I uninstalled it almost immediately. That's when my problem begun. But why does it persist after a reboot of the system ? I guess I tried to stop and restart too quickly dnfdragora, before the daemon was made free again, because I thought the process was frozen and dead.
Thanks a lot, you may close this ticket.
Comment 33 Angelo Naselli 2022-01-15 13:41:16 CET
One

Resolution: (none) => WORKSFORME
Status: UNCONFIRMED => RESOLVED