Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
For bugs related to Red Hat Enterprise Linux 4 product line. The current stable release is 4.9. For Red Hat Enterprise Linux 6 and above, please visit Red Hat JIRA https://issues.redhat.com/secure/CreateIssue!default.jspa?pid=12332745 to report new issues.

Bug 683037

Summary: fqdn_rand() produces "bignum too big to convert into `unsigned long'" error
Product: Red Hat Enterprise Linux 4 Reporter: Ade Rixon <ade.rixon>
Component: rubyAssignee: Vít Ondruch <vondruch>
Status: CLOSED WONTFIX QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: low Docs Contact:
Priority: unspecified    
Version: 4.8CC: k.georgiou, tmz, vanmeeuwen+fedora
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-20 13:27:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ade Rixon 2011-03-08 12:16:31 UTC
Description of problem:

Under EL4, calling fqdn_rand in a Puppet class consistently produces the following error:
bignum too big to convert into `unsigned long'
Typically, this error occurs during compilation on the Puppet master, which makes it very difficult to work around in the policy as any conditional test on $operatingsystemrelease runs against the agent host. It also means that even EL5 agents running against an EL4 Puppet master cannot call fqdn_rand.

Version-Release number of selected component (if applicable):

puppet-0.25.5-1.el4
puppet-server-0.25.5-1.el4
ruby-1.8.1-7.el4_8.4

How reproducible:

Use fqdn_rand() in any Puppet policy and either retrieve the policy from an EL4 Puppet master or run locally on an EL4 agent.

Steps to Reproduce:
1. Create test.pp containing:
alert(fqdn_rand("60"))
2. Run:
$ puppet test.pp
3.
  
Actual results:

bignum too big to convert into `unsigned long' at /home/me/test.pp:1 on node testnode.example.com

Expected results:

alert: Scope(Class[main]): 48

Additional info:

Underlying problem may be in RHEL 4 ruby. Same EPEL version works fine under EL5 with ruby-1.8.5.

Comment 1 Todd Zullinger 2011-03-08 14:18:18 UTC
This is definitely a ruby ruby bug.  I'm not sure if there's any way to work around it in puppet's code or not.  EL4 is nearing it's EOL and will not serve well as a puppetmaster for much longer.  Other EL and Fedora releases will soon move to puppet 2.6.x and I am doubtful that we will push that to EL-4.

I'll reassign this to ruby and see if the maintainers there have suggestions or can backport the fixes from newer ruby releases.

Comment 2 Ade Rixon 2011-03-08 21:03:13 UTC
Thanks for the response, Todd. 'Tis as I feared but thought it was worth raising anyway in case there was a simple fix.

Comment 3 Jiri Pallich 2012-06-20 13:27:58 UTC
Thank you for submitting this issue for consideration in Red Hat Enterprise Linux. The release for which you requested us to review is now End of Life. 
Please See https://access.redhat.com/support/policy/updates/errata/

If you would like Red Hat to re-consider your feature request for an active release, please re-open the request via appropriate support channels and provide additional supporting details about the importance of this issue.