On May 8 10:32, Kristian Ivarsson via Cygwin wrote: > Hi all > > Have anyone experienced getting ECONNABORTED and ECONNRESET on local TCP > socket when using recv() ? > > > We have a fairly complex application where it, amongst others, spawns child > processes (using posix_spawnp) > > This is a simplified scenario > > - parent performs socket() + bind() + listen() to localhost > - parent spawns a client-child process > - client-child is doing socket() + connect() to localhost > - client-child is doing send() > - client-child is doing recv() and getting ECONNRESET > > - parent performs accept() > - parent spawns a server-child process > - server-child is doing recv() and getting ECONNABORTED > > > According to strace, both of these errors originates from > fhandler_socket_inet::recv_internal() (in my version it says line 1221)
The errors are generated by the called Windows function WSARecvFrom. We'd need a reproducible testcase for this to allow debugging. > Maybe there's some defect in our application (there's a lot of other fuzz > going on as well), but it works in several Linux-implementations but this > error is deterministically occurring using CYGWIN > > > I've searched mail archives but I cannot really find any explanation or > cause > > Does anyone have any knowledge about this ? > > > > Best regards > Kristian > > p.s. > strace -f works in the opposite way as in most Linux-implementation btw > (as far as I understand) It's a toggle, multiple -f on the cli will switch it multiple times. The fact that the default is to follow forks is pretty old, commit f69af9b3d2352 from 2002. Corinna -- Corinna Vinschen Cygwin Maintainer -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple