Your message dated Sat, 07 Jul 2007 22:47:03 +0000 with message-id <[EMAIL PROTECTED]> and subject line Bug#429021: fixed in glibc 2.6-1 has caused the attached Bug report 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 I am talking about this indicates a serious mail system misconfiguration somewhere. Please contact me immediately.) Debian bug tracking system administrator (administrator, Debian Bugs database)
--- Begin Message ---Package: libc6 Version: 2.3.6.ds1-13 Severity: important fputs (and probably other FILE based output functions) can lose previously written data that were accumulated in the user space buffer when a signal arrives. Here is an example that demonstrates the problem: # cat t.c //////////////////////////////////////// #include <stdio.h> #include <signal.h> #include <unistd.h> #include <string.h> #include <errno.h> #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> void handler(int sig) { char buffer[80]; snprintf(buffer, sizeof(buffer), "signal handler called, sig=%d\n", sig); write(2, buffer, strlen(buffer)); } static int main_pid; #define MYSIGNUM SIGINT int reader(int fd) { char buffer[1024]; ssize_t count; size_t num_bytes, num_lines; sleep (1); kill (main_pid, MYSIGNUM); sleep (1); num_bytes = num_lines = 0; while ((count = read(fd, buffer, sizeof(buffer))) > 0) { char* p; for (p=buffer; p!=buffer+count; p++) if (*p =='\n') num_lines++; num_bytes += count; } if (count < 0) { perror ("read"); return 1; } printf ("reader: num_bytes=%d num_lines=%d\n", num_bytes, num_lines); if (num_bytes != 8*10000) { printf ("reader: number of missing bytes: %d\n", 80000 - num_bytes); return 1; } close(fd); return 0; } int writer(int fd) { int i; size_t num_bytes, num_lines; FILE* f = fdopen(fd, "w"); if (f == NULL) { perror ("fdopen"); return 1; } num_bytes = num_lines = 0; for (i=0; i<10001; i++) if (fputs ("test...\n", f) == EOF) { printf ("error at num_bytes=%d\n", num_bytes); perror("fputs"); } else { num_bytes += 8; num_lines ++; } if (fclose(f) == EOF) { perror("fclose"); return 1; } printf ("writer: num_bytes=%d num_lines=%d\n", num_bytes, num_lines); if (num_bytes != 8*10000) { printf ("writer: expected num_bytes=80000 but was %d\n", num_bytes); return 1; } return 0; } int main() { struct sigaction sa; int filedes[2]; pid_t pid; int ret; main_pid = getpid(); sa.sa_handler = handler; sigemptyset(&sa.sa_mask); sa.sa_flags = 0; sigaction(MYSIGNUM, &sa, NULL); if (pipe(filedes)) { perror("pipe"); return 1; } pid=fork(); if (pid == -1) { perror("fork"); return 1; } if (pid==0) { close(filedes[1]); return reader(filedes[0]); } else { int status; close(filedes[0]); ret = writer(filedes[1]); wait(&status); return (ret==0 && status==0) ? 0 : 1; } } //////////////////////////////////////// # gcc -W -Wall t.c -o t && ./t signal handler called, sig=2 error at num_bytes=69632 fputs: Interrupted system call writer: num_bytes=80000 num_lines=10000 reader: num_bytes=75904 num_lines=9488 reader: number of missing bytes: 4096 -- System Information: Debian Release: 4.0 APT prefers stable APT policy: (500, 'stable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-4-k7 Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8) Versions of packages libc6 depends on: ii tzdata 2007b-1 Time Zone and Daylight Saving Time libc6 recommends no packages. -- no debconf information
--- End Message ---
--- Begin Message ---Source: glibc Source-Version: 2.6-1 We believe that the bug you reported is fixed in the latest version of glibc, which is due to be installed in the Debian FTP archive: glibc-doc_2.6-1_all.deb to pool/main/g/glibc/glibc-doc_2.6-1_all.deb glibc_2.6-1.diff.gz to pool/main/g/glibc/glibc_2.6-1.diff.gz glibc_2.6-1.dsc to pool/main/g/glibc/glibc_2.6-1.dsc locales_2.6-1_all.deb to pool/main/g/glibc/locales_2.6-1_all.deb 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 [EMAIL PROTECTED], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Clint Adams <[EMAIL PROTECTED]> (supplier of updated glibc 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 [EMAIL PROTECTED]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.7 Date: Sat, 07 Jul 2007 09:43:02 -0400 Source: glibc Binary: libc0.1-prof libc6-dev-amd64 locales-all libc6-i686 libc6-dev-ppc64 libc0.3-pic glibc-doc libc0.3 libc6-dev-mipsn32 libc0.1-i686 libc0.1-i386 libc6-mips64 libc6.1-dev libc6-s390x libnss-files-udeb libc0.1-dev-i386 libc6-dev-sparc64 libc6-i386 libc0.3-dev libc6-udeb libc6-dbg libc6.1-pic libc6-dev libc0.3-prof libc6-sparcv9 libc0.1-udeb libc6-dev-i386 libc6.1-prof libc6-mipsn32 libc0.1-dev locales libc6-pic libc0.3-udeb libc6-dev-powerpc libc0.1-pic libc6-ppc64 libc0.3-dbg libc0.1-dbg libc6-amd64 libc0.1 libc6-prof libc6-xen libc6-dev-mips64 libc6-powerpc libc6 libc6-sparcv9b libc6.1-udeb libc6.1-dbg nscd libc6-sparc64 libnss-dns-udeb libc6.1 libc6-dev-s390x Architecture: source all Version: 2.6-1 Distribution: unstable Urgency: low Maintainer: GNU Libc Maintainers <[EMAIL PROTECTED]> Changed-By: Clint Adams <[EMAIL PROTECTED]> Description: glibc-doc - GNU C Library: Documentation libc6 - GNU C Library: Shared libraries libc6-dbg - GNU C Library: Libraries with debugging symbols libc6-dev - GNU C Library: Development Libraries and Header Files libc6-dev-i386 - GNU C Library: 32bit development libraries for AMD64 libc6-i386 - GNU C Library: 32bit shared libraries for AMD64 libc6-pic - GNU C Library: PIC archive library libc6-prof - GNU C Library: Profiling Libraries libc6-udeb - GNU C Library: Shared libraries - udeb (udeb) libnss-dns-udeb - GNU C Library: NSS helper for DNS - udeb (udeb) libnss-files-udeb - GNU C Library: NSS helper for files - udeb (udeb) locales - GNU C Library: National Language (locale) data [support] locales-all - GNU C Library: Precompiled locale data nscd - GNU C Library: Name Service Cache Daemon Closes: 428884 429021 431365 Changes: glibc (2.6-1) unstable; urgency=low . [ Pierre Habouzit ] [ Clint Adams] * New upstream version. - Remove locale/iso3166-RS.diff (obsolete). - Remove locale/fix-exhausted-memory.diff (merged upstream). - Update locale/LC_COLLATE-keywords-ordering.diff. - Remove localedata/locale-hy_AM.diff (obsolete). - Remove localedata/locale-pl_PL.diff (merged upstream). - Remove localedata/locales-sr.diff (obsolete). - Update localedata/tailor-iso14651_t1.diff. - Update localedata/first_weekday.diff. - Remove alpha/cvs-cfi.diff (merged upstream). - Remove arm/cvs-check_pf.c (merged upstream). - Remove hppa/cvs-hppa-update.diff (obsolete). - Update hppa/submitted-nptl-carlos.diff from "upstream". - Remove hppa/submitted-nptl-carlos2.diff (merged upstream). - Remove hppa/local-r19use.diff (merged upstream). - Remove hurd-i386/cvs-futimes.diff (merged upstream). - Remove m68k/cvs-m68k-update.diff (obsolete). - Update m68k/local-mathinline_h.diff. - Remove mips/cvs-ldsodefs_h.diff (merged upstream). - Remove mips/submitted-msq.diff (merged upstream). - Remove all/cvs-iconv-E13B.diff (obsolete). - Remove all/submitted-new-brf-encoding.diff (merged upstream). - Remove any/cvs-2.5-branch-update.diff (obsolete). - Remove any/cvs-pow.diff (obsolete). - Remove any/cvs-printf_fp-c.diff (obsolete). - Remove any/cvs-ftw-c.diff (obsolete). - Remove any/cvs-bits_in_h-ipv6.diff (obsolete). - Remove any/cvs-itoa-c.diff (obsolete). - Remove any/cvs-lt-update.diff (obsolete). - Remove any/cvs-realpath.diff (obsolete). - Remove any/cvs-vfprintf-stack-smashing.diff (obsolete). - Remove any/cvs-zdump-64-bit.diff (obsolete). - Update any/local-ldso-disable-hwcap.diff. - Remove any/submitted-gethostbyname_r.diff (obsolete). - Remove any/submitted-iconv-colon.diff (merged upstream). - Update any/submitted-strfry.diff. - Remove any/submitted-unistd_XOPEN_VERSION.diff (obsolete). - Remove any/cvs-glob-c.diff (obsolete). - Remove any/cvs-scanf_hexfloat.diff (obsolete). - Remove alpha/submitted-sigsuspend.diff (merged upstream). - Remove arm/cvs-procinfo-eabi.diff (obsolete). * debian/sysdeps/depflags.pl: Clean out relationships for packages that do not exist in sarge or later. * debian/debhelper.in/libc.install: do not hardcode the glibc version number in the path to gai.conf. * debian/control.in/main, debian/sysdeps/depflags.pl: use linux-libc-dev on all linux architectures, and remove all references to linux-kernel-headers. * Bump shlibdeps version to 2.6-1 due to sync_file_range, futimens, utimensat, __sched_cpucount, sched_getcpu, strerror_l, and epoll_pwait symbols. * debian/rules.d/build.mk: pass --enable-profile to configure. . [ Aurelien Jarno ] * patches/sparc/local-undefined-registers.diff: new file to ignore global registers while looking for undefined symbols. * debian/script.in/kernelcheck.sh: add a warning for FreeBSD kernels 5.X. * local/etc_init.d/glibc.sh, debhelper.in/libc.preinst: don't check for linux kernel, it is now done in script.in/kernelcheck.sh. * patches/any/cvs-malloc.diff: new patch from upstream to fix malloc ABI. * patches/any/local-linuxthreads-lowlevellock.diff: new patch to support low level locking on linuxthreads. * patches/any/local-linuxthreads-fatalprepare.diff: new patch to support FATAL_PREPARE on linuxthreads, by not using __libc_pthread_functions_init and PTHFCT_CALL. * patches/hppa/local-linuxthreads.diff: new patch to get glibc buildable on hppa with linuxthreads. * patches/arm/submitted-RTLD_SINGLE_THREAD_P.diff: fix a missing #defined on arm. * patches/localedata/submitted-as_IN.diff: new patch to fix a not anymore unassigned unicode code. * locales-depver: tighten locales dependencies. * debian/sysdeps/linux.mk, debian/script.in/kernelcheck.sh: bump minimum kernel requirement to 2.6.8. * debian/rules, debian/rules.d/build.mk, debian/sysdeps/*.mk: also defines CXX as g++ is used in the testsuite. . [ Petr Salinger] * kfreebsd/local-sysdeps.diff: update to revision 1949 (from glibc-bsd). * any/local-linuxthreads-defines.diff: new patch to restore a few defines in config.make.in still needed by linuxthreads. * patches/local-tst-mktime2.diff: fix time/tst-mktime2.c. . [ Pierre Habouzit ] * kernelchecks.sh: Make the warning about kernel 2.6 more explicit so that people can deal with it without adding yet-another critical bug on the glibc. * kernelchecks.sh: add some quotes to unconfuse syntax hilighting a bit. * nscd.init: ksh is confused if you call functions start or stop. Closes: 428884. * patches/locale/preprocessor-collate.diff: update it to work (with restrictions) with depth >= 2 copies. The patch is scurvy and make locale parsing completely non reentrant. * debian/control: ${Source-Version} -> ${binary:Version}. * debian/debhelper.in/nscd.lintian: yes, /var/db for lintian is ok. * patches/any/submitted-fileops-and-signals.diff: fixes libio file operations in presence of recoverable errors. Closes: 429021. * patches/localedata/fix-am_ET.diff: fix am_ET using our preprocessor extensions. . [ Samuel Thibault ] * Remove patches/hurd-i386/cvs-getsid.diff (merged upstream). * patches/hurd-i386/submitted-ioctl-unsigned-size_t.diff: new patch to fix some packages that use unsigned or size_t in ioctls. Closes: 431365. Files: 346951849e66cca3a5914cf911c03ed2 2309 libs required glibc_2.6-1.dsc 5bebc866c6c09210f397cd2d8c90ef86 659757 libs required glibc_2.6-1.diff.gz 14173ca503a4640aa3bc47f76fdb721a 1628578 doc optional glibc-doc_2.6-1_all.deb 93c21834fcf3363125fd363e35866a84 4374384 libs standard locales_2.6-1_all.deb Package-Type: udeb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Debian! iD8DBQFGkBUr5m0u66uWM3ARAml0AJsEoWwsfkv18AOTLYN+EuMdWwiTngCfcT0B wb2Uo8fAFEiev5+5PwPBBiE= =IlBp -----END PGP SIGNATURE-----
--- End Message ---

