Bug 1632822

Summary: dnf update crashes on freshly installed F29 beta
Product: [Fedora] Fedora Reporter: Flo H. <emailtoflorian>
Component: dnfAssignee: Daniel Mach <dmach>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 29CC: dmach, mblaha, packaging-team-maint, rpm-software-management, vmukhame
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-03 09:03:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Flo H. 2018-09-25 15:48:58 UTC
Description of problem: 

A locked database lets dnf crash:

$uname -r
4.18.5-300.fc29.x86_64

$ sudo dnf update

We trust you [...] responsibility.

[sudo] password: 
Fedora Modular 29 - x86_64                      733 kB/s | 1.5 MB     00:02    
Fedora Modular 29 - x86_64 - Updates            167  B/s | 257  B     00:01    
Fedora Modular 29 - x86_64 - Test Updates       590 kB/s | 1.5 MB     00:02    
Fedora 29 - x86_64 - Test Updates               494 kB/s | 7.4 MB     00:15    
Fedora 29 - x86_64 - Updates                    343  B/s | 257  B     00:00    
Fedora 29 - x86_64                               12 MB/s |  62 MB     00:05    
Traceback (most recent call last):
  File "/usr/bin/dnf", line 58, in <module>
    main.user_main(sys.argv[1:], exit_code=True)
  File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 179, in user_main
    errcode = main(args)
  File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 64, in main
    return _main(base, args, cli_class, option_parser_class)
  File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 99, in _main
    return cli_run(cli, base)
  File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 123, in cli_run
    ret = resolving(cli, base)
  File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 146, in resolving
    base.resolve(cli.demands.allow_erasing)
  File "/usr/lib/python3.7/site-packages/dnf/base.py", line 736, in resolve
    self._transaction = self._goal2transaction(goal)
  File "/usr/lib/python3.7/site-packages/dnf/base.py", line 633, in _goal2transaction
    ts.add_install(pkg, obs, reason)
  File "/usr/lib/python3.7/site-packages/dnf/db/group.py", line 256, in add_install
    ti_new = self.new(new, libdnf.transaction.TransactionItemAction_INSTALL, reason)
  File "/usr/lib/python3.7/site-packages/dnf/db/group.py", line 219, in new
    rpm_item = self._pkg_to_swdb_rpm_item(pkg)
  File "/usr/lib/python3.7/site-packages/dnf/db/group.py", line 210, in _pkg_to_swdb_rpm_item
    rpm_item = self.history.swdb.createRPMItem()
  File "/usr/lib/python3.7/site-packages/dnf/db/history.py", line 291, in swdb
    self._swdb = libdnf.transaction.Swdb(self.dbpath)
  File "/usr/lib64/python3.7/site-packages/libdnf/transaction.py", line 729, in __init__
    this = _transaction.new_Swdb(*args)
RuntimeError: C++ std::exception: Exec failed: database is locked



Version-Release number of selected component (if applicable):
dnf-3.5.1-1.fc29.noarch

How reproducible:


Steps to Reproduce:
1. install F29 beta
2. reboot and login
3. run 'sudo dnf update'

Actual results:


Expected results:
A locked database should not let dnf crash but output a nice message.

Additional info:

Comment 1 Daniel Mach 2019-06-03 09:03:48 UTC

*** This bug has been marked as a duplicate of bug 1631533 ***