On 2024-09-04 19:39 +02, Florian Obser <[email protected]> wrote:
> 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;
>
at the top of the loop are two breaks that also exit the loop and lead
to a return (0):
/* Terminate the loop if we have been asked to */
if (base->event_gotterm) {
base->event_gotterm = 0;
break;
}
if (base->event_break) {
base->event_break = 0;
break;
}
Still no idea how any of this can happen...
> On 2024-09-04 14:44 +02, Stefan Fritsch <[email protected]> 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.
>
--
In my defence, I have been left unsupervised.