You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a node is not synchronized it starts a repair process.
This process is started with NetworkChain.asynchronous_resync which calls Utils.run_exclusive. But this last one create a task using Task.async_nolink which means that the process that created this task will receive an event {ref, res} and {:DOWN, ...}.
Since this function may be called from GenServer if they don't handle the event they'll have a function clause error.
Example from Node responsivness and Node Renewal Scheduler:
Describe the solution you'd like
The Utils.run_exclusive should not start an async task that return event to the caller but a "fire and forget" task using Task.Supervisor.start_child
Epic
No response
The text was updated successfully, but these errors were encountered:
Describe the problem you discovered
When a node is not synchronized it starts a repair process.
This process is started with
NetworkChain.asynchronous_resync
which callsUtils.run_exclusive
. But this last one create a task usingTask.async_nolink
which means that the process that created this task will receive an event{ref, res}
and{:DOWN, ...}
.Since this function may be called from GenServer if they don't handle the event they'll have a function clause error.
Example from Node responsivness and Node Renewal Scheduler:
Describe the solution you'd like
The Utils.run_exclusive should not start an async task that return event to the caller but a "fire and forget" task using
Task.Supervisor.start_child
Epic
No response
The text was updated successfully, but these errors were encountered: