Latest update to linkify causes mix deps.get crash
I run a nightly update of Pleroma's BE. When the most recent update to the linkify tried to install, it threw this series of errors on the `mix deps.:
root@iddqd:/opt/pleroma# sudo -Hu pleroma mix deps.get
08:09:59.075 [error] Task #PID<0.210.0> started from Hex.UpdateChecker terminating
** (UndefinedFunctionError) function :ssl.cipher_suites/1 is undefined or private
(ssl 10.4.1) :ssl.cipher_suites(:openssl)
(hex 0.20.5) lib/hex/http/ssl.ex:124: Hex.HTTP.SSL.filter_ciphers/1
(hex 0.20.5) lib/hex/http/ssl.ex:66: Hex.HTTP.SSL.ssl_opts/1
(hex 0.20.5) lib/hex/http.ex:41: Hex.HTTP.build_http_opts/2
(hex 0.20.5) lib/hex/http.ex:16: Hex.HTTP.request/5
(hex 0.20.5) lib/hex/update_checker.ex:31: anonymous fn/0 in Hex.UpdateChecker.handle_cast/2
(elixir 1.12.0) lib/task/supervised.ex:90: Task.Supervised.invoke_mfa/2
(elixir 1.12.0) lib/task/supervised.ex:35: Task.Supervised.reply/5
Function: #Function<0.129625718/0 in Hex.UpdateChecker.handle_cast/2>
Args: []
08:09:59.187 [error] Task #PID<0.212.0> started from :hex_fetcher terminating
** (UndefinedFunctionError) function :ssl.cipher_suites/1 is undefined or private
(ssl 10.4.1) :ssl.cipher_suites(:openssl)
(hex 0.20.5) lib/hex/http/ssl.ex:124: Hex.HTTP.SSL.filter_ciphers/1
(hex 0.20.5) lib/hex/http/ssl.ex:66: Hex.HTTP.SSL.ssl_opts/1
(hex 0.20.5) lib/hex/http.ex:41: Hex.HTTP.build_http_opts/2
(hex 0.20.5) lib/hex/http.ex:16: Hex.HTTP.request/5
(hex 0.20.5) lib/hex/registry/server.ex:306: anonymous fn/3 in Hex.Registry.Server.prefetch_online/2
(elixir 1.12.0) lib/task/supervised.ex:90: Task.Supervised.invoke_mfa/2
(elixir 1.12.0) lib/task/supervised.ex:35: Task.Supervised.reply/5
Function: #Function<17.86168715/0 in Hex.Registry.Server.prefetch_online/2>
Args: []
08:09:59.187 [error] Task #PID<0.213.0> started from :hex_fetcher terminating
** (UndefinedFunctionError) function :ssl.cipher_suites/1 is undefined or private
(ssl 10.4.1) :ssl.cipher_suites(:openssl)
(hex 0.20.5) lib/hex/http/ssl.ex:124: Hex.HTTP.SSL.filter_ciphers/1
(hex 0.20.5) lib/hex/http/ssl.ex:66: Hex.HTTP.SSL.ssl_opts/1
(hex 0.20.5) lib/hex/http.ex:41: Hex.HTTP.build_http_opts/2
(hex 0.20.5) lib/hex/http.ex:16: Hex.HTTP.request/5
(hex 0.20.5) lib/hex/registry/server.ex:306: anonymous fn/3 in Hex.Registry.Server.prefetch_online/2
(elixir 1.12.0) lib/task/supervised.ex:90: Task.Supervised.invoke_mfa/2
(elixir 1.12.0) lib/task/supervised.ex:35: Task.Supervised.reply/5
Function: #Function<17.86168715/0 in Hex.Registry.Server.prefetch_online/2>
Args: []
08:09:59.188 [error] Task #PID<0.214.0> started from :hex_fetcher terminating
** (UndefinedFunctionError) function :ssl.cipher_suites/1 is undefined or private
(ssl 10.4.1) :ssl.cipher_suites(:openssl)
(hex 0.20.5) lib/hex/http/ssl.ex:124: Hex.HTTP.SSL.filter_ciphers/1
(hex 0.20.5) lib/hex/http/ssl.ex:66: Hex.HTTP.SSL.ssl_opts/1
(hex 0.20.5) lib/hex/http.ex:41: Hex.HTTP.build_http_opts/2
(hex 0.20.5) lib/hex/http.ex:16: Hex.HTTP.request/5
(hex 0.20.5) lib/hex/registry/server.ex:306: anonymous fn/3 in Hex.Registry.Server.prefetch_online/2
(elixir 1.12.0) lib/task/supervised.ex:90: Task.Supervised.invoke_mfa/2
(elixir 1.12.0) lib/task/supervised.ex:35: Task.Supervised.reply/5
Function: #Function<17.86168715/0 in Hex.Registry.Server.prefetch_online/2>
Args: []
08:09:59.189 [error] Task #PID<0.215.0> started from :hex_fetcher terminating
** (UndefinedFunctionError) function :ssl.cipher_suites/1 is undefined or private
(ssl 10.4.1) :ssl.cipher_suites(:openssl)
(hex 0.20.5) lib/hex/http/ssl.ex:124: Hex.HTTP.SSL.filter_ciphers/1
(hex 0.20.5) lib/hex/http/ssl.ex:66: Hex.HTTP.SSL.ssl_opts/1
(hex 0.20.5) lib/hex/http.ex:41: Hex.HTTP.build_http_opts/2
(hex 0.20.5) lib/hex/http.ex:16: Hex.HTTP.request/5
(hex 0.20.5) lib/hex/registry/server.ex:306: anonymous fn/3 in Hex.Registry.Server.prefetch_online/2
(elixir 1.12.0) lib/task/supervised.ex:90: Task.Supervised.invoke_mfa/2
(elixir 1.12.0) lib/task/supervised.ex:35: Task.Supervised.reply/5
Function: #Function<17.86168715/0 in Hex.Registry.Server.prefetch_online/2>
Args: []
08:09:59.190 [error] Task #PID<0.216.0> started from :hex_fetcher terminating
** (UndefinedFunctionError) function :ssl.cipher_suites/1 is undefined or private
(ssl 10.4.1) :ssl.cipher_suites(:openssl)
(hex 0.20.5) lib/hex/http/ssl.ex:124: Hex.HTTP.SSL.filter_ciphers/1
(hex 0.20.5) lib/hex/http/ssl.ex:66: Hex.HTTP.SSL.ssl_opts/1
(hex 0.20.5) lib/hex/http.ex:41: Hex.HTTP.build_http_opts/2
(hex 0.20.5) lib/hex/http.ex:16: Hex.HTTP.request/5
(hex 0.20.5) lib/hex/registry/server.ex:306: anonymous fn/3 in Hex.Registry.Server.prefetch_online/2
(elixir 1.12.0) lib/task/supervised.ex:90: Task.Supervised.invoke_mfa/2
(elixir 1.12.0) lib/task/supervised.ex:35: Task.Supervised.reply/5
Function: #Function<17.86168715/0 in Hex.Registry.Server.prefetch_online/2>
Args: []
08:09:59.192 [error] Task #PID<0.217.0> started from :hex_fetcher terminating
** (UndefinedFunctionError) function :ssl.cipher_suites/1 is undefined or private
(ssl 10.4.1) :ssl.cipher_suites(:openssl)
(hex 0.20.5) lib/hex/http/ssl.ex:124: Hex.HTTP.SSL.filter_ciphers/1
(hex 0.20.5) lib/hex/http/ssl.ex:66: Hex.HTTP.SSL.ssl_opts/1
(hex 0.20.5) lib/hex/http.ex:41: Hex.HTTP.build_http_opts/2
(hex 0.20.5) lib/hex/http.ex:16: Hex.HTTP.request/5
(hex 0.20.5) lib/hex/registry/server.ex:306: anonymous fn/3 in Hex.Registry.Server.prefetch_online/2
(elixir 1.12.0) lib/task/supervised.ex:90: Task.Supervised.invoke_mfa/2
(elixir 1.12.0) lib/task/supervised.ex:35: Task.Supervised.reply/5
Function: #Function<17.86168715/0 in Hex.Registry.Server.prefetch_online/2>
Args: []
08:09:59.194 [error] Task #PID<0.218.0> started from :hex_fetcher terminating
** (UndefinedFunctionError) function :ssl.cipher_suites/1 is undefined or private
(ssl 10.4.1) :ssl.cipher_suites(:openssl)
(hex 0.20.5) lib/hex/http/ssl.ex:124: Hex.HTTP.SSL.filter_ciphers/1
(hex 0.20.5) lib/hex/http/ssl.ex:66: Hex.HTTP.SSL.ssl_opts/1
(hex 0.20.5) lib/hex/http.ex:41: Hex.HTTP.build_http_opts/2
(hex 0.20.5) lib/hex/http.ex:16: Hex.HTTP.request/5
(hex 0.20.5) lib/hex/registry/server.ex:306: anonymous fn/3 in Hex.Registry.Server.prefetch_online/2
(elixir 1.12.0) lib/task/supervised.ex:90: Task.Supervised.invoke_mfa/2
(elixir 1.12.0) lib/task/supervised.ex:35: Task.Supervised.reply/5
Function: #Function<17.86168715/0 in Hex.Registry.Server.prefetch_online/2>
Args: []
08:09:59.196 [error] Task #PID<0.219.0> started from :hex_fetcher terminating
** (UndefinedFunctionError) function :ssl.cipher_suites/1 is undefined or private
(ssl 10.4.1) :ssl.cipher_suites(:openssl)
(hex 0.20.5) lib/hex/http/ssl.ex:124: Hex.HTTP.SSL.filter_ciphers/1
(hex 0.20.5) lib/hex/http/ssl.ex:66: Hex.HTTP.SSL.ssl_opts/1
(hex 0.20.5) lib/hex/http.ex:41: Hex.HTTP.build_http_opts/2
(hex 0.20.5) lib/hex/http.ex:16: Hex.HTTP.request/5
(hex 0.20.5) lib/hex/registry/server.ex:306: anonymous fn/3 in Hex.Registry.Server.prefetch_online/2
(elixir 1.12.0) lib/task/supervised.ex:90: Task.Supervised.invoke_mfa/2
(elixir 1.12.0) lib/task/supervised.ex:35: Task.Supervised.reply/5
Function: #Function<17.86168715/0 in Hex.Registry.Server.prefetch_online/2>
Args: []
08:09:59.214 [error] GenServer Hex.Registry.Server terminating
** (stop) exited in: GenServer.call(:hex_fetcher, {:run, {:registry, "hexpm", "bbcode_pleroma"}, [await: false], #Function<17.86168715/0 in Hex.Registry.Server.prefetch_online/2>}, 5000)
** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started
(elixir 1.12.0) lib/gen_server.ex:1024: GenServer.call/3
(elixir 1.12.0) lib/enum.ex:930: Enum."-each/2-lists^foreach/1-0-"/2
(hex 0.20.5) lib/hex/registry/server.ex:302: Hex.Registry.Server.prefetch_online/2
(stdlib 3.15.1) gen_server.erl:721: :gen_server.try_handle_call/4
(stdlib 3.15.1) gen_server.erl:750: :gen_server.handle_msg/6
(stdlib 3.15.1) proc_lib.erl:226: :proc_lib.init_p_do_apply/3
Last message (from #PID<0.94.0>): {:prefetch, [{"hexpm", "gen_state_machine"}, {"hexpm", "gen_stage"}, {"hexpm", "http_signatures"}, {"hexpm", "phoenix_pubsub"}, {"hexpm", "unicode_util_compat"}, {"hexpm", "nimble_parsec"}, {"hexpm", "pot"}, {"hexpm", "plug_static_index_html"}, {"hexpm", "ecto_sql"}, {"hexpm", "castore"}, {"hexpm", "prometheus_phoenix"}, {"hexpm", "mochiweb"}, {"hexpm", "html_sanitize_ex"}, {"hexpm", "ueberauth"}, {"hexpm", "poison"}, {"hexpm", "fast_html"}, {"hexpm", "open_api_spex"}, {"hexpm", "p1_utils"}, {"hexpm", "cors_plug"}, {"hexpm", "combine"}, {"hexpm", "floki"}, {"hexpm", "nimble_pool"}, {"hexpm", "ex_aws_s3"}, {"hexpm", "makeup_erlang"}, {"hexpm", "meck"}, {"hexpm", "base62"}, {"hexpm", "makeup"}, {"hexpm", "libring"}, {"hexpm", "gettext"}, {"hexpm", "certifi"}, {"hexpm", "jumper"}, {"hexpm", "idna"}, {"hexpm", "hackney"}, {"hexpm", "phoenix"}, {"hexpm", "parse_trans"}, {"hexpm", "swoosh"}, {"hexpm", "ecto"}, {"hexpm", "cowboy_telemetry"}, {"hexpm", "linkify"}, {"hexpm", "timex"}, {"hexpm", "phoenix_swoosh"}, {"hexpm", "earmark"}, {"hexpm", "db_connection"}, {"hexpm", "earmark_parser"}, {"hexpm", "httpoison"}, {"hexpm", "comeonin"}, {"hexpm", ...}, {...}, ...]}
State: %{closing_fun: nil, ets: #Reference<0.4019950458.3842375681.246484>, fetched: #MapSet<[]>, path: "/var/lib/pleroma/.hex/cache.ets", pending: #MapSet<[]>, waiting: %{}}
Client #PID<0.94.0> is alive
(stdlib 3.15.1) gen.erl:233: :gen.do_call/4
(elixir 1.12.0) lib/gen_server.ex:1021: GenServer.call/3
(hex 0.20.5) lib/hex/registry/server.ex:30: Hex.Registry.Server.prefetch/1
(hex 0.20.5) lib/hex/remote_converger.ex:36: Hex.RemoteConverger.converge/2
(mix 1.12.0) lib/mix/dep/converger.ex:95: Mix.Dep.Converger.all/4
(mix 1.12.0) lib/mix/dep/converger.ex:51: Mix.Dep.Converger.converge/4
(mix 1.12.0) lib/mix/dep/fetcher.ex:16: Mix.Dep.Fetcher.all/3
(mix 1.12.0) lib/mix/tasks/deps.get.ex:31: Mix.Tasks.Deps.Get.run/1
** (exit) exited in: GenServer.call(Hex.Registry.Server, {:prefetch, [{"hexpm", "gen_state_machine"}, {"hexpm", "gen_stage"}, {"hexpm", "http_signatures"}, {"hexpm", "phoenix_pubsub"}, {"hexpm", "unicode_util_compat"}, {"hexpm", "nimble_parsec"}, {"hexpm", "pot"}, {"hexpm", "plug_static_index_html"}, {"hexpm", "ecto_sql"}, {"hexpm", "castore"}, {"hexpm", "prometheus_phoenix"}, {"hexpm", "mochiweb"}, {"hexpm", "html_sanitize_ex"}, {"hexpm", "ueberauth"}, {"hexpm", "poison"}, {"hexpm", "fast_html"}, {"hexpm", "open_api_spex"}, {"hexpm", "p1_utils"}, {"hexpm", "cors_plug"}, {"hexpm", "combine"}, {"hexpm", "floki"}, {"hexpm", "nimble_pool"}, {"hexpm", "ex_aws_s3"}, {"hexpm", "makeup_erlang"}, {"hexpm", "meck"}, {"hexpm", "base62"}, {"hexpm", "makeup"}, {"hexpm", "libring"}, {"hexpm", "gettext"}, {"hexpm", "certifi"}, {"hexpm", "jumper"}, {"hexpm", "idna"}, {"hexpm", "hackney"}, {"hexpm", "phoenix"}, {"hexpm", "parse_trans"}, {"hexpm", "swoosh"}, {"hexpm", "ecto"}, {"hexpm", "cowboy_telemetry"}, {"hexpm", "linkify"}, {"hexpm", "timex"}, {"hexpm", "phoenix_swoosh"}, {"hexpm", "earmark"}, {"hexpm", "db_connection"}, {"hexpm", "earmark_parser"}, {"hexpm", "httpoison"}, {"hexpm", "comeonin"}, {"hexpm", ...}, {...}, ...]}, 60000)
** (EXIT) exited in: GenServer.call(:hex_fetcher, {:run, {:registry, "hexpm", "bbcode_pleroma"}, [await: false], #Function<17.86168715/0 in Hex.Registry.Server.prefetch_online/2>}, 5000)
** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started
(elixir 1.12.0) lib/gen_server.ex:1024: GenServer.call/3
(hex 0.20.5) lib/hex/registry/server.ex:30: Hex.Registry.Server.prefetch/1
(hex 0.20.5) lib/hex/remote_converger.ex:36: Hex.RemoteConverger.converge/2
(mix 1.12.0) lib/mix/dep/converger.ex:95: Mix.Dep.Converger.all/4
(mix 1.12.0) lib/mix/dep/converger.ex:51: Mix.Dep.Converger.converge/4
(mix 1.12.0) lib/mix/dep/fetcher.ex:16: Mix.Dep.Fetcher.all/3
(mix 1.12.0) lib/mix/tasks/deps.get.ex:31: Mix.Tasks.Deps.Get.run/1
(mix 1.12.0) lib/mix/task.ex:394: anonymous fn/3 in Mix.Task.run_task/3
Here is the update script I use:
cd /opt/pleroma
git stash
git checkout develop
git pull
git stash pop
sudo -Hu pleroma mix deps.get
systemctl stop pleroma.service
sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate
systemctl start pleroma.service
It fails at the mix deps.get
step for the error above. This script was written based on the updating your instance instructions and has worked faithfully for the better part of a year, so I'm convinced this is an issue specifically with this commit. I reverted to yesterday's version without issue.