Bug #17738

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

Added by Ward Vandewege 5 months ago. Updated 5 months ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
-
Target version:
Start date:
05/27/2021
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
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)
api-passenger-error-eDKtSz.html (421 KB) api-passenger-error-eDKtSz.html Ward Vandewege, 05/27/2021 12:30 AM
workbench1-passenger-error-RfxXiX.html (400 KB) workbench1-passenger-error-RfxXiX.html Ward Vandewege, 05/27/2021 12:30 AM

Subtasks

Task #17740: Review 17738-frozen-string-errorResolvedLucas Di Pentima


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 StringClosed

Related to Arvados - Bug #13920: arvados-cli fails with ruby versions >= 2.3.7Resolved07/26/2018

Blocks Arvados - Story #17512: Release Arvados 2.2Resolved05/03/2021

Associated revisions

Revision bfcade85
Added by Lucas Di Pentima 5 months ago

Merge branch '17738-frozen-string-error'
Closes #17738

Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <>

Revision 90128a09 (diff)
Added by Ward Vandewege 5 months ago

Pin the api server and workbench to the Arvados 2.1.3 gem.

refs #17738

Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <>

Revision bc43917e (diff)
Added by Ward Vandewege 5 months ago

Pin the api server and workbench to the Arvados 2.2.0 gem.

refs #17738

Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <>

Revision d0f0460e
Added by Ward Vandewege 5 months ago

Merge branch '17738-remove-constant-modification'

refs #17738

Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <>

Revision 20941090
Added by Ward Vandewege 5 months ago

Merge branch '17738-pin-gemfiles-to-2.1.4'

closes #17738

Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <>

Revision ebfa2713 (diff)
Added by Ward Vandewege 5 months ago

Make our arvados-api and arvados-workbench Gemfiles use the arvados
2.1.5 gem.

refs #17738

Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <>

Revision cb2783db (diff)
Added by Ward Vandewege 5 months ago

Make our arvados-api and arvados-workbench Gemfiles use the arvados
2.1.5 gem.

refs #17738

Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <>

History

#2 Updated by Ward Vandewege 5 months ago

  • Description updated (diff)

#3 Updated by Lucas Di Pentima 5 months ago

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

#4 Updated by Ward Vandewege 5 months 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

#5 Updated by Lucas Di Pentima 5 months 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: https://ci.arvados.org/job/developer-run-tests/2496/

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

#6 Updated by Lucas Di Pentima 5 months ago

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

#7 Updated by Lucas Di Pentima 5 months ago

#8 Updated by Ward Vandewege 5 months 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: https://ci.arvados.org/job/developer-run-tests/2496/

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

LGTM, thanks!

#9 Updated by Lucas Di Pentima 5 months ago

  • Status changed from In Progress to Resolved

#10 Updated by Ward Vandewege 5 months 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 https://ci.arvados.org/view/Old%20releases/job/2.1-run-tests/20/

#11 Updated by Ward Vandewege 5 months ago

  • Release changed from 38 to 40

#12 Updated by Lucas Di Pentima 5 months ago

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

#15 Updated by Ward Vandewege 5 months 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 https://ci.arvados.org/view/Old%20releases/job/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.

#16 Updated by Lucas Di Pentima 5 months ago

17738-remove-constant-modification LGTM.

#17 Updated by Ward Vandewege 5 months 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 https://ci.arvados.org/view/Developer/job/developer-run-tests/2502/

#18 Updated by Lucas Di Pentima 5 months ago

LGTM.

#19 Updated by Ward Vandewege 5 months ago

Lucas Di Pentima wrote:

LGTM.

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

#20 Updated by Ward Vandewege 5 months ago

  • Status changed from In Progress to Resolved

Also available in: Atom PDF