Bug 202849 - OverflowError in rhnreg.sendHardware with hal
Summary: OverflowError in rhnreg.sendHardware with hal
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Satellite 5
Classification: Red Hat
Component: Registration
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Bryan Kearney
QA Contact: Beth Nackashi
URL:
Whiteboard:
Depends On:
Blocks: 195697
TreeView+ depends on / blocked
 
Reported: 2006-08-16 19:23 UTC by Daniel Benamy
Modified: 2013-01-10 10:10 UTC (History)
2 users (show)

Fixed In Version: 5.0.0
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-04-02 18:46:26 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Daniel Benamy 2006-08-16 19:23:43 UTC
Description of problem:
In 4.9, hardware info switched from coming from kudzu to coming from hal. Now,
when rhn_register calls rhn.sendHardware I get:
File "../up2date_client/gui.py", line 311, in onCreateProfilePageNext
    ret = self.createProfilePageApply()
   File "../up2date_client/rhnregGui.py", line 624, in createProfilePageApply
    rhnreg.sendHardware(self.systemId, self.hardware)
   File
"/home/dbenamy/rhn-svn/rhn_register-overhaul/client/rhn-client-tools/src/up2date_client/rhnreg.py",
line 409, in sendHardware
    rpcServer.doCall(s.registration.add_hw_profile, systemId, hardwareList)
   File
"/home/dbenamy/rhn-svn/rhn_register-overhaul/client/rhn-client-tools/src/up2date_client/rpcServer.py",
line 233, in doCall
    ret = apply(method, args, kwargs)
   File "/usr/lib/python2.4/xmlrpclib.py", line 1096, in __call__
    return self.__send(self.__name, args)
   File
"/home/dbenamy/rhn-svn/rhn_register-overhaul/client/rhn-client-tools/src/up2date_client/rpcServer.py",
line 43, in _request1
    ret = self._request(methodname, params)
   File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 325, in _request
    request = self._req_body(params, methodname)
   File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 232, in _req_body
   return xmlrpclib.dumps(params, methodname, encoding=self._encoding)
   File "/usr/lib/python2.4/xmlrpclib.py", line 1029, in dumps
    data = m.dumps(params)
   File "/usr/lib/python2.4/xmlrpclib.py", line 603, in dumps
    dump(v, write)
   File "/usr/lib/python2.4/xmlrpclib.py", line 615, in __dump
    f(self, value, write)
   File "/usr/lib/python2.4/xmlrpclib.py", line 675, in dump_array
    dump(v, write)
   File "/usr/lib/python2.4/xmlrpclib.py", line 615, in __dump
    f(self, value, write)
   File "/usr/lib/python2.4/xmlrpclib.py", line 696, in dump_struct
    dump(v, write)
   File "/usr/lib/python2.4/xmlrpclib.py", line 615, in __dump
    f(self, value, write)
   File "/usr/lib/python2.4/xmlrpclib.py", line 641, in dump_long
    raise OverflowError, "long int exceeds XML-RPC limits"

This is on fc5. I'm working in my rhn_register-overhaul branch but I'm assuming
this will happen in the old one too.

How reproducible:
Every time.

Comment 1 Daniel Benamy 2006-08-16 19:42:52 UTC
Ron and I did some testing and didn't see any very big numbers being pulled out
of hal.

Comment 2 James Bowes 2006-09-08 18:49:35 UTC
XMLRPC defines an int as 4 bytes, and provides no larger number type. In this
case, there was a long that was too long to fit into these 4 bytes.

Comment 3 James Bowes 2006-09-15 19:39:05 UTC
This isn't going to happen anymore, since the processing of this data occurs on
the client side now.


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