> On 3. Apr 2024, at 19:46, Sad Clouds <cryintotheblue...@gmail.com> wrote: > > On Wed, 3 Apr 2024 17:28:52 +0200 > Michael Tuexen <michael.tue...@lurchi.franken.de> wrote: > >>> On 3. Apr 2024, at 15:44, Sad Clouds <cryintotheblue...@gmail.com> wrote: >>> >>> I found a bug that is still open from May 2010 and describes the same >>> behaviour that I see with my application: >>> >>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=146845 >>> >>> If this hasn't been fixed over the last 14 years, then I guess I will >>> add some code to simply ignore ECONNRESET on close(2) for FreeBSD and >>> MacOS. This seems the be the general advice from other people who hit >>> this issue. >> I'll bring this up on the bi-weekly FreeBSD transport call. >> >> Best regards >> Michael >>> >> > > Hello, I've attached a test program, this easily reproduces the issue > on Raspberry Pi 4 within a few seconds of running it. > > Server output: > $ ./econnreset server > Server: accept() > Server: shutdown() > Server: close() > ... > Server: accept() > Server: shutdown() > Server: close() > close() failed, error=Connection reset by peer > > > Client output (aborts when server exists due to close() failure): > $ while true; do ./econnreset client || break; done > Client: connect() > Client: shutdown() > Client: close() > ... > Client: connect() > Assertion failed: (int_val == 0), function client, file econnreset.c, > line 156. Abort trap (core dumped) > <econnreset.c> I can reproduce this locally.
Best regards Michael