http://bugs.winehq.org/show_bug.cgi?id=59194 --- Comment #4 from Fredrik Tolf <fredrik@dolda2000.com> --- Digging around in the OpenJDK sources indicates that the Java-side code gets an unexpected Java null value back from the native function that tries to fetch the local name for the Unix-domain socket in question. This function lives in "src/java.base/windows/native/libnio/ch/UnixDomainSockets.c", and looks thus: jbyteArray sockaddrToUnixAddressBytes(JNIEnv *env, struct sockaddr_un *sa, socklen_t len) { if (sa->sun_family == AF_UNIX) { int namelen = (int)strlen(sa->sun_path); jbyteArray name = (*env)->NewByteArray(env, namelen); if (name != NULL) { (*env)->SetByteArrayRegion(env, name, 0, namelen, (jbyte*)sa->sun_path); if ((*env)->ExceptionCheck(env)) { return NULL; } } return name; } return NULL; } JNIEXPORT jbyteArray JNICALL Java_sun_nio_ch_UnixDomainSockets_localAddress0(JNIEnv *env, jclass clazz, jobject fdo) { struct sockaddr_un sa; int sa_len = sizeof(sa); if (getsockname(fdval(env, fdo), (struct sockaddr *)&sa, &sa_len) == SOCKET_ERROR) { JNU_ThrowIOExceptionWithLastError(env, "getsockname"); return NULL; } return sockaddrToUnixAddressBytes(env, &sa, sa_len); } So my interpretation here is that Wine's getsockname() returns a sockaddr that doesn't have AF_UNIX for its address family. Different values for AF_UNIX/AF_LOCAL, or is sun_family perhaps mistakenly just not filled in it all? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.