Bug 2493905

Summary: fedora-repoquery --list uses excessive memory (~27.5 GiB RAM)
Product: [Fedora] Fedora Reporter: Efraim Kaov <ephmo>
Component: fedora-repoqueryAssignee: Jens Petersen <petersen>
Status: CLOSED ERRATA QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: 44CC: petersen
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: fedora-repoquery-0.9.1-1.fc44 fedora-repoquery-0.9.1-1.fc43 fedora-repoquery-0.9.1-1.el10_3 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2026-07-01 01:02:30 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Efraim Kaov 2026-06-27 18:15:48 UTC
While testing the fedora-repoquery-0.9-1.fc44 package, I noticed that running:

fedora-repoquery --list

causes the process to consume approximately 27.5 GiB of RAM before completing.

I initially suspected this might be a regression in the current update, but after additional testing I found:

Downgrading to the previous package version shows the same behavior.
Fedora 43 exhibits the same behavior.
EPEL, tested in a VM with only 4 GiB of RAM, completed successfully without excessive memory usage.

Other commands, for example:

fedora-repoquery rawhide firefox

complete quickly and use a normal amount of memory.

This suggests the issue is specific to the implementation of the --list operation rather than fedora-repoquery in general.

Reproducible: Always

Steps to Reproduce:
1.Install fedora-repoquery.
2.Run: fedora-repoquery --list
3.Observe memory usage with htop, top, or similar.
Actual Results:
Memory usage grows to approximately 27.5 GiB.

Expected Results:
Memory usage should remain reasonably bounded and not grow to tens of gigabytes simply to list package contents.

Comment 1 Jens Petersen 2026-06-28 02:17:02 UTC
Thank very much for discovering this.

For reference:

$ sudo dnf rq --list | wc 
Updating and loading repositories:
Repositories loaded.
8629764 8922615 625853023

Comment 2 Jens Petersen 2026-06-28 02:26:14 UTC
Okay I think I have fix: I was being a bit lazy with the IO (Haskell pun;).

Now:

$ /usr/bin/time -f '%es %MkB' frpq 45 --list | wc 
31.11s 1524420kB
8629764 8922615 625853023

compared to pure dnf:

$ /usr/bin/time -f '%es %MkB' sudo dnf -q rq --list | wc 
29.14s 8532kB
8629764 8922615 625853023

So now it is using ~1.5GB - at least that is a bit more sane.
With streaming I could perhaps get this lower, but not sure it is worthwhile.

Also perhaps worth noting that in this case --list lists all files of *all* fedora packages.
Actually almost surprised there are not more than 8.6M files in fedora.

The above results are with Fedora Rawhide.

Comment 3 Jens Petersen 2026-06-28 07:54:16 UTC
I still feel 1.5GB is quite excessive - so I may add a further optimization later for that.

Maybe a more realistic data point for everyday use:

$ /usr/bin/time -f '%es %MkB' sudo dnf -q rq \* | wc 
1.28s 8284kB
  75237   75237 3242724

$ /usr/bin/time -f '%es %MkB' frpq 45 \* | wc 
1.25s 104884kB
  75237  150474 4366418

So listing all repo packages (which is perhaps what you really were after?) uses about 104MB.
(To be fair fedora-repoquery is more verbose here it lists both release and updates by default along with the repo name, but still a lot of mem resource.)

Comment 4 Jens Petersen 2026-06-28 08:19:31 UTC
This result is erraneous:

(In reply to Jens Petersen from comment #2)
> $ /usr/bin/time -f '%es %MkB' sudo dnf -q rq --list | wc 
> 29.14s 8532kB
> 8629764 8922615 625853023

It is actually measuring the sudo process not dnf.

So the 1.5GB is from dnf alas:

$ /usr/bin/time -f '%es %MkB' dnf -q rq --list | wc 
29.43s 1524432kB
8629764 8922615 625853023

So I am can't really improve on that easily.

Comment 5 Fedora Update System 2026-06-28 13:26:22 UTC
FEDORA-2026-aa4748d120 (fedora-repoquery-0.9.1-1.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-aa4748d120

Comment 6 Fedora Update System 2026-06-28 13:44:48 UTC
FEDORA-2026-9fa1bcc8af (fedora-repoquery-0.9.1-1.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-9fa1bcc8af

Comment 7 Fedora Update System 2026-06-29 01:31:16 UTC
FEDORA-2026-aa4748d120 has been pushed to the Fedora 44 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-aa4748d120`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-aa4748d120

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2026-06-29 01:47:26 UTC
FEDORA-2026-9fa1bcc8af has been pushed to the Fedora 43 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-9fa1bcc8af`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-9fa1bcc8af

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2026-06-29 04:07:32 UTC
FEDORA-EPEL-2026-f0d6b4eab6 (fedora-repoquery-0.9.1-1.el10_3) has been submitted as an update to Fedora EPEL 10.3.
https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2026-f0d6b4eab6

Comment 10 Fedora Update System 2026-06-30 00:23:20 UTC
FEDORA-EPEL-2026-f0d6b4eab6 has been pushed to the Fedora EPEL 10.3 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2026-f0d6b4eab6

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 11 Fedora Update System 2026-07-01 01:02:30 UTC
FEDORA-2026-aa4748d120 (fedora-repoquery-0.9.1-1.fc44) has been pushed to the Fedora 44 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 12 Fedora Update System 2026-07-07 01:09:44 UTC
FEDORA-2026-9fa1bcc8af (fedora-repoquery-0.9.1-1.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 13 Fedora Update System 2026-07-08 00:26:03 UTC
FEDORA-EPEL-2026-f0d6b4eab6 (fedora-repoquery-0.9.1-1.el10_3) has been pushed to the Fedora EPEL 10.3 stable repository.
If problem still persists, please make note of it in this bug report.