Skip to content
This repository has been archived by the owner on Jul 2, 2024. It is now read-only.

Explorer service crashing #4586

Closed
sebastian opened this issue Jul 29, 2020 · 6 comments
Closed

Explorer service crashing #4586

sebastian opened this issue Jul 29, 2020 · 6 comments
Assignees
Labels
Milestone

Comments

@sebastian
Copy link
Member

2020-07-29 12:20:01.720 [error] GenServer Air.Service.Explorer terminating
** (FunctionClauseError) no function clause matching in Air.Service.Explorer.handle_info/2
    (air) lib/air/service/explorer.ex:192: Air.Service.Explorer.handle_info({:ssl_closed, {:sslsocket, {:gen_tcp, #Port<0.49>, :tls_connection, :undefined}, [#PID<0.3972.0>, #PID<0.3971.0>]}}, false)
    (stdlib) gen_server.erl:637: :gen_server.try_dispatch/4
    (stdlib) gen_server.erl:711: :gen_server.handle_msg/6
    (stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
Last message: {:ssl_closed, {:sslsocket, {:gen_tcp, #Port<0.49>, :tls_connection, :undefined}, [#PID<0.3972.0>, #PID<0.3971.0>]}}

This is running a version relatively close to master: https://github.com/Aircloak/aircloak/tree/jakub/feat/explorer-versioning

@sebastian sebastian added this to the Release 20.2 milestone Jul 29, 2020
@sebastian sebastian added the bug label Jul 29, 2020
@gampleman
Copy link
Contributor

Seems related to: benoitc/hackney#464. Can you post any more information re reproduction steps? What environment is this in? What version of Explorer?

@sebastian
Copy link
Member Author

I got this when deploying the pull-request you sent me where you changed to using the version explorer API. At the time of writing Explorer was redeployed 3 hours ago, which should give us this version.

@sebastian
Copy link
Member Author

I got the error above on sebastian-air when requesting to re-analyze all data sources. It then tried and failed to analyze all the data sources. Most failed with this explorer error, but then the error above popped in too.

@sebastian
Copy link
Member Author

I am not sure if that will allow any reproduction, but if nothing else you have the signature of the unexpected error message that was sent to the gen server, so you could ensure you properly handle info messages and log unexpected ones...

@gampleman
Copy link
Contributor

So you think the solution is to add a catch all handle_info and log? Is there much advantage to that as opposed to letting it crash and the supervisor restarting it?

@sebastian
Copy link
Member Author

At least handle this particular error. We have seen it before. It's no reason to crash the server.

@sebastian sebastian self-assigned this Jul 31, 2020
sebastian added a commit that referenced this issue Jul 31, 2020
Also, since some operation failed, we try polling again, just to
be sure we aren't missing work behind.

Closes #4586
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants