GenStage causing unexpected application exits

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!