ministryofjustice / staff-device-dhcp-server

The ISC KEA server for serving DHCP requests (via a Docker image)
https://github.com/ministryofjustice/cloud-operations#dhcp--dns
MIT License
2 stars 3 forks source link

🐛 `sentry-ruby` causing `make build-dev` to fail #197

Closed Gary-H9 closed 1 year ago

Gary-H9 commented 2 years ago

Describe the bug.

The bug occurs when running make build-dev. This seems to only occur on Windows users laptops but it should be confirmed.

 => ERROR [staff-device-dhcp-server_dhcp-test 7/7] RUN cd metrics &&   bundle config set no-cache 'true' &&   bundle install                                                                             17.8s
------
 > [staff-device-dhcp-server_dhcp-test 7/7] RUN cd metrics &&   bundle config set no-cache 'true' &&   bundle install:
#0 2.898 Fetching gem metadata from http://rubygems.org/..........
#0 11.03 Resolving dependencies...
#0 11.07 Fetching aws-partitions 1.577.0
#0 11.07 Fetching jmespath 1.6.1
#0 11.07 Using bundler 2.2.32
#0 11.07 Fetching concurrent-ruby 1.1.9
#0 11.07 Using rexml 3.2.5
#0 11.07 Fetching diff-lcs 1.5.0
#0 11.07 Fetching public_suffix 4.0.6
#0 11.07 Fetching aws-eventstream 1.2.0
#0 11.07 Fetching mysql2 0.5.3
#0 11.08 Fetching hashdiff 1.0.1
#0 11.16 Installing aws-eventstream 1.2.0
#0 11.16 Installing hashdiff 1.0.1
#0 11.18 Installing jmespath 1.6.1
#0 11.21 Exception while verifying /usr/local/bundle/cache/concurrent-ruby-1.1.9.gem
#0 11.21 Fetching rspec-support 3.11.0
#0 11.22 Installing aws-partitions 1.577.0
#0 11.23 Installing diff-lcs 1.5.0
#0 11.24 Installing mysql2 0.5.3 with native extensions
#0 11.24 Installing public_suffix 4.0.6
#0 11.25 Fetching sequel 5.56.0
#0 11.28 Installing rspec-support 3.11.0
#0 11.30 Fetching timecop 0.9.5
#0 11.36 Fetching crack 0.4.5
#0 11.44 Installing timecop 0.9.5
#0 11.48 Installing crack 0.4.5
#0 11.53 Installing sequel 5.56.0
#0 17.61 --- ERROR REPORT TEMPLATE -------------------------------------------------------
#0 17.61 
#0 17.61 ```
#0 17.61 NoMethodError: undefined method `size' for nil:NilClass
#0 17.61   /usr/local/lib/ruby/3.0.0/rubygems/package/tar_reader/entry.rb:139:in `read'
#0 17.61   /usr/local/lib/ruby/3.0.0/rubygems/package.rb:364:in `block in digest'
#0 17.61   /usr/local/lib/ruby/3.0.0/rubygems/package.rb:361:in `each'
#0 17.61   /usr/local/lib/ruby/3.0.0/rubygems/package.rb:361:in `digest'
#0 17.61   /usr/local/lib/ruby/3.0.0/rubygems/package.rb:647:in `verify_entry'
#0 17.61   /usr/local/lib/ruby/3.0.0/rubygems/package.rb:666:in `block in verify_files'
#0 17.61   /usr/local/lib/ruby/3.0.0/rubygems/package/tar_reader.rb:65:in `each'
#0 17.61   /usr/local/lib/ruby/3.0.0/rubygems/package.rb:665:in `verify_files'
#0 17.61   /usr/local/lib/ruby/3.0.0/rubygems/package.rb:596:in `block (2 levels) in verify'
#0 17.61   /usr/local/lib/ruby/3.0.0/rubygems/package/tar_reader.rb:27:in `new'
#0 17.61   /usr/local/lib/ruby/3.0.0/rubygems/package.rb:593:in `block in verify'
#0 17.61   /usr/local/lib/ruby/3.0.0/rubygems/package/file_source.rb:29:in `open'
#0 17.61   /usr/local/lib/ruby/3.0.0/rubygems/package/file_source.rb:29:in `with_read_io'
#0 17.61   /usr/local/lib/ruby/3.0.0/rubygems/package.rb:592:in `verify'
#0 17.61   /usr/local/lib/ruby/3.0.0/rubygems/package.rb:573:in `spec'
#0 17.61   /usr/local/lib/ruby/3.0.0/bundler/rubygems_integration.rb:250:in `spec_from_gem'
#0 17.61   /usr/local/lib/ruby/3.0.0/bundler/source/rubygems.rb:163:in `install'
#0 17.61   /usr/local/lib/ruby/3.0.0/bundler/installer/gem_installer.rb:54:in `install'
#0 17.61   /usr/local/lib/ruby/3.0.0/bundler/installer/gem_installer.rb:16:in `install_from_spec'
#0 17.61   /usr/local/lib/ruby/3.0.0/bundler/installer/parallel_installer.rb:186:in `do_install'
#0 17.61   /usr/local/lib/ruby/3.0.0/bundler/installer/parallel_installer.rb:177:in `block in worker_pool'
#0 17.61   /usr/local/lib/ruby/3.0.0/bundler/worker.rb:62:in `apply_func'
#0 17.61   /usr/local/lib/ruby/3.0.0/bundler/worker.rb:57:in `block in process_queue'
#0 17.61   /usr/local/lib/ruby/3.0.0/bundler/worker.rb:54:in `loop'
#0 17.61   /usr/local/lib/ruby/3.0.0/bundler/worker.rb:54:in `process_queue'
#0 17.61   /usr/local/lib/ruby/3.0.0/bundler/worker.rb:91:in `block (2 levels) in create_threads'
#0 17.61 ```
#0 17.61 
#0 17.61 ## Environment
#0 17.61 
#0 17.61 ```
#0 17.61 Bundler       2.2.32
#0 17.61   Platforms   ruby, x86_64-linux-musl
#0 17.61 Ruby          3.0.3p157 (2021-11-24 revision 3fb7d2cadc18472ec107b14234933b017a33c14d) [x86_64-linux-musl]
#0 17.61   Full Path   /usr/local/bin/ruby
#0 17.61   Config Dir  /usr/local/etc
#0 17.61 RubyGems      3.2.32
#0 17.61   Gem Home    /usr/local/bundle
#0 17.61   Gem Path    /root/.local/share/gem/ruby/3.0.0:/usr/local/lib/ruby/gems/3.0.0:/usr/local/bundle
#0 17.61   User Home   /root
#0 17.61   User Path   /root/.local/share/gem/ruby/3.0.0
#0 17.61   Bin Dir     /usr/local/bundle/bin
#0 17.61 OpenSSL       
#0 17.61   Compiled    OpenSSL 1.1.1l  24 Aug 2021
#0 17.61   Loaded      OpenSSL 1.1.1o  3 May 2022
#0 17.61   Cert File   /etc/ssl/cert.pem
#0 17.61   Cert Dir    /etc/ssl/certs
#0 17.61 Tools         
#0 17.61   Git         not installed
#0 17.61   RVM         not installed
#0 17.61   rbenv       not installed
#0 17.61   chruby      not installed
#0 17.61 ```
#0 17.61 
#0 17.61 ## Bundler Build Metadata
#0 17.61 
#0 17.61 ```
#0 17.61 Built At          2022-06-29
#0 17.61 Git SHA           unknown
#0 17.61 Released Version  false
#0 17.61 ```
#0 17.61 
#0 17.61 ## Bundler settings
#0 17.61 
#0 17.61 ```
#0 17.61 app_config
#0 17.61   Set via BUNDLE_APP_CONFIG: "/usr/local/bundle"
#0 17.61 no-cache
#0 17.61   Set for the current user (/root/.bundle/config): "true"
#0 17.61 silence_root_warning
#0 17.61   Set via BUNDLE_SILENCE_ROOT_WARNING: true
#0 17.61 ```
#0 17.61 
#0 17.61 ## Gemfile
#0 17.61 
#0 17.61 ### Gemfile
#0 17.61 
#0 17.61 ```ruby
#0 17.61 # frozen_string_literal: true
#0 17.61 
#0 17.61 source "http://rubygems.org"
#0 17.61 ruby File.read(".ruby-version").chomp
#0 17.61 
#0 17.61 gem "aws-sdk-cloudwatch", "~>1.64"
#0 17.61 gem "sequel", "~> 5.56"
#0 17.61 gem "mysql2", "~> 0.5.3"
#0 17.61 gem "sentry-ruby"
#0 17.61 
#0 17.61 group :test do
#0 17.61   gem "rspec"
#0 17.61   gem "timecop"
#0 17.61   gem "webmock"
#0 17.61 end
#0 17.61 ```
#0 17.61 
#0 17.61 ### Gemfile.lock
#0 17.61 
#0 17.61 ```
#0 17.61 GEM
#0 17.61   remote: http://rubygems.org/
#0 17.61   specs:
#0 17.61     addressable (2.8.0)
#0 17.61       public_suffix (>= 2.0.2, < 5.0)
#0 17.61     aws-eventstream (1.2.0)
#0 17.61     aws-partitions (1.577.0)
#0 17.61     aws-sdk-cloudwatch (1.64.0)
#0 17.61       aws-sdk-core (~> 3, >= 3.127.0)
#0 17.61       aws-sigv4 (~> 1.1)
#0 17.61     aws-sdk-core (3.130.1)
#0 17.61       aws-eventstream (~> 1, >= 1.0.2)
#0 17.61       aws-partitions (~> 1, >= 1.525.0)
#0 17.61       aws-sigv4 (~> 1.1)
#0 17.61       jmespath (~> 1.0)
#0 17.61     aws-sigv4 (1.4.0)
#0 17.61       aws-eventstream (~> 1, >= 1.0.2)
#0 17.61     concurrent-ruby (1.1.9)
#0 17.61     crack (0.4.5)
#0 17.61       rexml
#0 17.61     diff-lcs (1.5.0)
#0 17.61     hashdiff (1.0.1)
#0 17.61     jmespath (1.6.1)
#0 17.61     mysql2 (0.5.3)
#0 17.61     public_suffix (4.0.6)
#0 17.61     rexml (3.2.5)
#0 17.61     rspec (3.11.0)
#0 17.61       rspec-core (~> 3.11.0)
#0 17.61       rspec-expectations (~> 3.11.0)
#0 17.61       rspec-mocks (~> 3.11.0)
#0 17.61     rspec-core (3.11.0)
#0 17.61       rspec-support (~> 3.11.0)
#0 17.61     rspec-expectations (3.11.0)
#0 17.61       diff-lcs (>= 1.2.0, < 2.0)
#0 17.61       rspec-support (~> 3.11.0)
#0 17.61     rspec-mocks (3.11.0)
#0 17.61       diff-lcs (>= 1.2.0, < 2.0)
#0 17.61       rspec-support (~> 3.11.0)
#0 17.61     rspec-support (3.11.0)
#0 17.61     sentry-ruby (5.2.1)
#0 17.61       concurrent-ruby (~> 1.0, >= 1.0.2)
#0 17.61       sentry-ruby-core (= 5.2.1)
#0 17.61     sentry-ruby-core (5.2.1)
#0 17.61       concurrent-ruby
#0 17.61     sequel (5.56.0)
#0 17.61     timecop (0.9.5)
#0 17.61     webmock (3.14.0)
#0 17.61       addressable (>= 2.8.0)
#0 17.61       crack (>= 0.3.2)
#0 17.61       hashdiff (>= 0.4.0, < 2.0.0)
#0 17.61 
#0 17.61 PLATFORMS
#0 17.61   ruby
#0 17.61 
#0 17.61 DEPENDENCIES
#0 17.61   aws-sdk-cloudwatch (~> 1.64)
#0 17.61   mysql2 (~> 0.5.3)
#0 17.61   rspec
#0 17.61   sentry-ruby
#0 17.61   sequel (~> 5.56)
#0 17.61   timecop
#0 17.61   webmock
#0 17.61 
#0 17.61 RUBY VERSION
#0 17.61    ruby 2.7.2p137
#0 17.61 
#0 17.61 BUNDLED WITH
#0 17.61    2.1.4
#0 17.61 ```
#0 17.61 
#0 17.61 --- TEMPLATE END ----------------------------------------------------------------
#0 17.61 
#0 17.61 Unfortunately, an unexpected error occurred, and Bundler cannot continue.
#0 17.61 
#0 17.61 First, try this link to see if there are any existing issue reports for this error:
#0 17.61 https://github.com/rubygems/rubygems/search?q=undefined+method+%60size%27+for+nil+NilClass&type=Issues
#0 17.61 
#0 17.61 If there aren't any reports for this error yet, please fill in the new issue form located at https://github.com/rubygems/rubygems/issues/new?labels=Bundler&template=bundler-related-issue.md, and copy and paste the report template above in there.
------
failed to solve: executor failed running [/bin/sh -c cd metrics &&   bundle config set no-cache 'true' &&   bundle install]: exit code: 1
make: *** [Makefile:31: build-dev] Error 17

To Reproduce

On a windows machine.

  1. Clone the repo / pull latest.
  2. run make build-dev
  3. observe the errors

Expected Behaviour

A successful build. Build succeeds if you remove the mentioned sentry-ruby gem.

Environment

- OS: Windows / WSL

Additional context

No response

Gary-H9 commented 1 year ago

Resolved in this PR.