Skip to content

Gitlab update issue on armhf: RangeError bignum too big to convert into `long'

I'm using debian wheezy on cubietruck board (in a LXC container, but that does not matter).

I enabled raspbian/wheezy repo from https://packages.gitlab.com/app/gitlab/raspberry-pi2/search?filter=all&q=&dist=raspbian%2Fwheezy to install latest version of gitlab ce and tries to install new package.

During the installation process (and after each gitlab-ctl reconfigure call) I got the following error:

  ================================================================================
  Recipe Compile Error in /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/default.rb
  ================================================================================
  
  RangeError
  ----------
  bignum too big to convert into `long'
  
  Cookbook Trace:
  ---------------
    /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/libraries/gitlab.rb:119:in `not_after='
    /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/libraries/gitlab.rb:119:in `generate_registry_keypair'
    /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/libraries/gitlab.rb:98:in `generate_secrets'
    /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/libraries/gitlab.rb:601:in `generate_config'
    /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/default.rb:37:in `from_file'
  
  Relevant File Content:
  ----------------------
  /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/libraries/gitlab.rb:
  
  112:      def generate_registry_keypair
  113:        key = OpenSSL::PKey::RSA.new(4096)
  114:        subject = "/C=USA/O=GitLab/OU=Container/CN=Registry"
  115:  
  116:        cert = OpenSSL::X509::Certificate.new
  117:        cert.subject = cert.issuer = OpenSSL::X509::Name.parse(subject)
  118:        cert.not_before = Time.now
  119>>       cert.not_after = Time.now + 18250 * 24 * 60 * 60
  120:        cert.public_key = key.public_key
  121:        cert.serial = 0x0
  122:        cert.version = 2
  123:        cert.sign key, OpenSSL::Digest::SHA256.new
  124:  
  125:        [cert.to_pem, key.to_pem]
  126:      end