The rpm command may core dump with SIGBUS during and after system startup.

Solution Verified - Updated -

Issue

  • The rpm command may core dump with a SIGBUS if /var/lib/rpm/__db.002 or __db.003 are zero length files.

    For example:

    # ls -l /var/lib/rpm
    total 92252
    -rw-r--r--. 1 root root  3317760 Jul  4 10:32 Basenames
    -rw-r--r--. 1 root root    16384 Jun 30 15:37 Conflictname
    -rw-r--r--. 1 root root   286720 Jul 14 18:10 __db.001
    -rw-r--r--. 1 root root        0 Jul 14 18:10 __db.002 <---
    -rw-r--r--. 1 root root  1318912 Jul 14 18:11 __db.003 
    or
    -rw-r--r--. 1 root root    90112 Jul 14 18:10 __db.002
    -rw-r--r--. 1 root root        0 Jul 14 18:11 __db.003 <---
    

    In this situation, if the following command rpm -qa is ran (or ran with any other options), it core dumps with SIGBUS.

    # rpm -qa
    Bus error
    
  • This issue was found when the rpm command was ran from a script defined in a 3rd party software service unit. That service unit had (amongst other things) After=local-fs.target and DefaultDependencies set to no in [Unit] section of the service file.

Environment

  • Red Hat Enterprise Linux 7
  • rpm package
  • systemd

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