Open grondo opened 6 months ago
Using strace
shows that poll()
is returning POLLHUP
in revents
when the connected broker exits.
Some printf debugging shows that the local connector does promote a POLLHUP
event to POLLERR
, which in turn causes flux_pollevents()
to call comms_error (h, ECONNRESET)
. However, I wasn't sure how this should be promoted to an error that filters up into flux_recv()
etc.
When a process connected to a broker is waiting for a future to be fulfilled and the broker exits,
flux_future_get()
returns an error (-1), but the errno is either not set or invalid, resulting in confusing error messages.Here's an example with
flux-dmesg(1)
:Possibly an
ECONNRESET
or other more useful errno is being overwritten somewhere in the error handling here.