Bug 695236 - spacewalk-repo-sync crash when syncing more than 1013 rpms
Summary: spacewalk-repo-sync crash when syncing more than 1013 rpms
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Spacewalk
Classification: Community
Component: Server
Version: 1.3
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Michael Mráka
QA Contact: Red Hat Satellite QA List
URL:
Whiteboard:
Depends On:
Blocks: space14
TreeView+ depends on / blocked
 
Reported: 2011-04-11 06:43 UTC by Luc de Louw
Modified: 2011-04-26 09:10 UTC (History)
0 users

Fixed In Version: spacewalk-backend-1.4.7-1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-04-26 09:10:26 UTC
Embargoed:


Attachments (Terms of Use)

Description Luc de Louw 2011-04-11 06:43:06 UTC
Description of problem:
When running a spacewalk-repo-sync -c whatever-channel and more than 1013 rpms needs to be synced, a crash occures.

Version-Release number of selected component (if applicable):
spacewalk-backend-tools-1.3.57-1.el5

How reproducible:
Always

Steps to Reproduce:
1. Add a new repository with >1013 rpms to sync
2. On the CLI run spacewalk-repo-sync -c whatever-channel
3. Wait for crash
4. Repeat step 2
5. Wait for crash again (in case that still more than 1013 rpms are to be synced)
6. Repeat step 2 until you have less than 1013 rpms to sync
  
Actual results:

[root@spacewalk reposync]# spacewalk-repo-sync -c epel-x86_64
Channel has no URL associated
[root@spacewalk reposync]# spacewalk-repo-sync -c epel6-x86_64
Repo http://mirror.switch.ch/ftp/mirror/epel/6/x86_64/ has 5767 packages.
1/4754 : emacs-bigloo-3.3a-2.5.el6-0.noarch
[snip]
1013/4754 : apcupsd-gui-3.14.8-2.el6-0.x86_64
1014/4754 : perl-Module-Signature-0.66-1.el6-0.noarch
python: ./rpmio_internal.h:502: c2f: Assertion `fd && fd->magic == 0x04463138' failed.
ORA-24550: signal received: [si_signo=6] [si_errno=0] [si_code=-6] [si_int=1010786368] [si_ptr=0xffff81003c3f6040] [si_addr=0x5533]
kpedbg_dmp_stack()+360<-kpeDbgCrash()+192Cannot open /usr/lib64/oracle/11.2/client/lib/libclntsh.so.11.1 for reading: errno=24
<-000000321BF316F9Cannot open /usr/lib64/oracle/11.2/client/lib/libclntsh.so.11.1 for reading: errno=24
<-000000321BC938C2<-__sighandler()<-gsignal()+53<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660<-00002B3C5F816660
Aborted
[root@spacewalk reposync]# 

[root@spacewalk reposync]# spacewalk-repo-sync -c epel6-x86_64
Repo http://mirror.switch.ch/ftp/mirror/epel/6/x86_64/ has 5767 packages.
1/3741 : perl-Module-Signature-0.66-1.el6-0.noarch
[snip]
1013/3741 : powerman-2.3.5-2.el6-0.i686
1014/3741 : libgeotiff-devel-1.2.5-5.el6-0.i686
python: ./rpmio_internal.h:502: c2f: Assertion `fd && fd->magic == 0x04463138' failed.
ORA-24550: signal received: [si_signo=6] [si_errno=0] [si_code=-6] [si_int=0] [si_ptr=0x200000000] [si_addr=0x585b]
kpedbg_dmp_stack()+360<-kpeDbgCrash()+192Cannot open /usr/lib64/oracle/11.2/client/lib/libclntsh.so.11.1 for reading: errno=24
<-000000321BF316F9Cannot open /usr/lib64/oracle/11.2/client/lib/libclntsh.so.11.1 for reading: errno=24
<-000000321BC938C2<-__sighandler()<-gsignal()+53<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660<-00002B9EE27F7660
Aborted
[root@spacewalk reposync]# 

And over and over again until success

The same applies to spacewalk 1.3 with pgsql, but less reproducible:
1013/4746 : xmlsec1-devel-1.2.16-2.el6-0.i686
1014/4746 : erlang-docbuilder-R14B-0.5.el6-0.x86_64
python: ./rpmio_internal.h:502: c2f: Assertion `fd && fd->magic == 0x04463138' failed.
Aborted
 


Expected results:
Syncs of large repos should be successful on the first try

Additional info:
There is no trace of an error message in any logfile visible, even not in /var/log/rhn/reposync/epel6-x86_64*

Comment 1 Michael Mráka 2011-04-11 07:45:59 UTC
It's been fixed some time ago, see https://www.redhat.com/archives/spacewalk-list/2011-February/msg00115.html.

Fixed by
commit 12a42dcc950b03d0dd6871689b00954d18a34ddc
    fixed leaked filedescriptor in reposync
    
    addressing
    python: ./rpmio_internal.h:502: c2f: Assertion `fd && fd->magic == 0x04463138' failed.
    ORA-24550: signal received: [si_signo=6] [si_errno=0] [si_code=-6] [si_int=4202816] [si_ptr=0x402140] [si_addr=0x4848]
    kpedbg_dmp_stack()+297<-kpeDbgCrash()+75Cannot open /usr/lib/oracle/11.2/client/lib/libclntsh.so.11.1 for reading: errno=24
    <-075E6CC1Cannot open /usr/lib/oracle/11.2/client/lib/libclntsh.so.11.1 for reading: errno=24
    <-07377F6F<-gsignal()+80<-abort()+257<-__assert_fail()+251Cannot open /usr/lib/librpmio-4.4.so for reading: errno=24

Comment 2 Luc de Louw 2011-04-15 06:28:29 UTC
Tested with latest nightly, seems indeed fixed. Sorry for the noise.

Comment 3 Miroslav Suchý 2011-04-26 09:10:26 UTC
Spacewalk 1.4 has been released


Note You need to log in before you can comment on or make changes to this bug.