Bug 498712 - Oracle Server Rpm Installation Freezing on EL5
Oracle Server Rpm Installation Freezing on EL5
Status: CLOSED CURRENTRELEASE
Product: Red Hat Satellite 5
Classification: Red Hat
Component: Installer (Show other bugs)
530
All Linux
high Severity medium
: ---
: ---
Assigned To: Michael Mráka
Petr Sklenar
:
Depends On:
Blocks: 391771 456985
  Show dependency treegraph
 
Reported: 2009-05-02 08:40 EDT by Devan Goodwin
Modified: 2009-09-10 16:36 EDT (History)
2 users (show)

See Also:
Fixed In Version: sat530
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-09-10 16:36:21 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Devan Goodwin 2009-05-02 08:40:00 EDT
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:
Comment 1 Devan Goodwin 2009-05-02 14:43:04 EDT
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.
Comment 2 Jan Pazdziora 2009-05-04 05:40:33 EDT
Taking this bugzillas.
Comment 3 Jan Pazdziora 2009-05-04 05:41:36 EDT
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.
Comment 4 Jan Pazdziora 2009-05-04 06:20:58 EDT
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]
Comment 5 Jan Pazdziora 2009-05-04 07:23:50 EDT
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
[...]
Comment 6 Jan Pazdziora 2009-05-04 07:30:23 EDT
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.
Comment 7 Jan Pazdziora 2009-05-04 08:19:38 EDT
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
Comment 8 Jan Pazdziora 2009-05-04 08:20:16 EDT
Reassigning to Michael as he knows how to change the list of Provided libraries of oracle-server-*.
Comment 10 Michael Mráka 2009-05-05 10:29:55 EDT
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.
Comment 11 Michael Mráka 2009-05-11 05:04:39 EDT
Moving ON_QA. Satellite-5.3.0-RHEL?-re20090507.1
Comment 12 Petr Sklenar 2009-06-17 08:20:44 EDT
verified,
tried:
i386 machine with rhel5 + Satellite-5.3.0-RHEL5-re20090612.0
Comment 13 Petr Sklenar 2009-06-26 06:40:17 EDT
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
Comment 15 Brandon Perkins 2009-09-10 16:36:21 EDT
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

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