event_dispatch() in main(), frontend() and engine() returns 0.
the man page says: In order to process events, an application needs to call event_dispatch(). This function only returns on error, and should replace the event core of the application program. which apparently is a lie. No idea how this can happen. I guess we are hitting this in event_base_loop(): if (base->event_count_active) { event_process_active(base); if (!base->event_count_active && (flags & EVLOOP_ONCE)) done = 1; } else if (flags & EVLOOP_NONBLOCK) done = 1; On 2024-09-04 14:44 +02, Stefan Fritsch <s...@openbsd.org> wrote: > Hi, > > during network driver testing I sometimes do a stress test with > > while true; do ifconfig vio0 -inet; done & > while true; do ifconfig vio0 inet autoconf; done & > while true; do ifconfig vio0 -inet6; done & > while true; do ifconfig vio0 inet6 autoconf; done & > while true; do ifconfig vio0 down; done & > while true; do ifconfig vio0 up; done & > > After I stop these jobs, "ifconfig vio0 autoconf" does not work any more > because dhcpleased has died: > > Sep 4 14:20:39 oatest dhcpleased[19462]: bpf_send_packet: writev: Network is > down > Sep 4 14:20:39 oatest dhcpleased[19462]: bpf_send_packet: writev: Network is > down > Sep 4 14:20:39 oatest dhcpleased[19462]: bpf_send_packet: writev: Network is > down > Sep 4 14:20:39 oatest dhcpleased[19462]: bpf_send_packet: writev: Network is > down > Sep 4 14:20:40 oatest dhcpleased[19462]: bpf_send_packet: writev: Network is > down > Sep 4 14:20:40 oatest dhcpleased[80648]: fatal in main: msgbuf_write: Broken > pipe > > This is obviously not a severe bug, but slaacd survives the stress test. > Maybe dhcpleased could improve its error handling, too? > > Cheers, > Stefan > -- In my defence, I have been left unsupervised.