AtomVM Supervisor issue

I’m with ESP32 board, atomvm 0.6.6, elixir 1.7.3 OTP 27, MacOS Silicon

Try to run

defmodule HuntersSup do
  @behaviour :supervisor

  def start_link(), do: :supervisor.start_link(__MODULE__, [])

  @impl :supervisor
  def init(_args) do
    flags = {:one_for_one, 3, 5}

    child =
      {:light, {:"Elixir.Light", :start_link, []}, :permanent, 5_000, :worker, [:"Elixir.Light"]}

    {:ok, {flags, [child]}}
  end
end

this with HuntersSup.start_link() but failed, I revised the flags, child form with GPT-5 with full automation, tried several code, but all didn’t work well.

If I let children empty, it runs, but can’t let it have children.

By the way, the gen_server is working well.

What should I consider?

Wow. I was in pain almost 2 days straight, just the moment I post this question, GPT-5 solved issue:

child =
      {:light, {:"Elixir.Light", :start_link, []}, :permanent, :brutal_kill, :worker,
       [:"Elixir.Light"]}

This saved my life. The official repo was for 0.7.0-dev sort of, and my esp32 was running 0.6.6 stable release, which didn’t support some args!

1 Like