[Spacewalk-list] Oracle error running up2date on RHEL 4.8 client

Renshaw, Kellen krenshaw at pima.edu
Wed Aug 10 23:58:05 UTC 2011


Hello,

We were trying to update a RHEL 4.8 box from our testing Spacewalk server (1.4 then 1.5) and ran into a problem when I ran up2date from the client.  It successfully registers and correctly identifies the update, but fails with the traceback at the bottom of the email during up2date.

Client output is below:
Name                                    Version              Rel               Arch
----------------------------------------------------------------------------------------
up2date                                 4.9.1               29.el4              i386


Testing package set / solving RPM inter-dependencies...
An error has occurred:
Internal Server Error
See /var/log/up2date for more information

We narrowed the issue down to  the following PL/SQL (problematic section is bolded):
...
UNION ALL
select  distinct
    pn.name,
    (pe.evr).version as version,
    (pe.evr).release as release,
    (pe.evr).epoch as epoch,
    pa.label as arch,
    2 as preference
from
    rhnServerChannel sc,
    rhnChannelPackage cp,
    rhnPackageProvides pr,
    rhnPackage p,
    rhnPackageCapability cap,
    rhnPackageName pn,
    rhnPackageEVR pe,
    rhnPackageArch pa
where
    sc.server_id = :server_id
and sc.channel_id = cp.channel_id
and cp.package_id = p.id
and cp.package_id = pr.package_id
and pr.package_id = p.id
and pr.capability_id = cap.id
and cap.name = :dep
and p.name_id = pn.id
and p.evr_id = pe.id
and p.package_arch_id = pa.id
-- and this package is the latest one from all the channels
-- this server is subscribed to.
and pe.evr = (
    select MAX(pe1.evr)
    from
        rhnPackage p1,
        rhnPackageEVR pe1,
        rhnServerChannel sc1,
        rhnChannelPackage cp1
    where
        sc1.server_id = :server_id
    and sc1.channel_id = cp1.channel_id
    and cp1.package_id = p1.id
    and p1.name_id = pn.id
    and p1.evr_id = pe1.id
    )
...

The issue was resolved by manually installing the updated up2date and up2date-gnome from the filesystem via rpm.  I just wanted to post this to see if there is a solution or if the workaround will have to do.

Traceback:

Exception reported from hostname
Time: Wed Aug 10 14:26:15 2011
Exception type cx_Oracle.DatabaseError
Exception while handling function up2date.solveDependencies Request object information:
URI: /XMLRPC
Remote Host: hostname
Server Name: hostname:0
Headers passed in:
                Accept-Encoding: identity
                Content-Length: 2284
                Host: hostname
                content-type: text/xml
                user-agent: rhn.rpclib.py/$Revision: 180172 $
                x-client-version: 1
                x-info: RPC Processor (C) Red Hat, Inc (version 182991)
                x-rhn-client-capability: packages.verifyAll(1)=1,caneatCheese(1)=1,packages.extended_profile(1)=1,reboot.reboot(1)=1,packages.verify(1)=1,packages.runTransaction(1)=1,packages.update(2)=2,packages.rollBack(1)=1
                x-rhn-transport-capability: follow-redirects=3
                x-transport-info: Extended Capabilities Transport (C) Red Hat, Inc (version 180172)
                x-up2date-version: 4.8.1-33.el4

Exception Handler Information
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/spacewalk/server/apacheRequest.py", line 123, in call_function
    response = apply(func, params)
  File "/usr/share/rhn/server/handlers/xmlrpc/up2date.py", line 357, in solveDependencies
    clientVersion = 2)
  File "/usr/share/rhn/server/handlers/xmlrpc/up2date.py", line 435, in __solveDep
    result, clientVersion)
  File "/usr/lib/python2.4/site-packages/spacewalk/server/rhnDependency.py", line 569, in solve_dependencies
    rs = h.fetchall_dict() or []
  File "/usr/lib/python2.4/site-packages/spacewalk/server/rhnSQL/sql_base.py", line 254, in fetchall_dict
    rows = self._real_cursor.fetchall()
DatabaseError: ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "SPACEWALK.RPM", line 61
ORA-06512: at "SPACEWALK.RPM", line 205
ORA-06512: at "SPACEWALK.EVR_T", line 7


Local variables by frame
Frame fetchall_dict in /usr/lib/python2.4/site-packages/spacewalk/server/rhnSQL/sql_base.py at line 254
                                self = <type 'instance'> <__builtin__.OracleCursor on <cx_Oracle.Connection to spacewalk at spcwlk>>

Frame solve_dependencies in /usr/lib/python2.4/site-packages/spacewalk/server/rhnDependency.py at line 569
                           server_id = <type 'int'> 1000010081
                                deps = <type 'list'> ['up2date']
                                 dep = <type 'str'> up2date
                                   h = <type 'instance'> <__builtin__.OracleCursor on <cx_Oracle.Connection to spacewalk at spcwlk>>
                             version = <type 'int'> 2
                                dict = <type 'dict'> {}
                           statement = <type 'str'>
select distinct
    pn.name name,
    (pe.evr).version as version,
    (pe.evr).release as release,
    (pe.evr).epoch as epoch,
    pa.label as arch,
    1 as preference
from
    rhnPackageEvr pe,
    rhnChannelPackage cp,
    rhnPackage p,
    rhnServerChannel sc,
    rhnPackageName pn,
    rhnPackageArch pa
where 1=1
and pn.name = :dep
and sc.server_id = :server_id
and p.name_id = pn.id
and cp.channel_id = sc.channel_id
and p.id = cp.package_id
and p.evr_id = pe.id
and p.package_arch_id = pa.id
and pe.evr = (
    select MAX(pe1.evr)
    from
        rhnPackageEVR pe1,
        rhnChannelPackage cp1,
        rhnPackage p1,
        rhnServerChannel sc1
    where
        sc1.server_id = :server_id
    and p1.name_id = pn.id
    and sc1.channel_id = cp1.channel_id
    and cp1.package_id = p1.id
    and p1.evr_id = pe1.id
    )
UNION ALL
select  distinct
    pn.name,
    (pe.evr).version as version,
    (pe.evr).release as release,
    (pe.evr).epoch as epoch,
    pa.label as arch,
    2 as preference
from
    rhnServerChannel sc,
    rhnChannelPackage cp,
    rhnPackageProvides pr,
    rhnPackage p,
    rhnPackageCapability cap,
    rhnPackageName pn,
    rhnPackageEVR pe,
    rhnPackageArch pa
where
    sc.server_id = :server_id
and sc.channel_id = cp.channel_id
and cp.package_id = p.id
and cp.package_id = pr.package_id
and pr.package_id = p.id
and pr.capability_id = cap.id
and cap.name = :dep
and p.name_id = pn.id
and p.evr_id = pe.id
and p.package_arch_id = pa.id
-- and this package is the latest one from all the channels
-- this server is subscribed to.
and pe.evr = (
    select MAX(pe1.evr)
    from
        rhnPackage p1,
        rhnPackageEVR pe1,
        rhnServerChannel sc1,
        rhnChannelPackage cp1
    where
        sc1.server_id = :server_id
    and sc1.channel_id = cp1.channel_id
    and cp1.package_id = p1.id
    and p1.name_id = pn.id
    and p1.evr_id = pe1.id
    )
UNION ALL
select distinct
    pn.name,
    (pe.evr).version as version,
    (pe.evr).release as release,
    (pe.evr).epoch as epoch,
    pa.label as arch,
    3 as preference
from
    rhnServerChannel sc,
    rhnChannelPackage cp,
    rhnPackageFile f,
    rhnPackage p,
    rhnPackageCapability cap,
    rhnPackageName pn,
    rhnPackageEVR pe,
    rhnPackageArch pa
where
    sc.server_id = :server_id
and sc.channel_id = cp.channel_id
and cp.package_id = p.id
and cp.package_id = f.package_id
and f.capability_id = cap.id
and cap.name = :dep
and p.name_id = pn.id
and p.evr_id = pe.id
and p.package_arch_id = pa.id
-- and this package is the latest one from all the channels
-- this server is subscribed to.
and pe.evr = (
    select MAX(pe1.evr)
    from
        rhnPackage p1,
        rhnPackageEVR pe1,
        rhnServerChannel sc1,
        rhnChannelPackage cp1
    where
        sc1.server_id = :server_id
    and sc1.channel_id = cp1.channel_id
    and cp1.package_id = p1.id
    and p1.name_id = pn.id
    and p1.evr_id = pe1.id
    )

                             deplist = <type 'list'> ['up2date']
                            packages = <type 'dict'> {}

Frame __solveDep in /usr/share/rhn/server/handlers/xmlrpc/up2date.py at line 435
                       clientVersion = <type 'int'> 2
                                self = <type 'instance'> <server.handlers.xmlrpc.up2date.Up2date instance at 0x2b2231a2b2d8>
                           system_id = <type 'str'> <?xml version="1.0"?> <params> <param> <value><struct> <member> <name>username</name> <value><string>username</string></value>
</member>
<member>
<name>operating_system</name>
<value><string>redhat-release</string></value>
</member>
<member>
<name>description</name>
<value><string>Initial Registration Parameters:
OS: redhat-release
Release: 4AS
CPU Arch: i686-redhat-linux</string></value>
</member>
<member>
<name>checksum</name>
<value><string>048f18f697a95fa1b27206dd46fa536d</string></value>
</member>
<member>
<name>profile_name</name>
<value><string>hostname</string></value>
</member>
<member>
<name>system_id</name>
<value><string>ID-1000010081</string></value>
</member>
<member>
<name>architecture</name>
<value><string>i686-redhat-linux</string></value>
</member>
<member>
<name>os_release</name>
<value><string>4AS</string></value>
</member>
<member>
<name>fields</name>
<value><array><data>
<value><string>system_id</string></value>
<value><string>os_release</string></value>
<value><string>operating_system</string></value>
<value><string>architecture</string></value>
<value><string>username</string></value>
<value><string>type</string></value>
</data></array></value>
</member>
<member>
<name>type</name>
<value><string>REAL</string></value>
</member>
</struct></value>
</param>
</params>

                              result = <type 'list'> ['up2date']
                                deps = <type 'list'> ['up2date']
                              action = <type 'str'> solvedep

Frame solveDependencies in /usr/share/rhn/server/handlers/xmlrpc/up2date.py at line 357
                                self = <type 'instance'> <server.handlers.xmlrpc.up2date.Up2date instance at 0x2b2231a2b2d8>
                           system_id = <type 'str'> <?xml version="1.0"?> <params> <param> <value><struct> <member> <name>username</name> <value><string>username</string></value>
</member>
<member>
<name>operating_system</name>
<value><string>redhat-release</string></value>
</member>
<member>
<name>description</name>
<value><string>Initial Registration Parameters:
OS: redhat-release
Release: 4AS
CPU Arch: i686-redhat-linux</string></value>
</member>
<member>
<name>checksum</name>
<value><string>048f18f697a95fa1b27206dd46fa536d</string></value>
</member>
<member>
<name>profile_name</name>
<value><string>hostname</string></value>
</member>
<member>
<name>system_id</name>
<value><string>ID-1000010081</string></value>
</member>
<member>
<name>architecture</name>
<value><string>i686-redhat-linux</string></value>
</member>
<member>
<name>os_release</name>
<value><string>4AS</string></value>
</member>
<member>
<name>fields</name>
<value><array><data>
<value><string>system_id</string></value>
<value><string>os_release</string></value>
<value><string>operating_system</string></value>
<value><string>architecture</string></value>
<value><string>username</string></value>
<value><string>type</string></value>
</data></array></value>
</member>
<member>
<name>type</name>
<value><string>REAL</string></value>
</member>
</struct></value>
</param>
</params>

                                deps = <type 'list'> ['up2date']

Frame call_function in /usr/lib/python2.4/site-packages/spacewalk/server/apacheRequest.py at line 174
                                self = <type 'instance'> <spacewalk.server.apacheRequest.apachePOST instance at 0x2b22317b0ef0>
                              params = <type 'tuple'> ('<?xml version="1.0"?>\n<params>\n<param>\n<value><struct>\n<member>\n<name>username</name>\n<value><string>username</string></value>\n</member>\n<member>\n<name>operating_system</name>\n<value><string>redhat-release</string></value>\n</member>\n<member>\n<name>description</name>\n<value><string>Initial Registration Parameters:\nOS: redhat-release\nRelease: 4AS\nCPU Arch: i686-redhat-linux</string></value>\n</member>\n<member>\n<name>checksum</name>\n<value><string>048f18f697a95fa1b27206dd46fa536d</string></value>\n</member>\n<member>\n<name>profile_name</name>\n<value><string>hostname</string></value>\n</member>\n<member>\n<name>system_id</name>\n<value><string>ID-1000010081</string></value>\n</member>\n<member>\n<name>architecture</name>\n<value><string>i686-redhat-linux</string></value>\n</member>\n<member>\n<name>os_release</name>\n<value><string>4AS</string></value>\n</member>\n<member>\n<name>fields</name>\n<value>!
 <array><data>\n<value><string>system_id</string></value>\n<value><string>os_release</string></value>\n<value><string>operating_system</string></value>\n<value><string>architecture</string></value>\n<value><string>username</string></value>\n<value><string>type</string></value>\n</data></array></value>\n</member>\n<member>\n<name>type</name>\n<value><string>REAL</string></value>\n</member>\n</struct></value>\n</param>\n</params>\n', ['up2date'])
                      force_rollback = <type 'int'> 1
                                func = <type 'instancemethod'> <bound method Up2date.solveDependencies of <server.handlers.xmlrpc.up2date.Up2date instance at 0x2b2231a2b2d8>>
                              method = <type 'str'> up2date.solveDependencies

Frame process in /usr/lib/python2.4/site-packages/spacewalk/server/apacheRequest.py at line 476
                                  fd = <type 'instance'> <cStringIO.StringO object at 0x2b221fe636e8>
                               _body = <type 'str'> <?xml version='1.0'?> <methodCall> <methodName>up2date.solveDependencies</methodName>
<params>
<param>
<value><string><?xml version="1.0"?> <params> <param> <value><struct> <member> <name>username</name> <value><string>username</string></value>
</member>
<member>
<name>operating_system</name>
<value><string>redhat-release</string></value>
</member>
<member>
<name>description</name>
<value><string>Initial Registration Parameters:
OS: redhat-release
Release: 4AS
CPU Arch: i686-redhat-linux</string></value>
</member>
<member>
<name>checksum</name>
<value><string>048f18f697a95fa1b27206dd46fa536d</string></value>
</member>
<member>
<name>profile_name</name>
<value><string>hostname</string></value>
</member>
<member>
<name>system_id</name>
<value><string>ID-1000010081</string></value>
</member>
<member>
<name>architecture</name>
<value><string>i686-redhat-linux</string></value>
</member>
<member>
<name>os_release</name>
<value><string>4AS</string></value>
</member>
<member>
<name>fields</name>
<value><array><data>
<value><string>system_id</string></value>
<value><string>os_release</string></value>
<value><string>operating_system</string></value>
<value><string>architecture</string></value>
<value><string>username</string></value>
<value><string>type</string></value>
</data></array></value>
</member>
<member>
<name>type</name>
<value><string>REAL</string></value>
</member>
</struct></value>
</param>
</params>
</string></value>
</param>
<param>
<value><array><data>
<value><string>up2date</string></value>
</data></array></value>
</param>
</params>
</methodCall>

                              params = <type 'tuple'> ('<?xml version="1.0"?>\n<params>\n<param>\n<value><struct>\n<member>\n<name>username</name>\n<value><string>username</string></value>\n</member>\n<member>\n<name>operating_system</name>\n<value><string>redhat-release</string></value>\n</member>\n<member>\n<name>description</name>\n<value><string>Initial Registration Parameters:\nOS: redhat-release\nRelease: 4AS\nCPU Arch: i686-redhat-linux</string></value>\n</member>\n<member>\n<name>checksum</name>\n<value><string>048f18f697a95fa1b27206dd46fa536d</string></value>\n</member>\n<member>\n<name>profile_name</name>\n<value><string>hostname</string></value>\n</member>\n<member>\n<name>system_id</name>\n<value><string>ID-1000010081</string></value>\n</member>\n<member>\n<name>architecture</name>\n<value><string>i686-redhat-linux</string></value>\n</member>\n<member>\n<name>os_release</name>\n<value><string>4AS</string></value>\n</member>\n<member>\n<name>fields</name>\n<value>!
 <array><data>\n<value><string>system_id</string></value>\n<value><string>os_release</string></value>\n<value><string>operating_system</string></value>\n<value><string>architecture</string></value>\n<value><string>username</string></value>\n<value><string>type</string></value>\n</data></array></value>\n</member>\n<member>\n<name>type</name>\n<value><string>REAL</string></value>\n</member>\n</struct></value>\n</param>\n</params>\n', ['up2date'])
                              method = <type 'str'> up2date.solveDependencies
                                self = <type 'instance'> <spacewalk.server.apacheRequest.apachePOST instance at 0x2b22317b0ef0>

Frame handler in /usr/lib/python2.4/site-packages/spacewalk/server/apacheHandler.py at line 195
                                   h = <type 'instance'> <__builtin__.OracleCursor on <cx_Oracle.Connection to spacewalk at spcwlk>>
                                self = <type 'instance'> <spacewalk.server.apacheHandler.apacheHandler instance at 0x2b2225e2a878>
                                 req = <type 'mp_request'> <mp_request object at 0x2b2222a2e050>
                                 ret = <type 'int'> 0
                     templateStrings = <type 'dict'> {'email_account_info': '\nAccount Information:\n  Your Spacewalk login:         <login />\n  Your Spacewalk email address: <email-address />', 'email_footer': '--the Spacewalk Team', 'hostname': 'hostname'}
                                 row = <type 'NoneType'> None

Frame HandlerDispatch in /usr/lib64/python2.4/site-packages/mod_python/apache.py at line 299
                                 req = <type 'mp_request'> <mp_request object at 0x2b2222a2e050>
                                self = <type 'instance'> <mod_python.apache.CallBack instance at 0x2b2222a26b90>
                              object = <type 'instancemethod'> <bound method apacheHandler.handler of <spacewalk.server.apacheHandler.apacheHandler instance at 0x2b2225e2a878>>
                                   l = <type 'list'> ['spacewalk.server.apacheServer', 'Handler']
                              module = <type 'module'> <module 'spacewalk.server.apacheServer' from '/usr/lib/python2.4/site-packages/spacewalk/server/apacheServer.pyc'>
                               hlist = <type 'mp_hlist'> {'handler:'spacewalk.server.apacheServer::Handler','directory':'/XMLRPC/','silent':0}
                          object_str = <type 'str'> Handler
                               debug = <type 'int'> 0
                         module_name = <type 'str'> spacewalk.server.apacheServer
                              config = <type 'mp_table'> {'PythonInterpreter': 'rhn.server'}
                                 dir = <type 'str'> /XMLRPC/
                              result = <type 'int'> 500


Environment for PID=26054 on exception:
LANG = C
NLS_LANG = english.AL32UTF8
PATH = /sbin:/usr/sbin:/bin:/usr/bin
PWD = /
SHLVL = 2
TERM = xterm
_ = /usr/sbin/httpd

Kellen Renshaw, RHCE
IT Advanced Analyst
Pima Community College
DO - Technical Services
(520) 206-4367

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/spacewalk-list/attachments/20110810/c40bdabc/attachment.htm>


More information about the Spacewalk-list mailing list