puma / puma

A Ruby/Rack web server built for parallelism

Home Page:https://puma.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

No such file or directory error with SSL3 and not SSL1.1?

axlekb opened this issue · comments

With the recent ruby version bump to 3.1.3, CircleCI bumped ubuntu on their standard ruby images 12.8ubuntu1.1 to 12.9ubuntu3. As I understand it, the 12.* refers to build-essential, and the 1.1 and 3 refer to ssl

When running rake db:create for a rails project, it appears puma's puma_http11 causes it to fail (see log below).

Can likely find a different image, but should puma work if it has only ssl.3 and not ssl.1.1? Apologies for the brevity in this report, but this is not my wheelhouse, but just wanted to record the information I've found in case that others encounter the same issue.

rake aborted!
LoadError: libssl.so.1.1: cannot open shared object file: No such file or directory - /home/circleci/project/vendor/bundle/ruby/3.1.0/gems/puma-6.0.0/lib/puma/puma_http11.so
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/puma-6.0.0/lib/puma.rb:14:in `<main>'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler/runtime.rb:60:in `block (2 levels) in require'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler/runtime.rb:55:in `each'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler/runtime.rb:55:in `block in require'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler/runtime.rb:44:in `each'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler/runtime.rb:44:in `require'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler.rb:186:in `require'
/home/circleci/project/config/application.rb:9:in `<top (required)>'
/home/circleci/project/Rakefile:6:in `require_relative'
/home/circleci/project/Rakefile:6:in `<top (required)>'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler/cli/exec.rb:58:in `load'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler/cli/exec.rb:58:in `kernel_load'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler/cli/exec.rb:23:in `run'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler/cli.rb:486:in `exec'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler/cli.rb:31:in `dispatch'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler/cli.rb:25:in `start'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/exe/bundle:48:in `block in <top (required)>'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/lib/bundler/friendly_errors.rb:120:in `with_friendly_errors'
/home/circleci/project/vendor/bundle/ruby/3.1.0/gems/bundler-2.3.25/exe/bundle:36:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
(See full trace by running task with --trace)

Puma should work with either OpenSSL 1.1.1 or 3.0, what version of OpenSSL was Ruby and Puma built with?

Maybe you have a cache to bust, like CircleCI-Public/cimg-ruby#100

Thanks for your help. Poor cache-keying, so manual cache busting to the rescue.