Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(ExCoveralls.ReportUploadError) Failed to upload the report to 'https://coveralls.io', reason: tls_alert #254

Open
sobolevn opened this issue Mar 17, 2021 · 10 comments

Comments

@sobolevn
Copy link

Hi! I have got a CI fail recently:

Run mix coveralls.github
........................................................................................................................

Finished in 0.6 seconds
35 doctests, 85 tests, 0 failures

Randomized with seed 44094

05:52:09.001 [info]  TLS :client: In state :wait_cert_cr at ssl_handshake.erl:1887 generated CLIENT ALERT: Fatal - Unknown CA

** (ExCoveralls.ReportUploadError) Failed to upload the report to 'https://coveralls.io' (reason: {:tls_alert, {:unknown_ca, 'TLS client: In state wait_cert_cr at ssl_handshake.erl:1887 generated CLIENT ALERT: Fatal - Unknown CA\n'}}).
    (excoveralls 0.14.0) lib/excoveralls/poster.ex:21: ExCoveralls.Poster.execute/2
    (mix 1.11.4) lib/mix/tasks/test.ex:373: Mix.Tasks.Test.do_run/3
    (mix 1.11.4) lib/mix/task.ex:394: Mix.Task.run_task/3
    (excoveralls 0.14.0) lib/mix/tasks.ex:54: Mix.Tasks.Coveralls.do_run/2
    (mix 1.11.4) lib/mix/task.ex:394: Mix.Task.run_task/3
    (mix 1.11.4) lib/mix/cli.ex:84: Mix.CLI.run_task/2
    (elixir 1.11.4) lib/code.ex:931: Code.require_file/2

Versions:

  • excoveralls@0.14.0
  • elixir: 1.11
  • beam: 23
  • ubuntu-20.04

CI job: https://github.com/sobolevn/recase/pull/119/checks?check_run_id=2128079815

@sobolevn
Copy link
Author

@bmquinn
Copy link

bmquinn commented Mar 18, 2021

I'm seeing the same error as well, running elixir 1.11 and erlang 23.1:

Finished in 46.0 seconds
41 doctests, 557 tests, 0 failures

Randomized with seed 318874
16:21:58.889 [info]  TLS :client: In state :wait_cert_cr at ssl_handshake.erl:1887 generated CLIENT ALERT: Fatal - Unknown CA

** (ExCoveralls.ReportUploadError) Failed to upload the report to 'https://coveralls.io' (reason: {:tls_alert, {:unknown_ca, 'TLS client: In state wait_cert_cr at ssl_handshake.erl:1887 generated CLIENT ALERT: Fatal - Unknown CA\n'}}).
    (excoveralls 0.14.0) lib/excoveralls/poster.ex:21: ExCoveralls.Poster.execute/2
    (mix 1.11.4) lib/mix/tasks/test.ex:373: Mix.Tasks.Test.do_run/3
    (mix 1.11.4) lib/mix/task.ex:394: Mix.Task.run_task/3
    (mix 1.11.4) lib/mix/task.ex:439: Mix.Task.run_alias/5
    (excoveralls 0.14.0) lib/mix/tasks.ex:54: Mix.Tasks.Coveralls.do_run/2
    (mix 1.11.4) lib/mix/task.ex:394: Mix.Task.run_task/3
    (mix 1.11.4) lib/mix/cli.ex:84: Mix.CLI.run_task/2
    (elixir 1.11.4) lib/code.ex:931: Code.require_file/2

I think the fix could be bumping to Hackney 1.17.0 (https://github.com/benoitc/hackney/releases/tag/v1.17.0), which adds SSL compatibility with erlang OTP 23

@ajvondrak
Copy link

ajvondrak commented Mar 18, 2021

Same issue on Elixir 1.11 (earlier versions are fine), and on both OTP 21 and 23: https://github.com/ajvondrak/remote_ip/actions/runs/665483059

Note that Elixir 1.10 works fine on OTP 21, so I'm not sure it's purely an OTP/Hackney issue.

@ajvondrak
Copy link

These errors seem to coincide with the latest patch version of Elixir 1.11: https://github.com/elixir-lang/elixir/releases/tag/v1.11.4

ajvondrak added a commit to ajvondrak/remote_ip that referenced this issue Mar 18, 2021
Elixir 1.11.4 came out a couple days ago, and now Excoveralls is failing
with an error: parroty/excoveralls#254

I expect to revert this change when the bug gets sorted out, but in the
meantime I'm checking to make sure that CI still works on v1.11.3.
@ajvondrak
Copy link

Yeah, Elixir v1.11.3 works fine: https://github.com/ajvondrak/remote_ip/runs/2142427054?check_suite_focus=true

The suspicious thing in the v1.11.4 release notes is that rebar was bumped to v3.14.4: https://github.com/erlang/rebar3/releases/tag/3.14.4 But it looks like rebar3 had a lot of changes for that version, so I'm not sure where to begin sifting through those.

@bmquinn
Copy link

bmquinn commented Mar 18, 2021

Thanks @ajvondrak, digging into those rebar3 release notes it looks like certifi/erlang-certifi#46 is the likely culprit here

@xinz
Copy link
Contributor

xinz commented Apr 8, 2021

Thanks all, same issue with Elixir 1.11.4, after run mix deps.update certifi resolve this issue for me, hope it is helpful for your reference.

@rlopzc
Copy link

rlopzc commented Apr 12, 2021

@xinz comment fixed it for me!! I spent a lot trying to find the answer

@christhekeele
Copy link

I had the same issue, and @xinz 's note to run mix deps.update certifi worked perfectly too, thanks!

asaaki added a commit to asaaki/cmark.ex that referenced this issue May 16, 2021
marcelotto added a commit to rdf-elixir/rdf-ex that referenced this issue May 22, 2021
b1az added a commit to b1az/conduit_amqp that referenced this issue Nov 18, 2021
blatyo pushed a commit to conduitframework/conduit_amqp that referenced this issue Sep 12, 2022
* Use amqp's ability to use both URI & conn-options

Bumped the amqp version as this ability was
introduced in amqp 1.3.0:
pma/amqp#144

* Update certifi

parroty/excoveralls#254

* Bump CI version
ajvondrak added a commit to ajvondrak/remote_ip that referenced this issue Jun 10, 2024
Tests are passing, but CI is failing due to the old excoveralls issue
seen before in parroty/excoveralls#254

However, the latest workarounds noted on that issue are for earlier
versions of excoveralls that still used hackney instead of httpc (cf.
parroty/excoveralls#311). So it's not clear that
there are any good/known workarounds, as in the old issue. In
particular, we should be running the latest castore version, and I don't
think installing/updating certifi is going to do anything.

The tests seem to pass on the other Elixir versions in the matrix, but
they're all running at least OTP 23. So I'm wondering if OTP 23 would
unstick Elixir 1.12 & 1.13. Not ideal, but worth a shot.
@ajvondrak
Copy link

Heads up that I was getting this error again circa excoveralls 0.18.1. Since #311 moved from hackney to httpc, the certifi update mentioned above wouldn't make a difference AFAICT. However, I noticed that I was only seeing the issue using OTP 22 in my build matrix, so I tried out OTP 23 and that seems to work (even on the same Elixir versions, 1.12 & 1.13).

Before: https://github.com/ajvondrak/remote_ip/actions/runs/9440358658/job/25999841516#step:8:19

After: https://github.com/ajvondrak/remote_ip/actions/runs/9440538202/job/25999999662#step:8:16

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants