> From: Gisle Vanem <[email protected]> > Date: Thu, 13 Oct 2016 22:42:03 +0200 > > I think I've mentioned earlier; the troubles with strerror() > returning "Unknown error" for seemingly common 'errno' values. > > I hit me today, when connection to my ftp-hosting service. From > the Wsock-trace [1] of connect(): > > * 49.163 sec: f:/MingW32/src/gnu/gnulib/lib/connect.c(43) (rpl_connect+64): > connect (620, 46.30.213.77:21, fam AF_INET) --> WSAETIMEDOUT (10060). > > failed: Unknown error. > > I put some trace-code in Wget's connect.c and do see 'errno' is 138. > Which is ETIMEDOUT as defined by Gnulib's <errno.h>. But I fail to > understand why Gnulib's strerror(138) is incapable of handling it. > > Looking at Gnulib's strerror-override.c, I see it should return > "Connection timed out" there. But it doesn't. Any pointers?
Didn't we already have a similar discussion? I think you told about some connect attempt that times out, but the error message doesn't mention timeout? And I tried that with my MinGW-compiled Wget, and couldn't reproduce the problem, because my Wget did report "Connection timed out"? My guess is that for some reason Wget calls the MS-Windows strerror, not its Gnulib replacement. But that's a guess, and I don't know how to explain it. Perhaps put a breakpoint both at the Gnulib strerror and the MS runtime one, and see what happens in your scenario. Failing that, if you can show a recipe for reproducing this, including a URL to use, I could see what happens on my system, and maybe we will see the light.
