Project

General

Profile

Actions

Bug #17738

closed

[ruby] sudden gem load errors on ubuntu 18.04 (ruby 2.5.1)

Added by Ward Vandewege almost 3 years ago. Updated almost 3 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
-
Target version:
Story points:
-
Release relationship:
Auto

Description

On ce8i5, which is an Ubuntu 18.04 system with ruby 2.5.1 from the OS packages, both api server and workbench1 are refusing to start with the error:

There was an error while trying to load the gem 'arvados'.
Gem Load Error is: can't modify frozen String

Versions:

ii  arvados-api-server                     2.2.0~dev20210524183021-1 
ii  arvados-workbench                      2.2.0~dev20210524183021-1  

We're not seeing this on 9tee4 or tordo (same version of the arvados packages), which run Debian Buster (with Ruby 2.5.5p157)

Full backtrace for workbench1:

There was an error while trying to load the gem 'arvados'.
Gem Load Error is: can't modify frozen String
Backtrace for gem load error is:
/var/www/arvados-workbench/current/vendor/cache/arvados-c210114aa8c7/sdk/ruby/lib/arvados/google_api_client.rb:9:in `strip!'
/var/www/arvados-workbench/current/vendor/cache/arvados-c210114aa8c7/sdk/ruby/lib/arvados/google_api_client.rb:9:in `<top (required)>'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/activesupport-5.2.4.5/lib/active_support/dependencies.rb:291:in `block in require'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/activesupport-5.2.4.5/lib/active_support/dependencies.rb:257:in `load_dependency'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/activesupport-5.2.4.5/lib/active_support/dependencies.rb:291:in `require'
/var/www/arvados-workbench/current/vendor/cache/arvados-c210114aa8c7/sdk/ruby/lib/arvados.rb:11:in `<top (required)>'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:81:in `block (2 levels) in require'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:76:in `each'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:76:in `block in require'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:65:in `each'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:65:in `require'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler.rb:114:in `require'
/var/www/arvados-workbench/current/config/application.rb:22:in `<top (required)>'
/var/www/arvados-workbench/current/config/environment.rb:6:in `require_relative'
/var/www/arvados-workbench/current/config/environment.rb:6:in `<top (required)>'
config.ru:7:in `require'
config.ru:7:in `block in <main>'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/rack-2.2.3/lib/rack/builder.rb:125:in `instance_eval'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/rack-2.2.3/lib/rack/builder.rb:125:in `initialize'
config.ru:1:in `new'
config.ru:1:in `<main>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `eval'
/usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:189:in `block in <module:App>'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:390:in `run_block_and_record_step_progress'
/usr/share/passenger/helper-scripts/rack-preloader.rb:188:in `<module:App>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'
Bundler Error Backtrace:
 (Bundler::GemRequireError)
  /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:84:in `rescue in block (2 levels) in require'
  /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:80:in `block (2 levels) in require'
  /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:76:in `each'
  /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:76:in `block in require'
  /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:65:in `each'
  /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:65:in `require'
  /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler.rb:114:in `require'
  /var/www/arvados-workbench/current/config/application.rb:22:in `<top (required)>'
  /var/www/arvados-workbench/current/config/environment.rb:6:in `require_relative'
  /var/www/arvados-workbench/current/config/environment.rb:6:in `<top (required)>'
  config.ru:7:in `require'
  config.ru:7:in `block in <main>'
  /var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/rack-2.2.3/lib/rack/builder.rb:125:in `instance_eval'
  /var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/rack-2.2.3/lib/rack/builder.rb:125:in `initialize'
  config.ru:1:in `new'
  config.ru:1:in `<main>'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `eval'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `preload_app'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:189:in `block in <module:App>'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:390:in `run_block_and_record_step_progress'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:188:in `<module:App>'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'
The stdout/stderr output of the subprocess so far is:

Error: The application encountered the following error: There was an error while trying to load the gem 'arvados'.
Gem Load Error is: can't modify frozen String
Backtrace for gem load error is:
/var/www/arvados-workbench/current/vendor/cache/arvados-c210114aa8c7/sdk/ruby/lib/arvados/google_api_client.rb:9:in `strip!'
/var/www/arvados-workbench/current/vendor/cache/arvados-c210114aa8c7/sdk/ruby/lib/arvados/google_api_client.rb:9:in `<top (required)>'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/activesupport-5.2.4.5/lib/active_support/dependencies.rb:291:in `block in require'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/activesupport-5.2.4.5/lib/active_support/dependencies.rb:257:in `load_dependency'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/activesupport-5.2.4.5/lib/active_support/dependencies.rb:291:in `require'
/var/www/arvados-workbench/current/vendor/cache/arvados-c210114aa8c7/sdk/ruby/lib/arvados.rb:11:in `<top (required)>'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:81:in `block (2 levels) in require'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:76:in `each'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:76:in `block in require'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:65:in `each'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:65:in `require'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler.rb:114:in `require'
/var/www/arvados-workbench/current/config/application.rb:22:in `<top (required)>'
/var/www/arvados-workbench/current/config/environment.rb:6:in `require_relative'
/var/www/arvados-workbench/current/config/environment.rb:6:in `<top (required)>'
config.ru:7:in `require'
config.ru:7:in `block in <main>'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/rack-2.2.3/lib/rack/builder.rb:125:in `instance_eval'
/var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/rack-2.2.3/lib/rack/builder.rb:125:in `initialize'
config.ru:1:in `new'
config.ru:1:in `<main>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `eval'
/usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:189:in `block in <module:App>'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:390:in `run_block_and_record_step_progress'
/usr/share/passenger/helper-scripts/rack-preloader.rb:188:in `<module:App>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'
Bundler Error Backtrace:
 (Bundler::GemRequireError)
    /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:84:in `rescue in block (2 levels) in require'
    /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:80:in `block (2 levels) in require'
    /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:76:in `each'
    /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:76:in `block in require'
    /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:65:in `each'
    /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:65:in `require'
    /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler.rb:114:in `require'
    /var/www/arvados-workbench/current/config/application.rb:22:in `<top (required)>'
    /var/www/arvados-workbench/current/config/environment.rb:6:in `require_relative'
    /var/www/arvados-workbench/current/config/environment.rb:6:in `<top (required)>'
    config.ru:7:in `require'
    config.ru:7:in `block in <main>'
    /var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/rack-2.2.3/lib/rack/builder.rb:125:in `instance_eval'
    /var/www/arvados-workbench/shared/vendor_bundle/ruby/2.5.0/gems/rack-2.2.3/lib/rack/builder.rb:125:in `initialize'
    config.ru:1:in `new'
    config.ru:1:in `<main>'
    /usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `eval'
    /usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `preload_app'
    /usr/share/passenger/helper-scripts/rack-preloader.rb:189:in `block in <module:App>'
    /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:390:in `run_block_and_record_step_progress'
    /usr/share/passenger/helper-scripts/rack-preloader.rb:188:in `<module:App>'
    /usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
    /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'

Full backtrace for api:

There was an error while trying to load the gem 'arvados'.
Gem Load Error is: can't modify frozen String
Backtrace for gem load error is:
/var/www/arvados-api/current/vendor/cache/arvados-81725af5d5d2/sdk/ruby/lib/arvados/google_api_client.rb:9:in `strip!'
/var/www/arvados-api/current/vendor/cache/arvados-81725af5d5d2/sdk/ruby/lib/arvados/google_api_client.rb:9:in `<top (required)>'
/var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/activesupport-5.2.4.5/lib/active_support/dependencies.rb:291:in `block in require'
/var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/activesupport-5.2.4.5/lib/active_support/dependencies.rb:257:in `load_dependency'
/var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/activesupport-5.2.4.5/lib/active_support/dependencies.rb:291:in `require'
/var/www/arvados-api/current/vendor/cache/arvados-81725af5d5d2/sdk/ruby/lib/arvados.rb:11:in `<top (required)>'
/var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:81:in `block (2 levels) in require'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:76:in `each'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:76:in `block in require'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:65:in `each'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:65:in `require'
/var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler.rb:114:in `require'
/var/www/arvados-api/current/config/application.rb:38:in `block in <top (required)>'
/var/www/arvados-api/current/config/application.rb:28:in `suppress_warnings'
/var/www/arvados-api/current/config/application.rb:36:in `<top (required)>'
/var/www/arvados-api/current/config/environment.rb:6:in `require_relative'
/var/www/arvados-api/current/config/environment.rb:6:in `<top (required)>'
config.ru:7:in `require'
config.ru:7:in `block in <main>'
/var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/rack-2.2.3/lib/rack/builder.rb:125:in `instance_eval'
/var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/rack-2.2.3/lib/rack/builder.rb:125:in `initialize'
config.ru:1:in `new'
config.ru:1:in `<main>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `eval'
/usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:189:in `block in <module:App>'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:390:in `run_block_and_record_step_progress'
/usr/share/passenger/helper-scripts/rack-preloader.rb:188:in `<module:App>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'
Bundler Error Backtrace:
 (Bundler::GemRequireError)
  /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:84:in `rescue in block (2 levels) in require'
  /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:80:in `block (2 levels) in require'
  /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:76:in `each'
  /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:76:in `block in require'
  /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:65:in `each'
  /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:65:in `require'
  /var/lib/gems/2.5.0/gems/bundler-1.17.3/lib/bundler.rb:114:in `require'
  /var/www/arvados-api/current/config/application.rb:38:in `block in <top (required)>'
  /var/www/arvados-api/current/config/application.rb:28:in `suppress_warnings'
  /var/www/arvados-api/current/config/application.rb:36:in `<top (required)>'
  /var/www/arvados-api/current/config/environment.rb:6:in `require_relative'
  /var/www/arvados-api/current/config/environment.rb:6:in `<top (required)>'
  config.ru:7:in `require'
  config.ru:7:in `block in <main>'
  /var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/rack-2.2.3/lib/rack/builder.rb:125:in `instance_eval'
  /var/www/arvados-api/shared/vendor_bundle/ruby/2.5.0/gems/rack-2.2.3/lib/rack/builder.rb:125:in `initialize'
  config.ru:1:in `new'
  config.ru:1:in `<main>'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `eval'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `preload_app'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:189:in `block in <module:App>'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:390:in `run_block_and_record_step_progress'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:188:in `<module:App>'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'

I've also attached the passenger error file for workbench1 and api.

Workbench ruby and gems:

workbench.ce8i5:~# ruby --version
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
workbench.ce8i5:/var/www/arvados-workbench/current#  bundle exec gem list

*** LOCAL GEMS ***

actioncable (5.2.4.5)
actionmailer (5.2.4.5)
actionpack (5.2.4.5)
actionview (5.2.4.5)
activejob (5.2.4.5)
activemodel (5.2.4.5)
activerecord (5.2.4.5)
activerecord-nulldb-adapter (0.3.9)
activestorage (5.2.4.5)
activesupport (5.2.4.5)
addressable (2.7.0)
andand (1.3.3)
angularjs-rails (1.3.15)
arel (9.0.0)
arvados (1.5.0.pre20200114202620)
arvados-google-api-client (0.8.7.4)
autoparse (0.3.3)
autoprefixer-rails (9.5.1.1)
bootsnap (1.4.7)
bootstrap-sass (3.4.1)
bootstrap-tab-history-rails (0.1.0)
bootstrap-x-editable-rails (1.5.1.1)
builder (3.2.4)
bundler (1.17.3)
byebug (11.0.1)
capistrano (2.15.9)
capybara (2.5.0)
childprocess (0.9.0)
cliver (0.3.2)
coffee-rails (4.2.2)
coffee-script (2.4.1)
coffee-script-source (1.12.2)
commonjs (0.2.7)
concurrent-ruby (1.1.8)
crass (1.0.6)
deep_merge (1.2.1)
docile (1.3.1)
erubi (1.10.0)
execjs (2.7.0)
extlib (0.9.16)
faraday (0.15.4)
ffi (1.10.0)
flamegraph (0.9.5)
globalid (0.4.2)
googleauth (0.9.0)
headless (1.0.2)
highline (2.0.2)
httpclient (2.8.3)
i18n (0.9.5)
jquery-rails (4.3.3)
json (2.3.0)
jwt (1.5.6)
launchy (2.4.3)
less (2.6.0)
less-rails (4.0.0)
libv8 (3.16.14.19 x86_64-linux)
lograge (0.10.0)
logstash-event (1.2.02)
loofah (2.9.0)
mail (2.7.1)
marcel (0.3.3)
memoist (0.16.2)
metaclass (0.0.4)
method_source (1.0.0)
mime-types (3.2.2)
mime-types-data (3.2019.0331)
mimemagic (0.3.8)
mini_mime (1.0.2)
mini_portile2 (2.5.1)
minitest (5.10.3)
mocha (1.8.0)
morrisjs-rails (0.5.1.2)
msgpack (1.3.3)
multi_json (1.15.0)
multipart-post (2.1.1)
net-scp (2.0.0)
net-sftp (2.1.2)
net-ssh (5.2.0)
net-ssh-gateway (2.0.0)
nio4r (2.5.7)
nokogiri (1.11.5 x86_64-linux)
npm-rails (0.2.1)
oj (3.7.12)
os (1.1.1)
passenger (6.0.2)
piwik_analytics (1.0.2)
poltergeist (1.5.1)
public_suffix (4.0.5)
racc (1.5.2)
rack (2.2.3)
rack-mini-profiler (1.0.2)
rack-test (1.1.0)
rails (5.2.4.5)
rails-controller-testing (1.0.4)
rails-dom-testing (2.0.3)
rails-html-sanitizer (1.3.0)
rails-perftest (0.0.7)
railties (5.2.4.5)
rake (13.0.3)
raphael-rails (2.1.2)
rb-fsevent (0.10.3)
rb-inotify (0.10.0)
RedCloth (4.3.2)
ref (2.0.0)
request_store (1.4.1)
responders (2.4.1)
retriable (1.4.1)
ruby-debug-passenger (0.2.0)
ruby-prof (0.17.0)
rubyzip (1.3.0)
rvm-capistrano (1.5.6)
safe_yaml (1.0.5)
sass (3.7.4)
sass-listen (4.0.0)
sassc (2.0.1)
sassc-rails (2.1.0)
selenium-webdriver (3.141.0)
signet (0.11.0)
simplecov (0.16.1)
simplecov-html (0.10.2)
simplecov-rcov (0.2.3)
sprockets (3.7.2)
sprockets-rails (3.2.2)
sshkey (2.0.0)
themes_for_rails (0.5.1)
therubyracer (0.12.3)
thor (1.1.0)
thread_safe (0.3.6)
tilt (2.0.9)
tzinfo (1.2.9)
uglifier (2.7.2)
websocket-driver (0.7.3)
websocket-extensions (0.1.5)
xpath (2.1.0)

API ruby and gems:

api.ce8i5:/tmp# ruby --version
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
api.ce8i5:/var/www/arvados-api/current# bundle exec gem list

*** LOCAL GEMS ***

actioncable (5.2.4.5)
actionmailer (5.2.4.5)
actionpack (5.2.4.5)
actionview (5.2.4.5)
activejob (5.2.4.5)
activemodel (5.2.4.5)
activerecord (5.2.4.5)
activestorage (5.2.4.5)
activesupport (5.2.4.5)
acts_as_api (1.0.1)
addressable (2.7.0)
andand (1.3.3)
arel (9.0.0)
arvados (1.5.0.pre20200114202620)
arvados-google-api-client (0.8.7.4)
autoparse (0.3.3)
bootsnap (1.4.7)
builder (3.2.4)
bundler (1.17.3)
byebug (11.0.1)
capistrano (2.15.9)
concurrent-ruby (1.1.8)
crass (1.0.6)
erubi (1.10.0)
execjs (2.7.0)
extlib (0.9.16)
factory_bot (5.0.2)
factory_bot_rails (5.0.1)
faraday (0.15.4)
ffi (1.9.25)
globalid (0.4.2)
googleauth (0.9.0)
hashie (3.6.0)
highline (2.0.1)
httpclient (2.8.3)
i18n (0.9.5)
jquery-rails (4.3.3)
json (2.3.0)
jwt (1.5.6)
launchy (2.4.3)
libv8 (3.16.14.19 x86_64-linux)
listen (3.2.1)
lograge (0.10.0)
logstash-event (1.2.02)
loofah (2.9.0)
mail (2.7.1)
marcel (0.3.3)
memoist (0.16.2)
metaclass (0.0.4)
method_source (1.0.0)
mimemagic (0.3.8)
mini_mime (1.0.2)
mini_portile2 (2.5.1)
minitest (5.10.3)
mocha (1.8.0)
msgpack (1.3.3)
multi_json (1.14.1)
multi_xml (0.6.0)
multipart-post (2.1.1)
net-scp (2.0.0)
net-sftp (2.1.2)
net-ssh (5.2.0)
net-ssh-gateway (2.0.0)
nio4r (2.5.7)
nokogiri (1.11.5 x86_64-linux)
oauth2 (1.4.1)
oj (3.9.2)
omniauth (1.4.3)
omniauth-oauth2 (1.5.0)
optimist (3.0.0)
os (1.0.1)
passenger (6.0.2)
pg (1.1.4)
power_assert (1.1.4)
public_suffix (4.0.3)
racc (1.5.2)
rack (2.2.3)
rack-test (1.1.0)
rails (5.2.4.5)
rails-controller-testing (1.0.4)
rails-dom-testing (2.0.3)
rails-html-sanitizer (1.3.0)
rails-observers (0.1.5)
rails-perftest (0.0.7)
railties (5.2.4.5)
rake (13.0.3)
rb-fsevent (0.10.3)
rb-inotify (0.9.10)
ref (2.0.0)
request_store (1.4.1)
responders (2.4.1)
retriable (1.4.1)
ruby-prof (0.15.9)
rvm-capistrano (1.5.6)
safe_yaml (1.0.5)
sass (3.5.5)
sass-listen (4.0.0)
sass-rails (5.0.7)
signet (0.11.0)
simplecov (0.7.1)
simplecov-html (0.7.1)
simplecov-rcov (0.2.3)
sprockets (3.7.2)
sprockets-rails (3.2.2)
sshkey (2.0.0)
test-unit (3.3.1)
themes_for_rails (0.5.1)
therubyracer (0.12.3)
thor (1.1.0)
thread_safe (0.3.6)
tilt (2.0.8)
tzinfo (1.2.9)
uglifier (2.7.2)
websocket-driver (0.7.3)
websocket-extensions (0.1.5)

Files


Subtasks 1 (0 open1 closed)

Task #17740: Review 17738-frozen-string-errorResolvedLucas Di Pentima05/27/2021Actions

Related issues

Related to Arvados - Bug #16043: There was an error while trying to load the gem 'arvados'.Gem Load Error is: can't modify frozen StringClosedActions
Related to Arvados - Bug #13920: arvados-cli fails with ruby versions >= 2.3.7ResolvedLucas Di Pentima07/26/2018Actions
Blocks Arvados - Idea #17512: Release Arvados 2.2ResolvedPeter Amstutz05/03/2021Actions
Actions #2

Updated by Ward Vandewege almost 3 years ago

  • Description updated (diff)
Actions #3

Updated by Lucas Di Pentima almost 3 years ago

  • Release set to 38
  • Assigned To set to Lucas Di Pentima
  • Status changed from New to In Progress
Actions #4

Updated by Ward Vandewege almost 3 years ago

  • Related to Bug #16043: There was an error while trying to load the gem 'arvados'.Gem Load Error is: can't modify frozen String added
Actions #5

Updated by Lucas Di Pentima almost 3 years ago

This issue is triggered by a monkeypatch done on #13920, not sure why OS_VERSION sometimes is immutable (maybe it's provided by indirect updated dependencies?).

Fix at 116c96b2c - branch 17738-frozen-string-error
Test run: developer-run-tests: #2496

  • Gets a mutable version of OS_VERSION before calling .strip!()
Actions #6

Updated by Lucas Di Pentima almost 3 years ago

  • Related to Bug #13920: arvados-cli fails with ruby versions >= 2.3.7 added
Actions #7

Updated by Lucas Di Pentima almost 3 years ago

Actions #8

Updated by Ward Vandewege almost 3 years ago

Lucas Di Pentima wrote:

This issue is triggered by a monkeypatch done on #13920, not sure why OS_VERSION sometimes is immutable (maybe it's provided by indirect updated dependencies?).

Fix at 116c96b2c - branch 17738-frozen-string-error
Test run: developer-run-tests: #2496

  • Gets a mutable version of OS_VERSION before calling .strip!()

LGTM, thanks!

Actions #9

Updated by Lucas Di Pentima almost 3 years ago

  • Status changed from In Progress to Resolved
Actions #10

Updated by Ward Vandewege almost 3 years ago

  • Assigned To changed from Lucas Di Pentima to Ward Vandewege
  • Status changed from Resolved to In Progress

We're seeing this on at least one Debian install too. We need to publish an updated arvados ruby gem with this fix, and then a 2.1.3 release with the api server and workbench pins for the arvados gem updated to 2.1.3.

Commit for the latter ready for review at 90128a0917582742efda459bdcf93016a1d67b93 on branch 17738-gem-pin-update. This is against the 2.1-dev branch; we'll need to make a similar change to head and 2.2-dev once the 2.1-dev fix is merged.

Tests running at 2.1-run-tests: #20

Actions #11

Updated by Ward Vandewege almost 3 years ago

  • Release changed from 38 to 40
Actions #12

Updated by Lucas Di Pentima almost 3 years ago

Changes LGTM, don't remember why we pinned the arvados gem dependency, but I guess if tests pass, it isn't needed anymore.

Actions #15

Updated by Ward Vandewege almost 3 years ago

Ward Vandewege wrote:

We're seeing this on at least one Debian install too. We need to publish an updated arvados ruby gem with this fix, and then a 2.1.3 release with the api server and workbench pins for the arvados gem updated to 2.1.3.

Commit for the latter ready for review at 90128a0917582742efda459bdcf93016a1d67b93 on branch 17738-gem-pin-update. This is against the 2.1-dev branch; we'll need to make a similar change to head and 2.2-dev once the 2.1-dev fix is merged.

Tests running at 2.1-run-tests: #20

Change of plans; the monkey patch is no longer needed because we have a fork of the google-api-client gem which already includes the necessary fix. In other words, scratch the above branch.

c250aa0f884857af185d592d24d11b1183e9a6be on branch 17738-remove-constant-modification removes the monkey patch.

Actions #16

Updated by Lucas Di Pentima almost 3 years ago

17738-remove-constant-modification LGTM.

Actions #17

Updated by Ward Vandewege almost 3 years ago

  • Release changed from 40 to 38

Lucas Di Pentima wrote:

17738-remove-constant-modification LGTM.

Thanks, that's merged and the gems were published as 2.1.4 (which will be identical to 2.2.0).

The updated Gemfiles are up for review in 210f1cf691bca437705c8e79ed8a77353c0abd8f on branch 17738-pin-gemfiles-to-2.1.4, tests are running at developer-run-tests: #2502

Actions #18

Updated by Lucas Di Pentima almost 3 years ago

LGTM.

Actions #19

Updated by Ward Vandewege almost 3 years ago

Lucas Di Pentima wrote:

LGTM.

Thank you, the wb integration tests had to be rerun a few times but they finally passed in developer-run-tests-apps-workbench-integration: #2648 . Will merge.

Actions #20

Updated by Ward Vandewege almost 3 years ago

  • Status changed from In Progress to Resolved
Actions #21

Updated by Ward Vandewege almost 3 years ago

Pfff, I built the 2.1.4 gem from the wrong commit (build-publish-packages-python-ruby: #36 /parameters/), namely ac03c36a41a39280f6eb363d34cab739924cade1.

So, now we have 2.1.5 published from 4921d160cd6237d9b84fb8abfa469d2501628cf6, with build-publish-packages-python-ruby: #37 /parameters/

Actions

Also available in: Atom PDF