Closed frostyplanet closed 2 months ago
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 88.34%. Comparing base (
d6465c9
) to head (4b93854
). Report is 2 commits behind head on main.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Senario: server(supervisor) listen on 0.0.0.0, might because it has multiple ip address, or the server hide behind L4 loadbalancer. client (worker) connect server from another host (by ip or hostname) will cause such error.
The root cause is that xo.actor_ref() will return ActorRef(address=0.0.0.0) by server-side, although client originally specify server addr is not 0.0.0.0. The next call to actor_ref will raise exception because 0.0.0.0 is treated as 127.0.0.1 by client-side.
We can split ActorRef.address into ip & port, detect zero address and replace with correct ip to fix the problem