-
Notifications
You must be signed in to change notification settings - Fork 114
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
Unexpected unwrapped return %Mint.TransportError{reason: :closed}
from Mint.HTTP1.connect/4
#438
Comments
|
Can you share which URL you hit? Is it over http or https? ipv4, ipv6? Any extra context would really help. |
Looking at my logs further I've discovered another unexpected unwrapped return from ** (CaseClauseError) no case clause matching: %Mint.TransportError{reason: %Mint.TransportError{reason: :timeout}}
(finch 0.18.0) lib/finch/http1/conn.ex:52: Finch.HTTP1.Conn.connect/2
(finch 0.18.0) lib/finch/http1/pool.ex:58: anonymous fn/10 in Finch.HTTP1.Pool.request/6
(nimble_pool 1.1.0) lib/nimble_pool.ex:462: NimblePool.checkout!/4
(finch 0.18.0) lib/finch/http1/pool.ex:52: Finch.HTTP1.Pool.request/6
(finch 0.18.0) lib/finch.ex:472: anonymous fn/4 in Finch.request/3
(telemetry 1.2.1) /opt/terrapin-app/deps/telemetry/src/telemetry.erl:321: :telemetry.span/3
(req 0.5.0) lib/req/steps.ex:953: Req.Steps.run_finch_request/3
(req 0.5.0) lib/req/steps.ex:785: Req.Steps.run_finch/4 |
I am making It looks roughly like: @spec base_req() :: Req.Request.t()
def base_req() do
proxy = Tp.Proxy.rotate()
Req.new(
base_url: "https://...",
connect_options: [
proxy: {:http, proxy.ip, proxy.port, []},
proxy_headers: [{"Proxy-Authorization", "Basic: #{Base.encode64(proxy.userpass)}"}]
]
)
end We have around 10 proxies. They are quite unreliable. We get intermittent HTTP 407, The connection path is over IPv4, and looks like this:
|
This is definitely an error yeah. I'll try to take a look. |
@whatyouhide any updates 🙂? |
@jozuas no, didn't have time to look at this. Want to give it a try? Usually we call functions like |
I think I will:
Let's see what turns up. |
@jozuas sounds fantastic, thank you. |
I'm looking at my AppSignal error tracker, and I see that the last time I had an exception for this was 17 days ago, it's probably faster to look at the code 😅 |
Ah, well, here we go: Follow Lines 8 to 14 in 63ce63c
Follow Lines 39 to 52 in 63ce63c
Lines 119 to 129 in 63ce63c
And so the real return of
Instead of
|
I observed the following in my application logs:
lib/finch/http1/conn.ex:52:
Mint.HTTP1.connect/4 return type should be:
Not sure how to replicate given that this for me is a transient issue
The text was updated successfully, but these errors were encountered: