Why dnf changelog command causes segfault in libsolv.so.1 or fails with OOM errors

Solution Verified - Updated -

Issue

The command dnf changelog <package> fails either with OOM error or segmentation fault.

  • OOM errors on Low memory systems which cant load the full uncompressed file into the memory

    # dnf changelog  kernel
    Updating Subscription Management repositories.
    Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)                                                                                                                              
    2.9 MB/s | 859 MB     04:52    
    Killed
    
    May 25 09:03:43 rhel8.test.example.local kernel: Out of memory: Killed process 47473 (dnf) total-vm:4187336kB, anon-rss:2961176kB, file-rss:0kB, shmem-rss:0kB, UID:0 pgtables:7912kB oom_score_adj:0
    May 25 09:03:43 rhel8.test.example.local kernel: oom_reaper: reaped process 47473 (dnf), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
    
  • On high memory systems this operation fails with segfault.

    $ dnf changelog kernel 
    Updating Subscription Management repositories.
    Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)                                                                                                                           648 kB/s | 207 MB     05:27    
    Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)                                                                                                                              851 kB/s | 859 MB     17:13    
    Segmentation fault
    
     kernel: dnf[13133]: segfault at 7fe5010f6483 ip 00007fe79b22bf88 sp 00007ffd167093a0 error 6 in libsolv.so.1[7fe79b1f4000+90000]
    

Environment

  • Red Hat Enterprise Linux 8

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content