abrt / faf

Platform for collection and analysis of packages and package crashes
GNU General Public License v3.0
46 stars 47 forks source link

reposync fails to sync packages to db #958

Closed mkutlak closed 3 years ago

mkutlak commented 3 years ago

For info: I've updated my Dockerfile to use Fedora 33. There are no other changes.

How to reproduce:

1) Download packages:

$ sudo dnf --releasever=33 --enablerepo=\*debuginfo\* -y --installroot=/tmp/fedora33  install --downloadonly --destdir /tmp/fedora33/ abrt-addon-ccpp shadow-utils  gdb rpm will-crash firefox

2) Add repository with downloaded packages:

$ faf repoadd f33 dnf file:///tmp/fedora33

3) Assign repo to release

$ faf repoassign f33 "Fedora 33" x86_64

4) Run reposync

$ faf reposync

5) Crash

[2020-10-29 19:45:40] INFO:faf.RepoSync: Processing repo 'f33' assigned with OpSysRelease                                                                                                                                                     
[2020-10-29 19:45:40] DEBUG:dnf: User-Agent: constructed: 'libdnf (Fedora 33; container; Linux.x86_64)'                                                                                                                                       
[2020-10-29 19:45:40] INFO:dnf: Added faf_f33-0 repo from file:///tmp/fedora33                                                                                                                                                                
[2020-10-29 19:45:40] INFO:faf.RepoSync: Processing repository 'f33' assigned to OS release '33' and arch 'x86_64', URL: '(['file:///tmp/fedora33'],)'                                                                                        
[2020-10-29 19:45:40] DEBUG:dnf: repo: using cache for: faf_f33-0                                                                                                                                                                             
[2020-10-29 19:45:40] DEBUG:dnf: faf_f33-0: using metadata from Thu Oct 29 19:39:02 2020.                                                                                                                                                     
[2020-10-29 19:45:40] INFO:dnf: Last metadata expiration check: 0:03:44 ago on Thu Oct 29 19:41:56 2020.                                                                                                                                      
[2020-10-29 19:45:40] DEBUG:dnf: User-Agent: constructed: 'libdnf (Fedora 33; container; Linux.x86_64)'                                                                                                                                       
[2020-10-29 19:45:40] INFO:faf.RepoSync: Repository has '641' packages                                                                                                                                                                        
[2020-10-29 19:45:40] INFO:faf.RepoSync: [1 / 641] Processing package abattis-cantarell-fonts                                                                                                                                                 
[2020-10-29 19:45:40] DEBUG:faf.RepoSync: Known package abattis-cantarell-fonts-0.201-4.fc33.noarch.rpm                                                                                                                                       
[2020-10-29 19:45:40] INFO:faf.RepoSync: [2 / 641] Processing package abrt                                                                                                                                                                    
[2020-10-29 19:45:40] DEBUG:faf.RepoSync: Known package abrt-2.14.4-7.fc33.x86_64.rpm                                                                                                                                                         
[2020-10-29 19:45:40] INFO:faf.RepoSync: [3 / 641] Processing package abrt-addon-ccpp                                                                                                                                                         
[2020-10-29 19:45:40] DEBUG:faf.RepoSync: Adding build abrt-addon-ccpp-2.14.4                                                                                                                                                                 
[2020-10-29 19:45:40] INFO:faf.RepoSync: Adding link between build abrt-addon-ccpp-2.14.4 operating system 'Fedora', release '33 and architecture x86_64                                                                                      
[2020-10-29 19:45:40] INFO:faf.RepoSync: Adding package abrt-addon-ccpp-2.14.4-7.fc33.x86_64.rpm                                                                                                                                              
[2020-10-29 19:45:40] INFO:faf.RepoSync: Downloading file:///tmp/fedora33/abrt-addon-ccpp-2.14.4-7.fc33.x86_64.rpm                                                                                                                            
[2020-10-29 19:45:40] DEBUG:faf.pyfaf.faf_rpm: abrt-addon-ccpp-2.14.4-7.fc33.x86_64 contains 61 files                                                                                                                                         
[2020-10-29 19:45:40] CRITICAL:faf: Action failed unexpectedly: InvalidRequestError: Can't start a SAVEPOINT transaction when no existing transaction is in progress                                                                          
Traceback (most recent call last):                                                                                                                                                                                                            
  File "/usr/bin/faf", line 152, in <module>                                                                                                                                                                                                  
    main()                                                                                                                                                                                                                                    
  File "/usr/bin/faf", line 132, in main                                                                                                                                                                                                      
    exitcode = cmdline.func(cmdline, db)                                                                               
  File "/usr/lib/python3.9/site-packages/pyfaf/actions/reposync.py", line 246, in run                                  
    store_rpm_deps(db, package, repo_instance['nogpgcheck'])                                                           
  File "/usr/lib/python3.9/site-packages/pyfaf/faf_rpm.py", line 90, in store_rpm_deps                                 
    db.session.begin_nested()                                                                                          
  File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/session.py", line 986, in begin_nested                       
    return self.begin(nested=True)                                                                                     
  File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/session.py", line 960, in begin                              
    self.transaction = SessionTransaction(self, nested=nested)                                                         
  File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/session.py", line 228, in __init__                           
    raise sa_exc.InvalidRequestError(                                                                                  
sqlalchemy.exc.InvalidRequestError: Can't start a SAVEPOINT transaction when no existing transaction is in progress

possible suspect PR: https://github.com/abrt/faf/pull/930

$ faf --version
ABRT Analytics v2.3.0