Description of problem: During Satellite install, program hangs installing our rpms, problem appears to be oracle-server-i386. Version-Release number of selected component (if applicable): Satellite-5.3.0-RHEL5-re20090501.1-i386-embedded-oracle.iso EmbeddedDB/oracle-server-i386-10.2.0.4-46.el5sat.i386.rpm How reproducible: Seems 100% for el5 on i386. Hit twice on an rlx blade and again on a KVM guest, freeze always seems to happen at the same place. Steps to Reproduce: 1. Install Satellite normally with install.pl. Actual results: Process hangs during rpm installation, last line printed to rhn-installation.log is: Installing : perl-DateTime [120/272] Replicated by modifying install.pl to die before the yum localinstall command so I could then run it manually, which displayed that something dies in the midding of oracle-server-i386: From: yum localinstall -y Satellite/*.rpm EmbeddedDB/*.rpm Installing : perl-DateTime [120/272] Installing : oracle-server-i386 ### [121/272] CPU usage is idle when this occurs, and the install never completes. Additional info:
Excerpt from email from Jan earlier this week: > # strace -p 2420 > Process 2420 attached - interrupt to quit > write(20, "warning: user oracle does not ex"..., 49 > > The user oracle should have been created by > Satellite/oracle-config-1.1-4.el5sat.noarch.rpm and even if > > # rpm -qp --requires > EmbeddedDB/oracle-server-i386-10.2.0.4-46.el5sat.i386.rpm | \ grep > oracle-config oracle-config > > and > > # rpm -qp --provides Satellite/oracle-config-1.1-4.el5sat.noarch.rpm \ > | grep oracle-config > config(oracle-config) = 1.1-4.el5sat > oracle-config = 1.1-4.el5sat > > the oracle-config was not installed in the transaction before the > oracle-server-i386 installation started.
Taking this bugzillas.
When I change that Requires(pre) to Requires, the oracle-config is installed before oracle-server-i386, however, httpd is not installed before oracle-config.
Even if I just try to install oracle-server-386 and oracle-config, the order is wrong: # yum localinstall -y Satellite/oracle-config-1.1-4.el5sat.noarch.rpm EmbeddedDB/oracle-server-i386-10.2.0.4-46.el5sat.i386.rpm Loaded plugins: rhnplugin, security Setting up Local Package Process Examining Satellite/oracle-config-1.1-4.el5sat.noarch.rpm: oracle-config-1.1-4.el5sat.noarch Marking Satellite/oracle-config-1.1-4.el5sat.noarch.rpm to be installed rhel-i386-server-5 | 1.4 kB 00:00 primary.xml.gz | 2.0 MB 00:00 rhel-i386-server-5 5272/5272 rhn-tools-rhel-i386-server-5 | 1.2 kB 00:00 Examining EmbeddedDB/oracle-server-i386-10.2.0.4-46.el5sat.i386.rpm: oracle-server-i386-10.2.0.4-46.el5sat.i386 Marking EmbeddedDB/oracle-server-i386-10.2.0.4-46.el5sat.i386.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package oracle-server-i386.i386 0:10.2.0.4-46.el5sat set to be updated --> Processing Dependency: compat-db for package: oracle-server-i386 ---> Package oracle-config.noarch 0:1.1-4.el5sat set to be updated --> Processing Dependency: httpd for package: oracle-config --> Running transaction check ---> Package httpd.i386 0:2.2.3-22.el5 set to be updated filelists.xml.gz | 14 MB 00:02 filelists.xml.gz | 18 kB 00:00 --> Processing Dependency: libaprutil-1.so.0 for package: httpd --> Processing Dependency: libapr-1.so.0 for package: httpd ---> Package compat-db.i386 0:4.2.52-5.1 set to be updated --> Running transaction check ---> Package apr-util.i386 0:1.2.7-7.el5 set to be updated --> Processing Dependency: libpq.so.4 for package: apr-util ---> Package apr.i386 0:1.2.7-11 set to be updated --> Running transaction check ---> Package postgresql-libs.i386 0:8.1.11-1.el5_1.1 set to be updated --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================================ Package Arch Version Repository Size ================================================================================================================================================================ Installing: oracle-config noarch 1.1-4.el5sat Satellite/oracle-config-1.1-4.el5sat.noarch.rpm 7.4 k oracle-server-i386 i386 10.2.0.4-46.el5sat EmbeddedDB/oracle-server-i386-10.2.0.4-46.el5sat.i386.rpm 243 M Installing for dependencies: apr i386 1.2.7-11 rhel-i386-server-5 123 k apr-util i386 1.2.7-7.el5 rhel-i386-server-5 76 k compat-db i386 4.2.52-5.1 rhel-i386-server-5 1.7 M httpd i386 2.2.3-22.el5 rhel-i386-server-5 1.2 M postgresql-libs i386 8.1.11-1.el5_1.1 rhel-i386-server-5 196 k Transaction Summary ================================================================================================================================================================ Install 7 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 246 M Downloading Packages: (1/5): apr-util-1.2.7-7.el5.i386.rpm | 76 kB 00:00 (2/5): apr-1.2.7-11.i386.rpm | 123 kB 00:00 (3/5): postgresql-libs-8.1.11-1.el5_1.1.i386.rpm | 196 kB 00:00 (4/5): httpd-2.2.3-22.el5.i386.rpm | 1.2 MB 00:00 (5/5): compat-db-4.2.52-5.1.i386.rpm | 1.7 MB 00:00 ---------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 4.1 MB/s | 3.3 MB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : apr [1/7] Installing : compat-db [2/7] Installing : postgresql-libs [3/7] Installing : oracle-server-i386 ## [4/7]
The problem seems to be not in yum itself but in rpm/rpmlib: # rpm -Uvh Satellite/oracle-config-1.1-4.el5sat.noarch.rpm EmbeddedDB/oracle-server-i386-10.2.0.4-46.el5sat.i386.rpm ../yum-test/apr-1.2.7-11.i386.rpm ../yum-test/apr-util-1.2.7-7.el5.i386.rpm ../yum-test/compat-db-4.2.52-5.1.i386.rpm ../yum-test/httpd-2.2.3-22.el5.i386.rpm ../yum-test/postgresql-libs-8.1.11-1.el5_1.1.i386.rpm Preparing... ########################################### [100%] 1:apr ########################################### [ 14%] 2:postgresql-libs ########################################### [ 29%] 3:compat-db ########################################### [ 43%] 4:oracle-server-i386 warning: user oracle does not exist - using root warning: group dba does not exist - using root warning: user oracle does not exist - using root warning: group dba does not exist - using root warning: user oracle does not exist - using root warning: group dba does not exist - using root warning: user oracle does not exist - using root [...]
During the initial dependency resolution, the Requires(pre) is taken into account just fine: # rpm -Uvh Satellite/oracle-config-1.1-4.el5sat.noarch.rpm EmbeddedDB/oracle-server-i386-10.2.0.4-46.el5sat.i386.rpm error: Failed dependencies: httpd is needed by oracle-config-1.1-4.el5sat.noarch compat-db is needed by oracle-server-i386-10.2.0.4-46.el5sat.i386 It's only then when the actual order of packages in the installation transaction should matter when things go wrong.
The trouble seems to be a cyclic dependence introduced by (at least) oracle-server-i386's libexpat.so.0: # rpm -Uvvvvh ../yum-test/*.rpm EmbeddedDB/oracle-server-i386-10.2.0.4-46.el5sat.i386.rpm [...] D: ========== tsorting packages (order, #predecessors, #succesors, tree, depth, breadth) D: 0 0 2 0 1 0 +apr-1.2.7-11.i386 D: 1 0 1 2 1 1 +postgresql-libs-8.1.11-1.el5_1.1.i386 D: 2 0 1 1 1 2 +compat-db-4.2.52-5.1.i386 D: LOOP: D: removing oracle-server-i386-10.2.0.4-46.el5sat.i386 "Requires: oracle-config" from tsort relations. D: oracle-server-i386-10.2.0.4-46.el5sat.i386 Requires: oracle-config D: removing oracle-config-1.1-4.git.5eece2b114e267ca41c381f260d1f82cb08bc705.noarch "Requires: httpd" from tsort relations. D: oracle-config-1.1-4.git.5eece2b114e267ca41c381f260d1f82cb08bc705.noarch Requires: httpd D: removing httpd-2.2.3-22.el5.i386 "Requires(auto): libaprutil-1.so.0" from tsort relations. D: httpd-2.2.3-22.el5.i386 Requires(auto): libaprutil-1.so.0 D: removing apr-util-1.2.7-7.el5.i386 "Requires(auto): libexpat.so.0" from tsort relations. D: apr-util-1.2.7-7.el5.i386 Requires(auto): libexpat.so.0 D: ========== continuing tsort ... (rescan 1) D: 3 2 2 -1 1 3 +oracle-server-i386-10.2.0.4-46.el5sat.i386 D: ========== successors only (256944547 bytes) D: 4 3 1 -1 1 4 +apr-util-1.2.7-7.el5.i386 D: 5 3 1 -1 2 0 +httpd-2.2.3-22.el5.i386 D: 6 1 1 -1 1 5 +oracle-config-1.1-4.git.5eece2b114e267ca41c381f260d1f82cb08bc705.noarch # rpm -qp --provides EmbeddedDB/oracle-server-i386-10.2.0.4-46.el5sat.i386.rpm | grep libexpat libexpat.so.0 # rpm -q --requires httpd | grep libexpat libexpat.so.0
Reassigning to Michael as he knows how to change the list of Provided libraries of oracle-server-*.
Fixed in thirdparty.git commit 5fb7be5b5606c58f6ea602d32806d876ea3913ad Automatic commit of package [oracle-server-s390x] minor release [10.2.0.4-47]. commit 642e15fba977fd92a4a6e4b1d2f70814705700bc Automatic commit of package [oracle-server-x86_64] minor release [10.2.0.4-47]. commit 5794043150ab95f566f1c66b593adca51f247ffc Automatic commit of package [oracle-server-i386] minor release [10.2.0.4-47]. commit 102e1bc7a51a0ced426fd02444e84347a95c3a7d oralce-server %changelog commit 8edbf7b4fb938acdf07f1b155547c4de4ae340d8 498712 - switch off autogenerated provides Oracle-server is "self-contained" package and nothing can use directly it's internal libraries. It should be accessed only via client libraries packed in oracle-instant-client. ...even spacewalk-dobby which is tool for server administration uses perl-DBD-Oracle (thus instantclient) or sqlplus to access oracle server.
Moving ON_QA. Satellite-5.3.0-RHEL?-re20090507.1
verified, tried: i386 machine with rhel5 + Satellite-5.3.0-RHEL5-re20090612.0
verified also by rhts tests: RHEL4-U7: http://rhts.redhat.com/cgi-bin/rhts/jobs.cgi?id=68860 RHEL5-Server-U3: http://rhts.redhat.com/cgi-bin/rhts/jobs.cgi?id=68862
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHEA-2009-1434.html