Skip to content

Error when handling keepalive response #65

@samrat

Description

@samrat

Hello,

I'm getting these crashes:

2025-01-02T08:22:54.183660258Z 08:22:54.177 [error] GenServer #PID<0.5078.0> terminating
2025-01-02T08:22:54.183669568Z ** (KeyError) key 53116131340293028348364719590 not found in: %{
2025-01-02T08:22:54.183676518Z   492100076263373773220109714 => %ExICE.Priv.CandidatePair{
2025-01-02T08:22:54.183683418Z     id: 492100076263373773220109714,
2025-01-02T08:22:54.183690398Z     local_cand_id: 27821797024459401511735786593,
2025-01-02T08:22:54.183697688Z     remote_cand_id: 4726155096264353298491278754,
2025-01-02T08:22:54.183704448Z     priority: 7998392938176446463,
2025-01-02T08:22:54.183711398Z     nominate?: false,
2025-01-02T08:22:54.183718288Z     nominated?: true,
2025-01-02T08:22:54.183725278Z     state: :succeeded,
2025-01-02T08:22:54.183731708Z     valid?: true,
2025-01-02T08:22:54.183738568Z     succeeded_pair_id: 492100076263373773220109714,
2025-01-02T08:22:54.183745398Z     discovered_pair_id: 492100076263373773220109714,
2025-01-02T08:22:54.183752228Z     keepalive_timer: #Reference<0.989414261.2584739841.251850>,
2025-01-02T08:22:54.183759428Z     last_seen: -576456765730
2025-01-02T08:22:54.183766307Z   }
2025-01-02T08:22:54.183772567Z }
2025-01-02T08:22:54.183780127Z     :erlang.map_get(53116131340293028348364719590, %{492100076263373773220109714 => %ExICE.Priv.CandidatePair{id: 492100076263373773220109714, local_cand_id: 27821797024459401511735786593, remote_cand_id: 4726155096264353298491278754, priority: 7998392938176446463, nominate?: false, nominated?: true, state: :succeeded, valid?: true, succeeded_pair_id: 492100076263373773220109714, discovered_pair_id: 492100076263373773220109714, keepalive_timer: #Reference<0.989414261.2584739841.251850>, last_seen: -576456765730}})
2025-01-02T08:22:54.183806047Z     (ex_ice 0.9.2) lib/ex_ice/priv/ice_agent.ex:1656: ExICE.Priv.ICEAgent.handle_keepalive_response/5
2025-01-02T08:22:54.183813247Z     (ex_ice 0.9.2) lib/ex_ice/priv/ice_agent.ex:1257: ExICE.Priv.ICEAgent.do_handle_stun_message/5
2025-01-02T08:22:54.183819927Z     (ex_ice 0.9.2) lib/ex_ice/ice_agent.ex:393: ExICE.ICEAgent.handle_info/2
2025-01-02T08:22:54.183826517Z     (stdlib 6.1) gen_server.erl:2345: :gen_server.try_handle_info/3
2025-01-02T08:22:54.183832807Z     (stdlib 6.1) gen_server.erl:2433: :gen_server.handle_msg/6
2025-01-02T08:22:54.183839177Z     (stdlib 6.1) proc_lib.erl:329: :proc_lib.init_p_do_apply/3
2025-01-02T08:22:54.183846997Z Last message: {:DOWN, #Reference<0.989414261.2584739841.248307>, :process, #PID<0.5119.0>, {{:badkey, 53116131340293028348364719590}, [{:erlang, :map_get, [53116131340293028348364719590, %{492100076263373773220109714 => %ExICE.Priv.CandidatePair{id: 492100076263373773220109714, local_cand_id: 27821797024459401511735786593, remote_cand_id: 4726155096264353298491278754, priority: 7998392938176446463, nominate?: false, nominated?: true, state: :succeeded, valid?: true, succeeded_pair_id: 492100076263373773220109714, discovered_pair_id: 492100076263373773220109714, keepalive_timer: #Reference<0.989414261.2584739841.251850>, last_seen: -576456765730}}], [error_info: %{module: :erl_erts_errors}]}, {ExICE.Priv.ICEAgent, :handle_keepalive_response, 5, [file: ~c"lib/ex_ice/priv/ice_agent.ex", line: 1656]}, {ExICE.Priv.ICEAgent, :do_handle_stun_message, 5, [file: ~c"lib/ex_ice/priv/ice_agent.ex", line: 1257]}, {ExICE.ICEAgent, :handle_info, 2, [file: ~c"lib/ex_ice/ice_agent.ex", line: 393]}, {:gen_server, :try_handle_info, 3, [file: ~c"gen_server.erl", line: 2345]}, {:gen_server, :handle_msg, 6, [file: ~c"gen_server.erl", line: 2433]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]}]}}

I tried looking around

pair = Map.fetch!(ice_agent.checklist, pair_id)
but couldn't figure out what might be causing it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions