[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#205665: marked as done (Backward binary compatbility broken with glibc 2.3.2)



Your message dated Tue, 26 Aug 2003 17:34:27 -0400
with message-id <E19rlSN-0002La-00@auric.debian.org>
and subject line Bug#206839: fixed in glibc 2.3.2-4
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)

--------------------------------------
Received: (at submit) by bugs.debian.org; 16 Aug 2003 00:08:25 +0000
>From rbass@netraverse.com Fri Aug 15 19:08:23 2003
Return-path: <rbass@netraverse.com>
Received: from netraverse.com [216.58.162.138] 
	by master.debian.org with esmtp (Exim 3.35 1 (Debian))
	id 19nocI-0004dL-00; Fri, 15 Aug 2003 19:08:22 -0500
Received: from [68.107.18.106] (account rbass HELO netraverse.com)
  by netraverse.com (CommuniGate Pro SMTP 4.0.5)
  with ESMTP-TLS id 881429; Fri, 15 Aug 2003 18:33:15 -0600
Message-ID: <[🔎] 3F3D75F4.5040706@netraverse.com>
Date: Fri, 15 Aug 2003 17:08:20 -0700
From: Richard Bass <rbass@netraverse.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030312
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: bug-glibc@gnu.org
CC: cooker@linux-mandrake.com,  submit@bugs.debian.org, 
 "(Win4Lin Users List)" <win4lin-users@netraverse.com>
Subject: Backward binary compatbility broken with glibc 2.3.2
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Delivered-To: submit@bugs.debian.org
X-Spam-Status: No, hits=-6.0 required=4.0
	tests=HAS_PACKAGE,USER_AGENT_MOZILLA_UA
	version=2.53-bugs.debian.org_2003_8_15
X-Spam-Level: 
X-Spam-Checker-Version: SpamAssassin 2.53-bugs.debian.org_2003_8_15 (1.174.2.15-2003-03-30-exp)

Package: glibc
Version: 2.3.2-2

(Sorry - the above mini-header was for the Debian bug tracking system).

To the glibc maintainers, et al:

I tried to access gnats at http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl
but there was no response, so I am emailing this bug report.

We have a chrooted build environment which we have been using over the
last couple of years that is based on the RedHat 5.2 distribution.  This
shipped with glibc-2.0.7-29 and gcc-2.7.2.3-14.  Programs we have built
in this environment have successfully run on virtually every Gnu/Linux
distribution we have ever come across.  Unfortunately, glibc 2.3.2 has
broken binary compatibility with these programs.  I include below
the source of a program which when compiled in this build environment,
dumps core when dynamically linked against glibc 2.3.2.  I have
experienced this on Debian SID and Mandrake 9.2 beta2, both of
which include versions of glibc 2.3.2.  Let me also mention that
all PRIOR versions of glibc have worked just fine, so something must
have gotten broken in 2.3.2.

Here's the program:
---------------------------------------------------
#include <stdio.h>

main()
{
         FILE *fp;

         fp = fopen("/etc/group", "r");
         if (fp == NULL) {
                 printf("Couldn't open /etc/group\n");
                 exit(1);
         }
         fseek(fp, 0L, 2);
         printf("Apparently no coredump\n");
         exit(0);
}

---------------------------------------------------

Note that /etc/group is just a random file that one expects to
be around and readable.  The fseek() is what dumps core.

I spent a little time debugging this using the debian glibc 2.3.2
sources.  The problem is that the fopen() that gets used is the
one in libio/oldiofopen.c.  This file defines _IO_USE_OLD_IO_FILE
so that the malloc() that is done in _IO_old_fopen() is for
an _IO_FILE structure that does not include the _IO_FILE_complete
elements, most specifically the _mode field.  However, the fseek()
that gets used ultimately gets into _IO_seekoff_unlocked() in
ioseekoff.c.  In this case the _IO_fwide() tests access the _mode
field which actually is an offset associated with a lock structure,
and, well, let's just say it doesn't go well.  _IO_have_wbackup()
dereferences the _wide_data field which is NULL and *pow* coredump.

I am not sure how all this is supposed to be handled, but I figure with
this much information, the glibc experts will know.

If it is inconvenient to dig up an old glibc to compile a test
program with, you can download one from
     ftp://ftp.netraverse.com/pub/glibc-bug
I would have provided one as an attachment, but I suspect attachments
are stripped from list email.

Oh... one other thing:  We have decided to update our build environment
to work around the problem.  However, I wanted to pass this on because I
am sure there are other binaries hanging around out there that people
have not recompiled in a long time.

Thanks,

Richard <rwb>

-- 
Richard W. Bass
Systems Software Architect
NeTraverse, Inc.


---------------------------------------
Received: (at 206839-close) by bugs.debian.org; 26 Aug 2003 21:38:04 +0000
>From katie@auric.debian.org Tue Aug 26 16:38:04 2003
Return-path: <katie@auric.debian.org>
Received: from auric.debian.org [206.246.226.45] 
	by master.debian.org with esmtp (Exim 3.35 1 (Debian))
	id 19rlVq-0001j7-00; Tue, 26 Aug 2003 16:38:03 -0500
Received: from katie by auric.debian.org with local (Exim 3.35 1 (Debian))
	id 19rlSN-0002La-00; Tue, 26 Aug 2003 17:34:27 -0400
From: Philip Blundell <pb@nexus.co.uk>
To: 206839-close@bugs.debian.org
X-Katie: $Revision: 1.35 $
Subject: Bug#206839: fixed in glibc 2.3.2-4
Message-Id: <E19rlSN-0002La-00@auric.debian.org>
Sender: Archive Administrator <katie@auric.debian.org>
Date: Tue, 26 Aug 2003 17:34:27 -0400
Delivered-To: 206839-close@bugs.debian.org

Source: glibc
Source-Version: 2.3.2-4

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.3.2-4_all.deb
  to pool/main/g/glibc/glibc-doc_2.3.2-4_all.deb
glibc_2.3.2-4.diff.gz
  to pool/main/g/glibc/glibc_2.3.2-4.diff.gz
glibc_2.3.2-4.dsc
  to pool/main/g/glibc/glibc_2.3.2-4.dsc
libc-udeb_2.3.2-4_i386.udeb
  to pool/main/g/glibc/libc-udeb_2.3.2-4_i386.udeb
libc6-dbg_2.3.2-4_i386.deb
  to pool/main/g/glibc/libc6-dbg_2.3.2-4_i386.deb
libc6-dev_2.3.2-4_i386.deb
  to pool/main/g/glibc/libc6-dev_2.3.2-4_i386.deb
libc6-pic_2.3.2-4_i386.deb
  to pool/main/g/glibc/libc6-pic_2.3.2-4_i386.deb
libc6-prof_2.3.2-4_i386.deb
  to pool/main/g/glibc/libc6-prof_2.3.2-4_i386.deb
libc6_2.3.2-4_i386.deb
  to pool/main/g/glibc/libc6_2.3.2-4_i386.deb
locales_2.3.2-4_all.deb
  to pool/main/g/glibc/locales_2.3.2-4_all.deb
nscd_2.3.2-4_i386.deb
  to pool/main/g/glibc/nscd_2.3.2-4_i386.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 206839@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Philip Blundell <pb@nexus.co.uk> (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 ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Tue, 26 Aug 2003 17:27:00 +0100
Source: glibc
Binary: libc6.1-prof libc1 libc0.3-pic locales glibc-doc libc6-pic libc-udeb libc1-prof libc0.3 libc0.3-dbg libc6.1-dev libc1-pic libc6-s390x libc6-prof libc1-dbg libc6-dev-sparc64 libc6 libc0.3-dev libc6-dbg nscd libc6.1-dbg libc6.1-pic libc6-sparc64 libc6-dev libc0.3-prof libc6.1 libc6-dev-s390x libc1-dev
Architecture: source i386 all
Version: 2.3.2-4
Distribution: unstable
Urgency: low
Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Changed-By: Philip Blundell <pb@nexus.co.uk>
Description: 
 glibc-doc  - GNU C Library: Documentation
 libc-udeb  - GNU C Library: Shared libraries and Timezone data - udeb (udeb)
 libc6      - GNU C Library: Shared libraries and Timezone data
 libc6-dbg  - GNU C Library: Libraries with debugging symbols
 libc6-dev  - GNU C Library: Development Libraries and Header Files.
 libc6-pic  - GNU C Library: PIC archive library
 libc6-prof - GNU C Library: Profiling Libraries.
 locales    - GNU C Library: National Language (locale) data [support]
 nscd       - GNU C Library: Name Service Cache Daemon
Closes: 202243 204728 205110 206464 206783 206839 206895
Changes: 
 glibc (2.3.2-4) unstable; urgency=low
 .
   * Jeff Bailey <jbailey@nisa.net>
     - debian/locales/DEBIAN/postinst: Use tail -n 1 instead of tail -1.
       Thanks to Jurij Smakov (Closes: #206464)
 .
   * Phil Blundell <pb@debian.org>
     - debian/patches/glibc23-arm-waitpid.dpatch: deleted.
     - for arm, Build-Depend on kernel-headers 2.4.19-4 or newer.
       (Closes: #206895)
     - debian/patches/revert-old-libio.dpatch: back out changes causing
       problems with fseek in binaries linked with glibc 2.0.
       (Closes: #206839)
     - debian/libc/DEBIAN/postinst: also restart cucipop (Closes: #206783)
     - debian/patches/arm-output-format.dpatch: Very bad hack to avoid
       problem with libc.so on ARM until a proper fix is forthcoming.
     - debian/patches/81_glibc232-utimes-fix.dpatch: replace with version
       that applies cleanly to current sources.
     - debian/control: require sed 4.0.5-4 or later.
 .
   * GOTO Masanori <gotom@debian.org>
 .
     - debian/po/es.po: Updated Spanish (es) debconf template.
       Patched by Carlos Valdivia Yagüe <valyag@dat.etsit.upm.es>.
     - debian/patches/81_glibc232-utimes-fix.dpatch: Fix utimes wrong time
       calculation.  Patched by Paul Eggert <eggert@CS.UCLA.EDU>.
       (Closes: #204728, #202243, #205110)
Files: 
 bf67d6d312907bb95ef5d7628d9a7336 1571 libs required glibc_2.3.2-4.dsc
 3596e4ac126820e32670cd764c669b9f 1161672 libs required glibc_2.3.2-4.diff.gz
 eab00d5074fa7920746f582c425c30eb 3599350 base required libc6_2.3.2-4_i386.deb
 9a0f06d585b253b59dac1bbc2a762290 1028264 debian-installer required libc-udeb_2.3.2-4_i386.udeb
 749436fe6cf59db4087ce142e88000fd 2574854 libdevel standard libc6-dev_2.3.2-4_i386.deb
 d9536fac17d02ba27e42ad9e0314bdff 1000852 devel extra libc6-prof_2.3.2-4_i386.deb
 18ff8946686e727a0bba9ccc0240f567 8469226 devel extra libc6-dbg_2.3.2-4_i386.deb
 c9b2fed3903d0312c789d7d09b4dc23b 952192 devel optional libc6-pic_2.3.2-4_i386.deb
 6bce03106f03c3db57e9190092b50c00 75002 admin optional nscd_2.3.2-4_i386.deb
 60caed78f6684f053eb1b065f134f278 3785602 base standard locales_2.3.2-4_all.deb
 0ad68a05ca661173a7aea4bad91d2d8b 3084010 doc optional glibc-doc_2.3.2-4_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE/S8gOVTLPJe9CT30RAvcrAJ9qWooWC2uZnN7+Wo2uBzcaXhDiPgCgsLQ2
oSLHKK6b02lODDQLI0+4Z/4=
=+3Qo
-----END PGP SIGNATURE-----



Reply to: