Update:
i enabled otp and sasl reports in logger to see more stuff.
handle_otp_reports: true,
handle_sasl_reports: true
and found it was a bug in the way i was using plug for my http transport.
i have this in the init function.
{:ok, web} = Plug.Adapters.Cowboy.http Router, [], [port: @port, dispatch: [cowboy_dispatch()]]
Process.link(web)
I was under the assumption that when my process crashed, web would exit also, so i never cleaned it up. so when the HTTP transport gets restarted, i got:
** (MatchError) no match of right hand side value: {:error, {:already_started, #PID<0.1655.0>}}
(farmbot) lib/farmbot/bot_state/transport/http/http.ex:47: Farmbot.BotState.Transport.HTTP.init/1
which wasn’t showing up in the normal logs. I’ve restructured my HTTP adapter to properly supervise my plug router, and everything is working a ok again. Thanks for reading!






















