Your message dated Sun, 09 Nov 2014 11:21:42 +0000 with message-id <E1XnQYw-0005gY-8X@franck.debian.org> and subject line Bug#752237: fixed in hurd 1:0.5.git20141108-1 has caused the Debian Bug report #752237, regarding libc0.3: send() asked to transmit 0 chars still triggers recv() on Hurd to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org immediately.) -- 752237: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752237 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: libc0.3: send() asked to transmit 0 chars still triggers recv() on Hurd
- From: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
- Date: Sat, 21 Jun 2014 15:56:46 +0200
- Message-id: <53A58F1E.8020902@googlemail.com>
Package: libc0.3 Version: 2.19-3 Severity: normal X-Debbugs-CC: debian-hurd@lists.debian.org Dear Maintainer, it seems send() on Hurd doesn't work like it does everywhere else. Attached is a simple test case.To reproduce the problem, execute make in a folder with the attached client.c, server.c and Makefile.Then run ./server, open another terminal and run ./client. The usual output is: $ ./server Message: 'TEST' $ ./client Socket works. Answer: 'ANSWER' But on Hurd one gets: $ ./server Message: '' $ ./client Socket works. Answer: 'ANSWER' This is because the client is calling: send(sockfd, "", 0, 0)Normally this doesn't trigger recv() in the server and thus can be used to test, whether the socket is working. But on Hurd it actually sends an empty message, so that the real message, which is sent later, is not received.As a workaround, one can comment out this test, which is done in the server, so that the ANSWER reaches the client.This should be handled on Hurd in the same way as on other platforms.I noticed this bug, because it breaks the communication between clamd and clamdscan on Hurd, thus leading to test failures and ultimately a FTBFS.Best regards, Andreas -- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: hurd-i386 (i686-AT386) Kernel: GNU-Mach 1.4-486/Hurd-0.5 Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Shell: /bin/sh linked to /bin/dash Versions of packages libc0.3 depends on: ii hurd-libs0.3 1:0.5.git20140526-2 ii libgcc1 1:4.9.0-7 Versions of packages libc0.3 recommends: pn libc0.3-i686 <none> Versions of packages libc0.3 suggests: ii debconf [debconf-2.0] 1.5.53 pn glibc-doc <none>#include <errno.h> #include <stdio.h> #include <sys/socket.h> #include <sys/un.h> #include <sys/unistd.h> char sock_name[] = "TEST.ctl"; int connect_socket() { struct sockaddr_un server; int sockfd; memset(&server, 0, sizeof(server)); server.sun_family = AF_UNIX; strncpy(server.sun_path, sock_name, sizeof(server.sun_path)); server.sun_path[sizeof(server.sun_path) - 1] = '\0'; sockfd = socket(AF_UNIX, SOCK_STREAM, 0); if (sockfd < 0) { printf("Can't create socket %s: %s\n", sock_name, strerror(errno)); return -1; } if (connect(sockfd, (struct sockaddr *) &server, sizeof(struct sockaddr_un)) < 0) { printf("Can't connect to socket %s: %s\n", sock_name, strerror(errno)); close(sockfd); return -2; } return sockfd; } int main() { char buff[20]; int sockfd = connect_socket(); if (sockfd < 0) { return sockfd; } if (send(sockfd, "", 0, 0) < 0) { printf("Socket not working: %s\n", strerror(errno)); } else { printf("Socket works.\n"); } if (send(sockfd, "TEST", 4, 0) < 0) { printf("Could not write to socket: %s\n", strerror(errno)); close(sockfd); return 1; } memset(buff, 0, sizeof (buff)); if (recv(sockfd, buff, sizeof (buff), 0) < 0) { printf("Error receiving answer: %s\n", strerror(errno)); close(sockfd); return 2; } printf("Answer: '%s'\n", buff); close(sockfd); return 0; }#! /usr/bin/make -f CC ?= gcc CFLAGS ?= -g -pedantic -Wall -Wextra all: server client %: $(CC) $(CFLAGS) $@.c -o $@#include <errno.h> #include <stdio.h> #include <sys/socket.h> #include <sys/un.h> #include <sys/unistd.h> char sock_name[] = "TEST.ctl"; int create_socket() { struct sockaddr_un server; int sockfd; memset(&server, 0, sizeof(server)); server.sun_family = AF_UNIX; strncpy(server.sun_path, sock_name, sizeof(server.sun_path)); server.sun_path[sizeof(server.sun_path) - 1] = '\0'; sockfd = socket(AF_UNIX, SOCK_STREAM, 0); if (sockfd < 0) { printf("Can't create socket %s: %s\n", sock_name, strerror(errno)); return -1; } if (bind(sockfd, (struct sockaddr *) &server, sizeof(struct sockaddr_un)) < 0) { printf("Socket file %s could not be bound: %s\n", server.sun_path, strerror(errno)); close(sockfd); return -2; } if (listen(sockfd, 20) < 0) { printf("listen() error: %s\n", strerror(errno)); close(sockfd); return -3; } return sockfd; } int main() { int ret, con; char buff[20]; int sockfd = create_socket(); if (sockfd < 0) { return sockfd; } con = accept(sockfd, 0, 0); memset(buff, 0, sizeof(buff)); if (recv(con, buff, sizeof (buff), 0) >= 0) { printf("Message: '%s'\n", buff); } /* if (write(con, "", 0) < 0) { printf("Socket not working: %s\n", strerror(errno)); return 1; } else { printf("Socket works.\n"); } */ if (write(con, "ANSWER", 6) < 0) { printf("Could not write to socket: %s\n", strerror(errno)); ret = 2; } close(con); if (unlink(sock_name) == -1) { printf("Socket file %s could not be removed: %s\n", sock_name, strerror(errno)); ret = 3; } close(sockfd); return ret; }
--- End Message ---
--- Begin Message ---
- To: 752237-close@bugs.debian.org
- Subject: Bug#752237: fixed in hurd 1:0.5.git20141108-1
- From: Samuel Thibault <sthibault@debian.org>
- Date: Sun, 09 Nov 2014 11:21:42 +0000
- Message-id: <E1XnQYw-0005gY-8X@franck.debian.org>
Source: hurd Source-Version: 1:0.5.git20141108-1 We believe that the bug you reported is fixed in the latest version of hurd, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 752237@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Samuel Thibault <sthibault@debian.org> (supplier of updated hurd package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmaster@ftp-master.debian.org) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 1.8 Date: Sun, 09 Nov 2014 02:22:38 +0000 Source: hurd Binary: hurd-libs0.3 hurd hurd-dev hurd-dbg hurd-doc hurd-libs0.3-udeb hurd-udeb Architecture: source hurd-i386 all Version: 1:0.5.git20141108-1 Distribution: unstable Urgency: medium Maintainer: GNU Hurd Maintainers <debian-hurd@lists.debian.org> Changed-By: Samuel Thibault <sthibault@debian.org> Description: hurd - GNU Hurd hurd-dbg - GNU Hurd (debugging files) hurd-dev - GNU Hurd (development files) hurd-doc - GNU Hurd manual hurd-libs0.3 - GNU Hurd (libraries) hurd-libs0.3-udeb - GNU Hurd (libraries) - udeb (udeb) hurd-udeb - GNU Hurd - udeb (udeb) Closes: 752237 Changes: hurd (1:0.5.git20141108-1) unstable; urgency=medium . * New upstream snapshot. - Fix random translator crash during heimdal testsuite. - patches/newRPC.patch: Update. - patches/git-R-protected-payloads.patch: Revert upstream commit, breaks mach-defpager startup. - Closes: #752237 Checksums-Sha1: 7547ada5d4186bc028e3c8980d84b9d1d566cb5c 4996 hurd_0.5.git20141108-1.dsc b4af03311984b25c2fe1bfce971e7d043c0ff2be 5013 hurd_0.5.git20141108.orig-devnode.tar.bz2 d8a6ede167c993127a2ab41b480ab99a8b948f1c 18087 hurd_0.5.git20141108.orig-eth-filter.tar.bz2 81b8299c1d649e3783eac86b6545e703161fdc57 16710 hurd_0.5.git20141108.orig-eth-multiplexer.tar.bz2 721729550de2632761aa18a83ea7f6ab77d8e9ab 10442 hurd_0.5.git20141108.orig-libbpf.tar.bz2 68023c1e003d0df0805d160883be17cb82a9c815 3331744 hurd_0.5.git20141108.orig-libdde-linux26.tar.bz2 aee8a0844ee66cda6da5378dd6d08ccd52c73fff 20120 hurd_0.5.git20141108.orig-libddekit.tar.bz2 c31651ca858fdd2fd6f8e9fc7e4adef7bad20e0a 6814 hurd_0.5.git20141108.orig-libhurd-slab.tar.bz2 c080e7a6747dab7ac4f5e7ecab6883de56df6aac 22456 hurd_0.5.git20141108.orig-libmachdev.tar.bz2 c073a296eece8e7d6605fd7d164832ee392241f1 2009753 hurd_0.5.git20141108.orig.tar.bz2 92e2e60b971f23bc7f21810e77fdbff4c805ca99 105395 hurd_0.5.git20141108-1.debian.tar.bz2 993eda8d1828b16b7e150e62f43e6be7c18961b6 262082 hurd-libs0.3_0.5.git20141108-1_hurd-i386.deb 7d8b6720fef64e323081b40e4847aa3e61799173 1406680 hurd_0.5.git20141108-1_hurd-i386.deb a48a5e3b61297f8684bf1926571ace5c620c2cb7 3176362 hurd-dev_0.5.git20141108-1_hurd-i386.deb 215b783f1eb78a6dd23383dee99a34cf13177a61 3127478 hurd-dbg_0.5.git20141108-1_hurd-i386.deb 57472720edb155de4ac99b14dba0e7807d396a39 164196 hurd-doc_0.5.git20141108-1_all.deb a1e472009c88b8a301d9d86b8e432b442551d108 240464 hurd-libs0.3-udeb_0.5.git20141108-1_hurd-i386.udeb 2293dbea8a27b3ff3bae0443d509c4d7653b9b94 1430612 hurd-udeb_0.5.git20141108-1_hurd-i386.udeb Checksums-Sha256: 65da494aad0a9cfffe36b14ff62652f834df385c29157d8020b00c2d48463cae 4996 hurd_0.5.git20141108-1.dsc 18fdfbf158baf6e8339a64dd8a8c1f6fe5a8306a2fd8ed54006741050896cddb 5013 hurd_0.5.git20141108.orig-devnode.tar.bz2 3c933031646ca85057b63d3c11c4fdd5183df438d6b64c01df80edd21feb2acd 18087 hurd_0.5.git20141108.orig-eth-filter.tar.bz2 e055f7cea2c982c722d134c79c6d8174b4eda384d2c2ce4b2440951b6c5a3ca3 16710 hurd_0.5.git20141108.orig-eth-multiplexer.tar.bz2 f7c5fb2f465ee79f04977acbbd46a5774f24a0e3abf35d0f8991ee77829372ce 10442 hurd_0.5.git20141108.orig-libbpf.tar.bz2 92fa729b77b457eef0cbe6e6817c27853e4522a4ed2ce8242c4e01bb6892221e 3331744 hurd_0.5.git20141108.orig-libdde-linux26.tar.bz2 f95eb42c17c2cd833f615b73b6d739b4e23bbe9bbcd1783b116acd2932d889c4 20120 hurd_0.5.git20141108.orig-libddekit.tar.bz2 c845d642d39c087a6877cb1705388da31042bccb9b5346ea33251eaa4f4fe4f9 6814 hurd_0.5.git20141108.orig-libhurd-slab.tar.bz2 a5210678b858c2504ceb71385b2415e8bb4501e87e7d841386d603ab0c8f4b90 22456 hurd_0.5.git20141108.orig-libmachdev.tar.bz2 bca9b1bef191c82509c93bfe036c31f10f6c5c1e2b19677c871e5eb14ed38e98 2009753 hurd_0.5.git20141108.orig.tar.bz2 17daad24896c6425557c9593e6755887a1635c1331ba8381bc5c949d0a13549e 105395 hurd_0.5.git20141108-1.debian.tar.bz2 99ceb6e585422e127596beec6bb642606bdc05d8ebbf92a572728cf39f0c10e3 262082 hurd-libs0.3_0.5.git20141108-1_hurd-i386.deb ea75c9fb5b43f3a8709c6a4ac8964d339126695d299de9a2f3bda33611ec35f3 1406680 hurd_0.5.git20141108-1_hurd-i386.deb 2b2fde8312e4dc19631b5fb917f83f5188ed646ab05ef0c7a206b945e89f986c 3176362 hurd-dev_0.5.git20141108-1_hurd-i386.deb 477130c744f2362957a9aeb2c4aee1831c0b7f63f4a663f69e34b59ee5845db3 3127478 hurd-dbg_0.5.git20141108-1_hurd-i386.deb 938988d43a32890536f4052d86c6196efafd157ddb852332be20b3d5db8faa4d 164196 hurd-doc_0.5.git20141108-1_all.deb 16c2cc2da6c3b7917e25f74bba14eaf9aafedea2c328f03c28698d11aa4f7c20 240464 hurd-libs0.3-udeb_0.5.git20141108-1_hurd-i386.udeb 5bde2d51dc7c529d604fc63947ab5eddc82ad2a4b58b9bf39baf9e753e940604 1430612 hurd-udeb_0.5.git20141108-1_hurd-i386.udeb Files: 88abfb2cdb70920ecdf9b53db3a7b361 4996 admin required hurd_0.5.git20141108-1.dsc c64b0c1ba3da283995461c076f8c3c61 5013 admin required hurd_0.5.git20141108.orig-devnode.tar.bz2 b9c32dc1306e784a302a8cd1f8c804f3 18087 admin required hurd_0.5.git20141108.orig-eth-filter.tar.bz2 d4dedf80b2db7626c013ec1bc6f5db0c 16710 admin required hurd_0.5.git20141108.orig-eth-multiplexer.tar.bz2 61e7ad5b07a409981a7c11480b416a99 10442 admin required hurd_0.5.git20141108.orig-libbpf.tar.bz2 45c24133ac80fa08c2392b2184239196 3331744 admin required hurd_0.5.git20141108.orig-libdde-linux26.tar.bz2 a19e5983d2a85583a16347bb13f1abf5 20120 admin required hurd_0.5.git20141108.orig-libddekit.tar.bz2 707ab09d02f77fbc503a51d61d5aa249 6814 admin required hurd_0.5.git20141108.orig-libhurd-slab.tar.bz2 b16687b87864453a24c675ca8639c96a 22456 admin required hurd_0.5.git20141108.orig-libmachdev.tar.bz2 55f7949b92f97bc55b01a40363a51dfb 2009753 admin required hurd_0.5.git20141108.orig.tar.bz2 5f001b5346f555953b67149fb079e1d3 105395 admin required hurd_0.5.git20141108-1.debian.tar.bz2 1d4b923e422ec5d1972e1cc598d51227 262082 libs required hurd-libs0.3_0.5.git20141108-1_hurd-i386.deb 8b89e01469bdb281463a29e0beae1ae4 1406680 admin required hurd_0.5.git20141108-1_hurd-i386.deb 9c96ee9d5f74cc20a1fc8592cf410c02 3176362 libdevel standard hurd-dev_0.5.git20141108-1_hurd-i386.deb d826fb1643138cb28ff28e9cc808a3fb 3127478 debug extra hurd-dbg_0.5.git20141108-1_hurd-i386.deb aadacb2c0e1c37ab5d9a0d6e6b203415 164196 doc optional hurd-doc_0.5.git20141108-1_all.deb e545d64a4317040380d653d149a9f4e4 240464 debian-installer optional hurd-libs0.3-udeb_0.5.git20141108-1_hurd-i386.udeb 0bf15bc2d7588d1c1a22cd85a750d1cd 1430612 debian-installer optional hurd-udeb_0.5.git20141108-1_hurd-i386.udeb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCgAGBQJUX0H6AAoJEBH0lP5vGG7NeaoQAJugpYLHqgnsUBDDnEPhRKEB 2+uZurPDE5ln5H+yJQnn1oGsyahFdgS6BTN45Yp3pEmy1pBgd+CH01CdhsTrnkAr F64vZFdLl9HxeP3s1Hb6Ljajs1jOHx/F+nsFgP5UXVaXY7WoG4Mbf0bXAaIXRRYV 67nvwk7kNM5CdSIBndEPKe+EXcP9oRS+rkD4yblWTLlYjNmBQOAa3qX0wvWLK1/Z lFI6ECU8m2jj1lFVna+Mt6HlUXqelrRZN05WRS6MatL1mFPgQQ4nnMvl4FSy3pBs Y0k5i0AZ8xkToelRrgLqPbNo8lUebLS/LdlxsPXwB8I4QlcwMZ7jED0stB/UNVBH ZF/QBoYoWjl4GQf+KcwN7t1WOvNWEzFbgSQRuL00Dak/8fwOsATsmu2wCH2zoQT3 W6UCAnzE8wpZ+juEvSe5Szp+b4CCM//uuY9QIU5r82syxk9XUoBEc88UuOtmFLhE yqV8/ISGaSO0K95nZsvvYqlJ11aJ+7ADhgRxcZR8PIF9a/aOg93FGXbrKajfU3bp rD4bAIVWWBvR2VHwiPt6BkkBaVJA31GdAM+dboV2GahR7BMoUjj9O+9eaU1ztg+n cRb2FTIz7ezeDZQSuLEnE4b74t9Hr8MDgwshAow4oc+46Ao8l0NTb9aSgS/zGwg7 b34w1fVAzghA76vgaNj8 =sQMa -----END PGP SIGNATURE-----
--- End Message ---