Possible issue with OTP23.0-rc3

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Possible issue with OTP23.0-rc3

Richard Bowker
Hi, I can successfully build an elixir app/release with a docker container using erlang:23.0-rc2 as the base

start of Dockerfile reproduced here:

FROM erlang:23.0-rc2 as elixir

# elixir expects utf8.
ENV ELIXIR_VERSION="v1.10.3" \
        LANG=C.UTF-8

RUN set -xe \
        && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \
        && ELIXIR_DOWNLOAD_SHA256="f3035fc5fdade35c3592a5fa7c8ee1aadb736f565c46b74b68ed7828b3ee1897" \
        && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \
        && echo "$ELIXIR_DOWNLOAD_SHA256  elixir-src.tar.gz" | sha256sum -c - \
        && mkdir -p /usr/local/src/elixir \
        && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \
        && rm elixir-src.tar.gz \
        && cd /usr/local/src/elixir \
        && make install clean

FROM elixir AS app_builder

# The following are build arguments used to change variable parts of the image.
# The name of your application/release (required)
ARG APP_NAME
# The version of the application we are building (required)
ARG APP_VSN
# The environment to build with
ARG MIX_ENV=prod

ENV APP_NAME=${APP_NAME} \
    APP_VSN=${APP_VSN} \
    MIX_ENV=${MIX_ENV}

# Create the application build directory
RUN mkdir /app
WORKDIR /app

# This step installs all the build tools we'll need
RUN apt-get update && \
  apt-get install -y \
    git && \
  mix local.rebar --force && \
  mix local.hex --force




... the rest of the file is app specific and not relevant to the issue

however if I update the base container to rc3 (FROM erlang:23.0-rc3 as elixir) then at the local.hex step I'm now seeing the following:


20:08:53.034 [info]  TLS :client: In state :certify at ssl_connection.erl:1052 generated CLIENT ALERT: Fatal - Decrypt Error

** (Mix) httpc request failed with: {:failed_connect, [{:to_address, {'repo.hex.pm', 443}}, {:inet, [:inet], {:tls_alert, {:decrypt_error, 'TLS client: In state certify at ssl_connection.erl:1052 generated CLIENT ALERT: Fatal - Decrypt Error\n'}}}]}

Could not install Rebar because Mix could not download metadata at https://repo.hex.pm/installs/rebar-1.x.csv.

any ideas?

cheers

Rich


Reply | Threaded
Open this post in threaded view
|

Re: Possible issue with OTP23.0-rc3

Ingela Andin
Hi!

I believe this has been reported already in  ERL-1237  and is fixed in master.

Regards Ingela Erlang/OTP team - Ericsson AB


Den tis 12 maj 2020 kl 22:30 skrev Richard Bowker <[hidden email]>:
Hi, I can successfully build an elixir app/release with a docker container using erlang:23.0-rc2 as the base

start of Dockerfile reproduced here:

FROM erlang:23.0-rc2 as elixir

# elixir expects utf8.
ENV ELIXIR_VERSION="v1.10.3" \
        LANG=C.UTF-8

RUN set -xe \
        && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \
        && ELIXIR_DOWNLOAD_SHA256="f3035fc5fdade35c3592a5fa7c8ee1aadb736f565c46b74b68ed7828b3ee1897" \
        && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \
        && echo "$ELIXIR_DOWNLOAD_SHA256  elixir-src.tar.gz" | sha256sum -c - \
        && mkdir -p /usr/local/src/elixir \
        && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz \
        && rm elixir-src.tar.gz \
        && cd /usr/local/src/elixir \
        && make install clean

FROM elixir AS app_builder

# The following are build arguments used to change variable parts of the image.
# The name of your application/release (required)
ARG APP_NAME
# The version of the application we are building (required)
ARG APP_VSN
# The environment to build with
ARG MIX_ENV=prod

ENV APP_NAME=${APP_NAME} \
    APP_VSN=${APP_VSN} \
    MIX_ENV=${MIX_ENV}

# Create the application build directory
RUN mkdir /app
WORKDIR /app

# This step installs all the build tools we'll need
RUN apt-get update && \
  apt-get install -y \
    git && \
  mix local.rebar --force && \
  mix local.hex --force




... the rest of the file is app specific and not relevant to the issue

however if I update the base container to rc3 (FROM erlang:23.0-rc3 as elixir) then at the local.hex step I'm now seeing the following:


20:08:53.034 [info]  TLS :client: In state :certify at ssl_connection.erl:1052 generated CLIENT ALERT: Fatal - Decrypt Error

** (Mix) httpc request failed with: {:failed_connect, [{:to_address, {'repo.hex.pm', 443}}, {:inet, [:inet], {:tls_alert, {:decrypt_error, 'TLS client: In state certify at ssl_connection.erl:1052 generated CLIENT ALERT: Fatal - Decrypt Error\n'}}}]}

Could not install Rebar because Mix could not download metadata at https://repo.hex.pm/installs/rebar-1.x.csv.

any ideas?

cheers

Rich


Reply | Threaded
Open this post in threaded view
|

Re: Possible issue with OTP23.0-rc3

Richard Bowker
In reply to this post by Richard Bowker
Great!, thank you

Rich

--- [hidden email] wrote:

From: Ingela Andin <[hidden email]>
To: [hidden email]
Cc: erlang questions <[hidden email]>
Subject: Re: Possible issue with OTP23.0-rc3
Date: Wed, 13 May 2020 06:47:48 +0200

Hi!

I believe this has been reported already in  ERL-1237
<https://bugs.erlang.org/browse/ERL-1237>  and is fixed in master.

Regards Ingela Erlang/OTP team - Ericsson AB


Den tis 12 maj 2020 kl 22:30 skrev Richard Bowker <[hidden email]
>:

> Hi, I can successfully build an elixir app/release with a docker container
> using erlang:23.0-rc2 as the base
>
> start of Dockerfile reproduced here:
>
> FROM erlang:23.0-rc2 as elixir
>
> # elixir expects utf8.
> ENV ELIXIR_VERSION="v1.10.3" \
>         LANG=C.UTF-8
>
> RUN set -xe \
>         && ELIXIR_DOWNLOAD_URL="
> https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" \
>         &&
> ELIXIR_DOWNLOAD_SHA256="f3035fc5fdade35c3592a5fa7c8ee1aadb736f565c46b74b68ed7828b3ee1897"
> \
>         && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \
>         && echo "$ELIXIR_DOWNLOAD_SHA256  elixir-src.tar.gz" | sha256sum
> -c - \
>         && mkdir -p /usr/local/src/elixir \
>         && tar -xzC /usr/local/src/elixir --strip-components=1 -f
> elixir-src.tar.gz \
>         && rm elixir-src.tar.gz \
>         && cd /usr/local/src/elixir \
>         && make install clean
>
> FROM elixir AS app_builder
>
> # The following are build arguments used to change variable parts of the
> image.
> # The name of your application/release (required)
> ARG APP_NAME
> # The version of the application we are building (required)
> ARG APP_VSN
> # The environment to build with
> ARG MIX_ENV=prod
>
> ENV APP_NAME=${APP_NAME} \
>     APP_VSN=${APP_VSN} \
>     MIX_ENV=${MIX_ENV}
>
> # Create the application build directory
> RUN mkdir /app
> WORKDIR /app
>
> # This step installs all the build tools we'll need
> RUN apt-get update && \
>   apt-get install -y \
>     git && \
>   mix local.rebar --force && \
>   mix local.hex --force
>
>
>
>
> ... the rest of the file is app specific and not relevant to the issue
>
> however if I update the base container to rc3 (FROM erlang:23.0-rc3 as
> elixir) then at the local.hex step I'm now seeing the following:
>
>
> 20:08:53.034 [info]  TLS :client: In state :certify at
> ssl_connection.erl:1052 generated CLIENT ALERT: Fatal - Decrypt Error
>
> ** (Mix) httpc request failed with: {:failed_connect, [{:to_address, {'
> repo.hex.pm', 443}}, {:inet, [:inet], {:tls_alert, {:decrypt_error, 'TLS
> client: In state certify at ssl_connection.erl:1052 generated CLIENT ALERT:
> Fatal - Decrypt Error\n'}}}]}
>
> Could not install Rebar because Mix could not download metadata at
> https://repo.hex.pm/installs/rebar-1.x.csv.
>
> any ideas?
>
> cheers
>
> Rich
>
>
>