http://bugs.winehq.org/show_bug.cgi?id=20368
Summary: sockaddr_in6 wrong size; causes chromium's net_unittests HostResolverImplTest.NumericIPv6Address test case to fail Product: Wine Version: 1.1.31 Platform: PC OS/Version: Linux Status: NEW Keywords: download, source, testcase Severity: normal Priority: P2 Component: winsock AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com
Running chromium's base_unittests.exe fails all over the place unless it can find the source tree, but even if you put the source tree where it wants it, it fails various tests. The first one in the list is HostResolverImplTest.NumericIPv6Address which fails with [11:71:1014/112257:84976129:FATAL:address_list.cc(76)] Check failed: sizeof(sockaddr_in6) == info->ai_addrlen (28 vs. 24)
Here's the failing bit of the testcase, extracted into a nearly plain C program:
#undef NDEBUG #include <ws2tcpip.h> #include <stdio.h> #include <assert.h> #pragma comment(lib, "ws2_32.lib") int main(int argc, char **argv) { WSADATA wsaData; int err; struct addrinfo *ai = NULL; struct addrinfo hints; err = WSAStartup(MAKEWORD(2, 2), &wsaData); assert(err == 0); ZeroMemory( &hints, sizeof(hints) ); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; hints.ai_protocol = IPPROTO_TCP; err = getaddrinfo("2001:db8::1", "10000", &hints, &ai); assert(err == 0); assert(ai->ai_addrlen == sizeof(struct sockaddr_in6)); freeaddrinfo(ai); WSACleanup(); return 0; } Compiled on Windows, this succeeds on Windows but fails on Wine.