Debian Bug report logs - #669427
apt segfaults on s390x

version graph

Package: apt; Maintainer for apt is APT Development Team <deity@lists.debian.org>; Source for apt is src:apt.

Reported by: Faidon Liambotis <paravoid@debian.org>

Date: Thu, 19 Apr 2012 18:51:05 UTC

Severity: serious

Tags: patch

Merged with 669243

Found in version apt/0.9.1

Fixed in version apt/0.9.3

Done: Michael Vogt <mvo@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, debian-admin@lists.debian.org, pkern@debian.org, APT Development Team <deity@lists.debian.org>:
Bug#669427; Package apt. (Thu, 19 Apr 2012 18:51:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to Faidon Liambotis <paravoid@debian.org>:
New Bug report received and forwarded. Copy sent to debian-admin@lists.debian.org, pkern@debian.org, APT Development Team <deity@lists.debian.org>. (Thu, 19 Apr 2012 18:51:08 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Faidon Liambotis <paravoid@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: apt segfaults on s390x
Date: Thu, 19 Apr 2012 11:21:04 -0700
Package: apt
Version: 0.9.1
Severity: serious

apt 0.9.1 currently segfaults on the zelenka (our s390/s390x porterbox)
sid_s390x chroot. Downgrading apt to 0.8.15.10 makes it work again.

Backtrace follows, even though it probably isn't that helpful, since apt
doesn't have a debugging symbols package from what I could see.

For your convienience, I went on and installed apt's build-deps on
sid_s390x so that you rebuild and debug. Let me know if you need
anything else.

Thanks,
Faidon

#0  0x000002000029f386 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) () from /usr/lib/s390x-linux-gnu/libstdc++.so.6
#1  0x00000200000fa17a in IsDuplicateDescription(pkgCache::DescIterator, HashSumValue<128> const&, std::string const&) () from /usr/lib/s390x-linux-gnu/libapt-pkg.so.4.12
#2  0x00000200000ff8b4 in pkgCacheGenerator::MergeListVersion(pkgCacheGenerator::ListParser&, pkgCache::PkgIterator&, std::string const&, pkgCache::VerIterator*&) () from /usr/lib/s390x-linux-gnu/libapt-pkg.so.4.12
#3  0x0000020000100034 in pkgCacheGenerator::MergeList(pkgCacheGenerator::ListParser&, pkgCache::VerIterator*) () from /usr/lib/s390x-linux-gnu/libapt-pkg.so.4.12
#4  0x00000200001664ec in debPackagesIndex::Merge(pkgCacheGenerator&, OpProgress*) const ()
   from /usr/lib/s390x-linux-gnu/libapt-pkg.so.4.12
#5  0x00000200000f7390 in ?? () from /usr/lib/s390x-linux-gnu/libapt-pkg.so.4.12
#6  0x00000200000fae6a in pkgCacheGenerator::MakeStatusCache(pkgSourceList&, OpProgress*, MMap**, bool) ()
   from /usr/lib/s390x-linux-gnu/libapt-pkg.so.4.12
#7  0x00000200000ee74e in pkgCacheFile::BuildCaches(OpProgress*, bool) ()
   from /usr/lib/s390x-linux-gnu/libapt-pkg.so.4.12
#8  0x00000200000eec02 in pkgCacheFile::Open(OpProgress*, bool) ()
   from /usr/lib/s390x-linux-gnu/libapt-pkg.so.4.12
#9  0x000000008001f03e in ?? ()
#10 0x0000020000096b22 in CommandLine::DispatchArg(CommandLine::Dispatch*, bool) ()
   from /usr/lib/s390x-linux-gnu/libapt-pkg.so.4.12
#11 0x000000008000cc4e in ?? ()
#12 0x00000200003bea40 in __libc_start_main (main=<optimized out>, argc=<optimized out>, 
    ubp_av=<optimized out>, init=0x80029440, fini=0x8002943c, rtld_fini=0x20000010778, 
    stack_end=0x3ffffda2630) at libc-start.c:228
#13 0x000000008000cf82 in ?? ()




Information forwarded to debian-bugs-dist@lists.debian.org, APT Development Team <deity@lists.debian.org>:
Bug#669427; Package apt. (Thu, 19 Apr 2012 19:15:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to Mehdi Dogguy <mehdi@dogguy.org>:
Extra info received and forwarded to list. Copy sent to APT Development Team <deity@lists.debian.org>. (Thu, 19 Apr 2012 19:15:06 GMT) Full text and rfc822 format available.

Message #10 received at 669427@bugs.debian.org (full text, mbox):

From: Mehdi Dogguy <mehdi@dogguy.org>
To: Faidon Liambotis <paravoid@debian.org>, 669427@bugs.debian.org
Subject: Re: Bug#669427: apt segfaults on s390x
Date: Thu, 19 Apr 2012 21:12:09 +0200
On 19/04/12 20:21, Faidon Liambotis wrote:
> Package: apt
> Version: 0.9.1
> Severity: serious
>
> apt 0.9.1 currently segfaults on the zelenka (our s390/s390x porterbox)
> sid_s390x chroot. Downgrading apt to 0.8.15.10 makes it work again.
>

Does it also segfault on s390? (s390x is not a release arch yet so it 
doesn't warrant an RC severity, unless the maintainer thinks so).

Regards,

-- 
Mehdi




Information forwarded to debian-bugs-dist@lists.debian.org, APT Development Team <deity@lists.debian.org>:
Bug#669427; Package apt. (Thu, 19 Apr 2012 19:51:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to Faidon Liambotis <paravoid@debian.org>:
Extra info received and forwarded to list. Copy sent to APT Development Team <deity@lists.debian.org>. (Thu, 19 Apr 2012 19:51:07 GMT) Full text and rfc822 format available.

Message #15 received at 669427@bugs.debian.org (full text, mbox):

From: Faidon Liambotis <paravoid@debian.org>
To: Mehdi Dogguy <mehdi@dogguy.org>, 669427@bugs.debian.org
Subject: Re: Bug#669427: apt segfaults on s390x
Date: Thu, 19 Apr 2012 12:30:22 -0700
severity 669427 important
thanks

On Thu, Apr 19, 2012 at 09:12:09PM +0200, Mehdi Dogguy wrote:
>> apt 0.9.1 currently segfaults on the zelenka (our s390/s390x porterbox)
>> sid_s390x chroot. Downgrading apt to 0.8.15.10 makes it work again.
> 
> Does it also segfault on s390? (s390x is not a release arch yet so
> it doesn't warrant an RC severity, unless the maintainer thinks so).

Good point, didn't think much about that at the time, sorry.
It seems to work on s390, downgrading.

Thanks,
Faidon




Severity set to 'important' from 'serious' Request was from Faidon Liambotis <paravoid@debian.org> to control@bugs.debian.org. (Thu, 19 Apr 2012 19:51:11 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, APT Development Team <deity@lists.debian.org>:
Bug#669427; Package apt. (Fri, 20 Apr 2012 20:06:18 GMT) Full text and rfc822 format available.

Acknowledgement sent to Philipp Kern <pkern@debian.org>:
Extra info received and forwarded to list. Copy sent to APT Development Team <deity@lists.debian.org>. (Fri, 20 Apr 2012 20:06:18 GMT) Full text and rfc822 format available.

Message #22 received at 669427@bugs.debian.org (full text, mbox):

From: Philipp Kern <pkern@debian.org>
To: 669427@bugs.debian.org
Cc: Mehdi Dogguy <mehdi@dogguy.org>
Subject: Re: Bug#669427: apt segfaults on s390x
Date: Fri, 20 Apr 2012 22:04:28 +0200
[Message part 1 (text/plain, inline)]
On Thu, Apr 19, 2012 at 09:12:09PM +0200, Mehdi Dogguy wrote:
> On 19/04/12 20:21, Faidon Liambotis wrote:
> >Package: apt
> >Version: 0.9.1
> >Severity: serious
> >
> >apt 0.9.1 currently segfaults on the zelenka (our s390/s390x porterbox)
> >sid_s390x chroot. Downgrading apt to 0.8.15.10 makes it work again.
> Does it also segfault on s390? (s390x is not a release arch yet so
> it doesn't warrant an RC severity, unless the maintainer thinks so).

It breaks many package builds on s390x and it's broken on an
architecture where it built before.

And wrt s390x I can pull a Hurd: "The current progress is however encouraging."

Kind regards
Philipp Kern
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, APT Development Team <deity@lists.debian.org>:
Bug#669427; Package apt. (Fri, 20 Apr 2012 21:30:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Philipp Kern <pkern@debian.org>:
Extra info received and forwarded to list. Copy sent to APT Development Team <deity@lists.debian.org>. (Fri, 20 Apr 2012 21:30:03 GMT) Full text and rfc822 format available.

Message #27 received at 669427@bugs.debian.org (full text, mbox):

From: Philipp Kern <pkern@debian.org>
To: 669427@bugs.debian.org
Subject: Re: Bug#669427: apt segfaults on s390x
Date: Fri, 20 Apr 2012 23:26:57 +0200
[Message part 1 (text/plain, inline)]
On Fri, Apr 20, 2012 at 10:04:28PM +0200, Philipp Kern wrote:
> On Thu, Apr 19, 2012 at 09:12:09PM +0200, Mehdi Dogguy wrote:
> > On 19/04/12 20:21, Faidon Liambotis wrote:
> > >Package: apt
> > >Version: 0.9.1
> > >Severity: serious
> > >apt 0.9.1 currently segfaults on the zelenka (our s390/s390x porterbox)
> > >sid_s390x chroot. Downgrading apt to 0.8.15.10 makes it work again.
> > Does it also segfault on s390? (s390x is not a release arch yet so
> > it doesn't warrant an RC severity, unless the maintainer thinks so).
> It breaks many package builds on s390x and it's broken on an
> architecture where it built before.
> 
> And wrt s390x I can pull a Hurd: "The current progress is however encouraging."

It's in the construction of the MD5SumValue.  But I'm not prepared to curse at
bzr for the remainder of the evening, about a bisect plugin that frankly
doesn't do what it's supposed to do.

Kind regards
Philipp Kern
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, APT Development Team <deity@lists.debian.org>:
Bug#669427; Package apt. (Tue, 01 May 2012 14:57:10 GMT) Full text and rfc822 format available.

Acknowledgement sent to Philipp Kern <pkern@debian.org>:
Extra info received and forwarded to list. Copy sent to APT Development Team <deity@lists.debian.org>. (Tue, 01 May 2012 14:57:10 GMT) Full text and rfc822 format available.

Message #32 received at 669427@bugs.debian.org (full text, mbox):

From: Philipp Kern <pkern@debian.org>
To: kalnischkies+debian@gmail.com, 669427@bugs.debian.org
Subject: Re: Bug#669427: apt segfaults on s390x
Date: Tue, 1 May 2012 16:53:46 +0200
[Message part 1 (text/plain, inline)]
On Fri, Apr 20, 2012 at 11:26:57PM +0200, Philipp Kern wrote:
> On Fri, Apr 20, 2012 at 10:04:28PM +0200, Philipp Kern wrote:
> > On Thu, Apr 19, 2012 at 09:12:09PM +0200, Mehdi Dogguy wrote:
> > > On 19/04/12 20:21, Faidon Liambotis wrote:
> > > >Package: apt
> > > >Version: 0.9.1
> > > >Severity: serious
> > > >apt 0.9.1 currently segfaults on the zelenka (our s390/s390x porterbox)
> > > >sid_s390x chroot. Downgrading apt to 0.8.15.10 makes it work again.
> > > Does it also segfault on s390? (s390x is not a release arch yet so
> > > it doesn't warrant an RC severity, unless the maintainer thinks so).
> > It breaks many package builds on s390x and it's broken on an
> > architecture where it built before.
> > 
> > And wrt s390x I can pull a Hurd: "The current progress is however encouraging."
> 
> It's in the construction of the MD5SumValue.  But I'm not prepared to curse at
> bzr for the remainder of the evening, about a bisect plugin that frankly
> doesn't do what it's supposed to do.

2129.4.17  kalnisc |    /* Record the Description (it is not translated) */
                   |    MD5SumValue CurMd5 = List.Description_md5();
                   |    if (CurMd5.Value().empty() == true)
                   |       return true;
                   |    std::string CurLang = List.DescriptionLanguage();
                   | 
                   |    /* Before we add a new description we first search in the group for
                   |       a version with a description of the same MD5 - if so we reuse this
                   |       description group instead of creating our own for this version */
                   |    for (pkgCache::PkgIterator P = Grp.PackageList();
                   |    P.end() == false; P = Grp.NextPkg(P))
                   |    {
                   |       for (pkgCache::VerIterator V = P.VersionList();
                   |       V.end() == false; ++V)
                   |       {
                   |     if (IsDuplicateDescription(V.DescriptionList(), CurMd5, "") == false)
                   |        continue;
                   |     Ver->DescriptionList = V->DescriptionList;
                   |     return true;
                   |       }
                   |    }

When IsDuplicateDescription is called, calling md5() on the V.DescriptionList()
points to unallocated memory.  Any idea why that could be?

Kind regards
Philipp Kern
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, APT Development Team <deity@lists.debian.org>:
Bug#669427; Package apt. (Wed, 02 May 2012 15:27:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to David Kalnischkies <kalnischkies+debian@gmail.com>:
Extra info received and forwarded to list. Copy sent to APT Development Team <deity@lists.debian.org>. (Wed, 02 May 2012 15:27:04 GMT) Full text and rfc822 format available.

Message #37 received at 669427@bugs.debian.org (full text, mbox):

From: David Kalnischkies <kalnischkies+debian@gmail.com>
To: Philipp Kern <pkern@debian.org>
Cc: 669427@bugs.debian.org
Subject: Re: Bug#669427: apt segfaults on s390x
Date: Wed, 2 May 2012 17:23:30 +0200
On Tue, May 1, 2012 at 4:53 PM, Philipp Kern <pkern@debian.org> wrote:
> On Fri, Apr 20, 2012 at 11:26:57PM +0200, Philipp Kern wrote:
>> On Fri, Apr 20, 2012 at 10:04:28PM +0200, Philipp Kern wrote:
>> > On Thu, Apr 19, 2012 at 09:12:09PM +0200, Mehdi Dogguy wrote:
>> > > On 19/04/12 20:21, Faidon Liambotis wrote:
>> > > >Package: apt
>> > > >Version: 0.9.1
>> > > >Severity: serious
>> > > >apt 0.9.1 currently segfaults on the zelenka (our s390/s390x porterbox)
>> > > >sid_s390x chroot. Downgrading apt to 0.8.15.10 makes it work again.
>> > > Does it also segfault on s390? (s390x is not a release arch yet so
>> > > it doesn't warrant an RC severity, unless the maintainer thinks so).
>> > It breaks many package builds on s390x and it's broken on an
>> > architecture where it built before.
>> >
>> > And wrt s390x I can pull a Hurd: "The current progress is however encouraging."
>>
>> It's in the construction of the MD5SumValue.  But I'm not prepared to curse at
>> bzr for the remainder of the evening, about a bisect plugin that frankly
>> doesn't do what it's supposed to do.
>
> 2129.4.17  kalnisc |    /* Record the Description (it is not translated) */
>                   |    MD5SumValue CurMd5 = List.Description_md5();
>                   |    if (CurMd5.Value().empty() == true)
>                   |       return true;
>                   |    std::string CurLang = List.DescriptionLanguage();
>                   |
>                   |    /* Before we add a new description we first search in the group for
>                   |       a version with a description of the same MD5 - if so we reuse this
>                   |       description group instead of creating our own for this version */
>                   |    for (pkgCache::PkgIterator P = Grp.PackageList();
>                   |    P.end() == false; P = Grp.NextPkg(P))
>                   |    {
>                   |       for (pkgCache::VerIterator V = P.VersionList();
>                   |       V.end() == false; ++V)
>                   |       {
>                   |     if (IsDuplicateDescription(V.DescriptionList(), CurMd5, "") == false)
>                   |        continue;
>                   |     Ver->DescriptionList = V->DescriptionList;
>                   |     return true;
>                   |       }
>                   |    }
>
> When IsDuplicateDescription is called, calling md5() on the V.DescriptionList()
> points to unallocated memory.  Any idea why that could be?

So you mean the Description struct is invalid (V.DescriptionList()) or
the V.DescriptionList().md5() char* ?

We are missing a bit of error checking here (callers of NewDescription() do
not check if return is != 0 and IsDuplicateDescription doesn't check if the
given Description is valid), but both shouldn't be a problem as NewDescription
can only really fail if new memory can't be allocated and as each version has
at least one description you shouldn't hit a problem in the dup check either.
Both wouldn't be limited to s390x either way:
We seem to have a similar bugreport from ppc64 (#669243),
if i understand right it's also bigendian 64bit, but no other report.

The code in pkgcachegen.cc was reworked for multi-arch and especially the dup
check is new and the code as such works wih pointer left and right, but non of
it should be architecture dependent… Somehow i fear that it's more related to
our checksum changes. We had way to many problems with sha1 and sha2 to assume
md5 would be okay (the code for md5 itself is not new, but the code warping
around it).

You mentioned bisecting? Any insigns which revisions are (not) effected?
(bzr has no bisect included by default, and last time i check the plugin was…
 lets say suboptimal for us as we tend to have "big" merges)


Best regards

David Kalnischkies




Information forwarded to debian-bugs-dist@lists.debian.org, APT Development Team <deity@lists.debian.org>:
Bug#669427; Package apt. (Wed, 02 May 2012 15:30:08 GMT) Full text and rfc822 format available.

Message #40 received at 669427@bugs.debian.org (full text, mbox):

From: Philipp Kern <pkern@debian.org>
To: David Kalnischkies <kalnischkies+debian@gmail.com>
Cc: 669427@bugs.debian.org
Subject: Re: Bug#669427: apt segfaults on s390x
Date: Wed, 2 May 2012 17:28:16 +0200
[Message part 1 (text/plain, inline)]
On Wed, May 02, 2012 at 05:23:30PM +0200, David Kalnischkies wrote:
> > 2129.4.17  kalnisc |    /* Record the Description (it is not translated) */
> >                   |    MD5SumValue CurMd5 = List.Description_md5();
> >                   |    if (CurMd5.Value().empty() == true)
> >                   |       return true;
> >                   |    std::string CurLang = List.DescriptionLanguage();
> >                   |
> >                   |    /* Before we add a new description we first search in the group for
> >                   |       a version with a description of the same MD5 - if so we reuse this
> >                   |       description group instead of creating our own for this version */
> >                   |    for (pkgCache::PkgIterator P = Grp.PackageList();
> >                   |    P.end() == false; P = Grp.NextPkg(P))
> >                   |    {
> >                   |       for (pkgCache::VerIterator V = P.VersionList();
> >                   |       V.end() == false; ++V)
> >                   |       {
> >                   |     if (IsDuplicateDescription(V.DescriptionList(), CurMd5, "") == false)
> >                   |        continue;
> >                   |     Ver->DescriptionList = V->DescriptionList;
> >                   |     return true;
> >                   |       }
> >                   |    }
> >
> > When IsDuplicateDescription is called, calling md5() on the V.DescriptionList()
> > points to unallocated memory.  Any idea why that could be?
> 
> So you mean the Description struct is invalid (V.DescriptionList()) or
> the V.DescriptionList().md5() char* ?

The latter does not point to any initialized memory.

> We are missing a bit of error checking here (callers of NewDescription() do
> not check if return is != 0 and IsDuplicateDescription doesn't check if the
> given Description is valid), but both shouldn't be a problem as NewDescription
> can only really fail if new memory can't be allocated and as each version has
> at least one description you shouldn't hit a problem in the dup check either.
> Both wouldn't be limited to s390x either way:
> We seem to have a similar bugreport from ppc64 (#669243),
> if i understand right it's also bigendian 64bit, but no other report.

Yes.  So would be sparc64.  s390x is the only in-archive arch that's 64bit be.

> The code in pkgcachegen.cc was reworked for multi-arch and especially the dup
> check is new and the code as such works wih pointer left and right, but non of
> it should be architecture dependent… Somehow i fear that it's more related to
> our checksum changes. We had way to many problems with sha1 and sha2 to assume
> md5 would be okay (the code for md5 itself is not new, but the code warping
> around it).

At least the problem was not in constructing the checksum object, but in
retrieving the content for it (i.e. md5() in IsDuplicateDescription).

> You mentioned bisecting? Any insigns which revisions are (not) effected?
> (bzr has no bisect included by default, and last time i check the plugin was…
>  lets say suboptimal for us as we tend to have "big" merges)

Either the plugin was broken or the tree it acted upon was useless to bisect.
I don't know.

Kind regards
Philipp Kern
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, APT Development Team <deity@lists.debian.org>:
Bug#669427; Package apt. (Fri, 04 May 2012 21:45:08 GMT) Full text and rfc822 format available.

Acknowledgement sent to Aurelien Jarno <aurelien@aurel32.net>:
Extra info received and forwarded to list. Copy sent to APT Development Team <deity@lists.debian.org>. (Fri, 04 May 2012 21:45:09 GMT) Full text and rfc822 format available.

Message #45 received at 669427@bugs.debian.org (full text, mbox):

From: Aurelien Jarno <aurelien@aurel32.net>
To: Philipp Kern <pkern@debian.org>
Cc: David Kalnischkies <kalnischkies+debian@gmail.com>, 669427@bugs.debian.org
Subject: Re: Bug#669427: apt segfaults on s390x
Date: Fri, 4 May 2012 23:42:04 +0200
On Wed, May 02, 2012 at 05:28:16PM +0200, Philipp Kern wrote:
> On Wed, May 02, 2012 at 05:23:30PM +0200, David Kalnischkies wrote:
> > > 2129.4.17  kalnisc |    /* Record the Description (it is not translated) */
> > >                   |    MD5SumValue CurMd5 = List.Description_md5();
> > >                   |    if (CurMd5.Value().empty() == true)
> > >                   |       return true;
> > >                   |    std::string CurLang = List.DescriptionLanguage();
> > >                   |
> > >                   |    /* Before we add a new description we first search in the group for
> > >                   |       a version with a description of the same MD5 - if so we reuse this
> > >                   |       description group instead of creating our own for this version */
> > >                   |    for (pkgCache::PkgIterator P = Grp.PackageList();
> > >                   |    P.end() == false; P = Grp.NextPkg(P))
> > >                   |    {
> > >                   |       for (pkgCache::VerIterator V = P.VersionList();
> > >                   |       V.end() == false; ++V)
> > >                   |       {
> > >                   |     if (IsDuplicateDescription(V.DescriptionList(), CurMd5, "") == false)
> > >                   |        continue;
> > >                   |     Ver->DescriptionList = V->DescriptionList;
> > >                   |     return true;
> > >                   |       }
> > >                   |    }
> > >
> > > When IsDuplicateDescription is called, calling md5() on the V.DescriptionList()
> > > points to unallocated memory.  Any idea why that could be?
> > 
> > So you mean the Description struct is invalid (V.DescriptionList()) or
> > the V.DescriptionList().md5() char* ?
> 
> The latter does not point to any initialized memory.
> 
> > We are missing a bit of error checking here (callers of NewDescription() do
> > not check if return is != 0 and IsDuplicateDescription doesn't check if the
> > given Description is valid), but both shouldn't be a problem as NewDescription
> > can only really fail if new memory can't be allocated and as each version has
> > at least one description you shouldn't hit a problem in the dup check either.
> > Both wouldn't be limited to s390x either way:
> > We seem to have a similar bugreport from ppc64 (#669243),
> > if i understand right it's also bigendian 64bit, but no other report.
> 
> Yes.  So would be sparc64.  s390x is the only in-archive arch that's 64bit be.
> 
> > The code in pkgcachegen.cc was reworked for multi-arch and especially the dup
> > check is new and the code as such works wih pointer left and right, but non of
> > it should be architecture dependent… Somehow i fear that it's more related to
> > our checksum changes. We had way to many problems with sha1 and sha2 to assume
> > md5 would be okay (the code for md5 itself is not new, but the code warping
> > around it).
> 
> At least the problem was not in constructing the checksum object, but in
> retrieving the content for it (i.e. md5() in IsDuplicateDescription).
> 
> > You mentioned bisecting? Any insigns which revisions are (not) effected?
> > (bzr has no bisect included by default, and last time i check the plugin was…
> >  lets say suboptimal for us as we tend to have "big" merges)
> 
> Either the plugin was broken or the tree it acted upon was useless to bisect.
> I don't know.
> 

I have been able to bisect the issue, by first converting the bzr
repository to git, and then with the usual method. The commit that has
broken apt on s390x is the following:

commit 22f07fc5e77bcedbc774a4b60d305da847fab287
Author: David Kalnischkies <kalnischkies@gmail.com>
Date:   Wed Oct 12 15:47:56 2011 +0200

    a version can have only a single md5 for descriptions, so we can optimize
    the merging with this knowledge a bit and by correctly sharing the lists
    we only need to have a single description list for possibly many different
    versions. This also means that description translations are shared between
    different sources

diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc
index 3545517..3b2c08e 100644
--- a/apt-pkg/pkgcachegen.cc
+++ b/apt-pkg/pkgcachegen.cc
@@ -279,33 +279,36 @@ bool pkgCacheGenerator::MergeListPackage(ListParser &List, pkgCache::PkgIterator
    for (Ver = Pkg.VersionList(); Ver.end() == false; ++Ver)
    {
       pkgCache::DescIterator Desc = Ver.DescriptionList();
-      Dynamic<pkgCache::DescIterator> DynDesc(Desc);
-      map_ptrloc *LastDesc = &Ver->DescriptionList;
+
+      // a version can only have one md5 describing it
+      if (MD5SumValue(Desc.md5()) != CurMd5)
+	 continue;
 
       // don't add a new description if we have one for the given
       // md5 && language
       if (IsDuplicateDescription(Desc, CurMd5, CurLang) == true)
 	 continue;
 
-      for (Desc = Ver.DescriptionList();
-	   Desc.end() == false;
-	    LastDesc = &Desc->NextDesc, ++Desc)
-      {
-	 if (MD5SumValue(Desc.md5()) != CurMd5)
-	    continue;
-
-	 // Add new description
-	 void const * const oldMap = Map.Data();
-	 map_ptrloc const descindex = NewDescription(Desc, CurLang, CurMd5, *LastDesc);
-	 if (oldMap != Map.Data())
-	    LastDesc += (map_ptrloc*) Map.Data() - (map_ptrloc*) oldMap;
-	 *LastDesc = descindex;
-	 Desc->ParentPkg = Pkg.Index();
-
-	 if ((*LastDesc == 0 && _error->PendingError()) || NewFileDesc(Desc,List) == false)
-	    return _error->Error(_("Error occurred while processing %s (NewFileDesc1)"), Pkg.Name());
-	 break;
-       }
+      Dynamic<pkgCache::DescIterator> DynDesc(Desc);
+      // we add at the end, so that the start is constant as we need
+      // that to be able to efficiently share these lists
+      map_ptrloc *LastDesc = &Ver->DescriptionList;
+      for (;Desc.end() == false && Desc->NextDesc != 0; ++Desc);
+      if (Desc.end() == false)
+	 LastDesc = &Desc->NextDesc;
+
+      void const * const oldMap = Map.Data();
+      map_ptrloc const descindex = NewDescription(Desc, CurLang, CurMd5, *LastDesc);
+      if (oldMap != Map.Data())
+	 LastDesc += (map_ptrloc*) Map.Data() - (map_ptrloc*) oldMap;
+      *LastDesc = descindex;
+      Desc->ParentPkg = Pkg.Index();
+
+      if ((*LastDesc == 0 && _error->PendingError()) || NewFileDesc(Desc,List) == false)
+	 return _error->Error(_("Error occurred while processing %s (NewFileDesc1)"), Pkg.Name());
+
+      // we can stop here as all "same" versions will share the description
+      break;
    }
 
    return true;
@@ -421,7 +424,7 @@ bool pkgCacheGenerator::MergeListVersion(ListParser &List, pkgCache::PkgIterator
    map_ptrloc *LastDesc = &Ver->DescriptionList;
 
    oldMap = Map.Data();
-   map_ptrloc const descindex = NewDescription(Desc, List.DescriptionLanguage(), List.Description_md5(), *LastDesc);
+   map_ptrloc const descindex = NewDescription(Desc, CurLang, CurMd5, *LastDesc);
    if (oldMap != Map.Data())
        LastDesc += (map_ptrloc*) Map.Data() - (map_ptrloc*) oldMap;
    *LastDesc = descindex;
@@ -1426,8 +1429,11 @@ bool pkgCacheGenerator::MakeOnlyStatusCache(OpProgress *Progress,DynamicMMap **O
 bool IsDuplicateDescription(pkgCache::DescIterator Desc,
 			    MD5SumValue const &CurMd5, std::string const &CurLang)
 {
-   for ( ; Desc.end() == false; ++Desc)
-      if (MD5SumValue(Desc.md5()) == CurMd5 && Desc.LanguageCode() == CurLang)
+   // Descriptions in the same link-list have all the same md5
+   if (MD5SumValue(Desc.md5()) != CurMd5)
+      return false;
+   for (; Desc.end() == false; ++Desc)
+      if (Desc.LanguageCode() == CurLang)
 	 return true;
    return false;
 }
diff --git a/debian/changelog b/debian/changelog
index b7f1996..62f32d8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -25,6 +25,7 @@ apt (0.8.16~exp7) UNRELEASEDexperimental; urgency=low
   * apt-pkg/pkgcachegen.cc:
     - refactor MergeList by creating -Group, -Package and -Version specialist
     - share description list between "same" versions (LP: #868977)
+      This also means that descriptions are shared across archives now.
 
   [ Michael Vogt ]
   * apt-pkg/contrib/configuration.cc:
@@ -39,7 +40,7 @@ apt (0.8.16~exp7) UNRELEASEDexperimental; urgency=low
   * ftparchive/cachedb.cc:
     - fix buffersize in bytes2hex
 
- -- David Kalnischkies <kalnischkies@gmail.com>  Tue, 11 Oct 2011 21:07:38 +0200
+ -- David Kalnischkies <kalnischkies@gmail.com>  Wed, 12 Oct 2011 15:47:43 +0200
 
 apt (0.8.16~exp6) experimental; urgency=low
 


-- 
Aurelien Jarno	                        GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net




Information forwarded to debian-bugs-dist@lists.debian.org, APT Development Team <deity@lists.debian.org>:
Bug#669427; Package apt. (Sat, 05 May 2012 00:21:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to David Kalnischkies <kalnischkies+debian@gmail.com>:
Extra info received and forwarded to list. Copy sent to APT Development Team <deity@lists.debian.org>. (Sat, 05 May 2012 00:21:03 GMT) Full text and rfc822 format available.

Message #50 received at 669427@bugs.debian.org (full text, mbox):

From: David Kalnischkies <kalnischkies+debian@gmail.com>
To: Philipp Kern <pkern@debian.org>, Aurelien Jarno <aurelien@aurel32.net>
Cc: 669427@bugs.debian.org, control@bugs.debian.org
Subject: Re: Bug#669427: apt segfaults on s390x
Date: Sat, 5 May 2012 02:16:18 +0200
[Message part 1 (text/plain, inline)]
package apt
forcemerge 669427 669243
severity 669427 serious
tag 669427 + patch
thanks


On Wed, May 2, 2012 at 5:23 PM, David Kalnischkies
<kalnischkies+debian@gmail.com> wrote:
> We are missing a bit of error checking here (callers of NewDescription() do
> not check if return is != 0 and IsDuplicateDescription doesn't check if the
> given Description is valid), but both shouldn't be a problem as NewDescription
> can only really fail if new memory can't be allocated and as each version has
> at least one description you shouldn't hit a problem in the dup check either.
> Both wouldn't be limited to s390x either way:
> We seem to have a similar bugreport from ppc64 (#669243),
> if i understand right it's also bigendian 64bit, but no other report.

Lesson learned today: If you know you have a bug in your code,
don't put it on the todolist, just fix it!
(or at least the parts which are trivial to fix)


The assumption that each version has a description is correct for all
but one version: In line 442ff we iterate over all packages with the same
name and all versions for these packages to check if we already have a
version with this description.

The problem: We iterate also over the version we have added just a few
lines above which has no description yet as we are in the process of
(maybe) adding one for it.

Result: The duplication check will use a dangling pointer to a string
which should be a md5sum but properly is whatever it wants to be.
On the pro side this usually has the intended effect as a random string
properly doesn't fit the constraints for an md5sum (yet alone that it
matches).

Still, i am really fascinated that this worked for months here and
everywhere else (expect s390x and ppc64).
I would have expected a segfault at least once in a while as this is not
done once or twice but for every version, so more like 100.000 times.

Amazing. I am going to play in the lottery now, maybe this segfault
prevention luck is transitive… (properly more like: I wasted all my
luck on this one here)

[Raising severity and therefore blocking transition as depending on dangling
 pointers isn't a great idea, even if it seems to work for all but not-yet
 release architectures… Upload next week or so]

Thanks to both of you for debugging this and sorry for the inconvenience!


Best regards

David Kalnischkies
[apt-669427-dangling-description-duplication-check-segfaults.diff (application/octet-stream, attachment)]

Merged 669243 669427 Request was from David Kalnischkies <kalnischkies+debian@gmail.com> to control@bugs.debian.org. (Sat, 05 May 2012 00:21:05 GMT) Full text and rfc822 format available.

Severity set to 'serious' from 'important' Request was from David Kalnischkies <kalnischkies+debian@gmail.com> to control@bugs.debian.org. (Sat, 05 May 2012 00:21:06 GMT) Full text and rfc822 format available.

Added tag(s) patch. Request was from David Kalnischkies <kalnischkies+debian@gmail.com> to control@bugs.debian.org. (Sat, 05 May 2012 00:21:08 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, APT Development Team <deity@lists.debian.org>:
Bug#669427; Package apt. (Sat, 05 May 2012 10:00:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Aurelien Jarno <aurelien@aurel32.net>:
Extra info received and forwarded to list. Copy sent to APT Development Team <deity@lists.debian.org>. (Sat, 05 May 2012 10:00:51 GMT) Full text and rfc822 format available.

Message #61 received at 669427@bugs.debian.org (full text, mbox):

From: Aurelien Jarno <aurelien@aurel32.net>
To: David Kalnischkies <kalnischkies+debian@gmail.com>
Cc: Philipp Kern <pkern@debian.org>, 669427@bugs.debian.org
Subject: Re: Bug#669427: apt segfaults on s390x
Date: Sat, 5 May 2012 11:56:16 +0200
On Sat, May 05, 2012 at 02:16:18AM +0200, David Kalnischkies wrote:
> package apt
> forcemerge 669427 669243
> severity 669427 serious
> tag 669427 + patch
> thanks
> 
> 
> On Wed, May 2, 2012 at 5:23 PM, David Kalnischkies
> <kalnischkies+debian@gmail.com> wrote:
> > We are missing a bit of error checking here (callers of NewDescription() do
> > not check if return is != 0 and IsDuplicateDescription doesn't check if the
> > given Description is valid), but both shouldn't be a problem as NewDescription
> > can only really fail if new memory can't be allocated and as each version has
> > at least one description you shouldn't hit a problem in the dup check either.
> > Both wouldn't be limited to s390x either way:
> > We seem to have a similar bugreport from ppc64 (#669243),
> > if i understand right it's also bigendian 64bit, but no other report.
> 
> Lesson learned today: If you know you have a bug in your code,
> don't put it on the todolist, just fix it!
> (or at least the parts which are trivial to fix)
> 
> 
> The assumption that each version has a description is correct for all
> but one version: In line 442ff we iterate over all packages with the same
> name and all versions for these packages to check if we already have a
> version with this description.
> 
> The problem: We iterate also over the version we have added just a few
> lines above which has no description yet as we are in the process of
> (maybe) adding one for it.
> 
> Result: The duplication check will use a dangling pointer to a string
> which should be a md5sum but properly is whatever it wants to be.
> On the pro side this usually has the intended effect as a random string
> properly doesn't fit the constraints for an md5sum (yet alone that it
> matches).
> 
> Still, i am really fascinated that this worked for months here and
> everywhere else (expect s390x and ppc64).
> I would have expected a segfault at least once in a while as this is not
> done once or twice but for every version, so more like 100.000 times.
> 
> Amazing. I am going to play in the lottery now, maybe this segfault
> prevention luck is transitive… (properly more like: I wasted all my
> luck on this one here)
> 
> [Raising severity and therefore blocking transition as depending on dangling
>  pointers isn't a great idea, even if it seems to work for all but not-yet
>  release architectures… Upload next week or so]
> 
> Thanks to both of you for debugging this and sorry for the inconvenience!
> 

I have just tried, and I confirm the patch fixes the issue, at least on
s390x.

Aurelien

-- 
Aurelien Jarno	                        GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net




Information forwarded to debian-bugs-dist@lists.debian.org, APT Development Team <deity@lists.debian.org>:
Bug#669427; Package apt. (Fri, 11 May 2012 16:42:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Julien Cristau <jcristau@debian.org>:
Extra info received and forwarded to list. Copy sent to APT Development Team <deity@lists.debian.org>. (Fri, 11 May 2012 16:42:04 GMT) Full text and rfc822 format available.

Message #66 received at 669427@bugs.debian.org (full text, mbox):

From: Julien Cristau <jcristau@debian.org>
To: David Kalnischkies <kalnischkies+debian@gmail.com>
Cc: Philipp Kern <pkern@debian.org>, Aurelien Jarno <aurelien@aurel32.net>, 669427@bugs.debian.org
Subject: Re: Bug#669427: apt segfaults on s390x
Date: Fri, 11 May 2012 18:39:55 +0200
[Message part 1 (text/plain, inline)]
Hi David,

On Sat, May  5, 2012 at 02:16:18 +0200, David Kalnischkies wrote:

> [Raising severity and therefore blocking transition as depending on dangling
>  pointers isn't a great idea, even if it seems to work for all but not-yet
>  release architectures… Upload next week or so]
> 
Any chance this could happen soon?

Cheers,
Julien
[signature.asc (application/pgp-signature, inline)]

Reply sent to Michael Vogt <mvo@debian.org>:
You have taken responsibility. (Fri, 11 May 2012 17:21:13 GMT) Full text and rfc822 format available.

Notification sent to Faidon Liambotis <paravoid@debian.org>:
Bug acknowledged by developer. (Fri, 11 May 2012 17:21:13 GMT) Full text and rfc822 format available.

Message #71 received at 669427-close@bugs.debian.org (full text, mbox):

From: Michael Vogt <mvo@debian.org>
To: 669427-close@bugs.debian.org
Subject: Bug#669427: fixed in apt 0.9.3
Date: Fri, 11 May 2012 17:17:38 +0000
Source: apt
Source-Version: 0.9.3

We believe that the bug you reported is fixed in the latest version of
apt, which is due to be installed in the Debian FTP archive:

apt-doc_0.9.3_all.deb
  to main/a/apt/apt-doc_0.9.3_all.deb
apt-transport-https_0.9.3_amd64.deb
  to main/a/apt/apt-transport-https_0.9.3_amd64.deb
apt-utils_0.9.3_amd64.deb
  to main/a/apt/apt-utils_0.9.3_amd64.deb
apt_0.9.3.dsc
  to main/a/apt/apt_0.9.3.dsc
apt_0.9.3.tar.gz
  to main/a/apt/apt_0.9.3.tar.gz
apt_0.9.3_amd64.deb
  to main/a/apt/apt_0.9.3_amd64.deb
libapt-inst1.5_0.9.3_amd64.deb
  to main/a/apt/libapt-inst1.5_0.9.3_amd64.deb
libapt-pkg-dev_0.9.3_amd64.deb
  to main/a/apt/libapt-pkg-dev_0.9.3_amd64.deb
libapt-pkg-doc_0.9.3_all.deb
  to main/a/apt/libapt-pkg-doc_0.9.3_all.deb
libapt-pkg4.12_0.9.3_amd64.deb
  to main/a/apt/libapt-pkg4.12_0.9.3_amd64.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 669427@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Michael Vogt <mvo@debian.org> (supplier of updated apt 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.8
Date: Fri, 11 May 2012 17:16:22 +0200
Source: apt
Binary: apt libapt-pkg4.12 libapt-inst1.5 apt-doc libapt-pkg-dev libapt-pkg-doc apt-utils apt-transport-https
Architecture: source all amd64
Version: 0.9.3
Distribution: unstable
Urgency: low
Maintainer: APT Development Team <deity@lists.debian.org>
Changed-By: Michael Vogt <mvo@debian.org>
Description: 
 apt        - commandline package manager
 apt-doc    - documentation for APT
 apt-transport-https - https download transport for APT
 apt-utils  - package managment related utility programs
 libapt-inst1.5 - deb package format runtime library
 libapt-pkg-dev - development files for APT's libapt-pkg and libapt-inst
 libapt-pkg-doc - documentation for APT development
 libapt-pkg4.12 - package managment runtime library
Closes: 554387 669163 669427 670979 671623 671721
Changes: 
 apt (0.9.3) unstable; urgency=low
 .
   [ David Kalnischkies ]
   * apt-pkg/contrib/strutl.cc:
     - remove the message size limit from ioprintf and strprintf
   * apt-pkg/contrib/configuration.cc:
     - add a more versatile Dump() method
     - normalize a bit by replacing // and /./ with / in FindFile
     - /dev/null is a special absolute path as it has no subdirectories
   * apt-pkg/acquire-worker.cc:
     - use Dump() to generate the configuration message for sending
   * cmdline/apt-config.cc:
     - make it possible to limit dump to a subtree
     - implement --empty and --format option for dump
   * apt-pkg/cdrom.cc:
     - use Dump() to generate the configuration output
   * apt-pkg/depcache.cc:
     - clearly separate 'positive' and 'negative' dependencies and
       their upgrade-resolution tries in MarkInstall and especially don't
       treat Conflicts differently compared to Breaks here
     - provider is only a possible solution if the provides has the right
       version (or none as we have no versioned provides in debian) and not
       if the version of the provider matches
   * edsp/edspsystem.cc:
     - check with RealFileExists for scenario file as otherwise a directory
       like one provided with RootDir triggers the usage of EDSP
   * debian/libapt-inst1.5.symbols:
     - use the correct library name the symbols header
   * apt-pkg/pkgcachegen.cc:
     - check if NewDescription allocation has failed and error out accordingly
     - check if we work on a valid description in IsDuplicateDescription as
       we end up working on dangling pointers otherwise which segfaults on
       s390x and ppc64 (Closes: #669427)
   * apt-pkg/deb/deblistparser.cc:
     - check length and containing chars for a given description md5sum
   * ensure that apti18n.h is included last as advertised (Closes: #671623)
   * apt-pkg/acquire-worker.cc:
     - revert the use of FileFd::Write in OutFdReady as we don't want error
       reports about EAGAIN here as we retry later. Thanks to YOSHINO Yoshihito
       for the report. (Closes: #671721)
   * apt-pkg/contrib/fileutl.cc:
     - check that the fd which are closed are valid
     - ensure that we do init d only once and especially not with its own
       content as this causes some "interesting" hickups resulting in segfaults
       as it seems (Closes: #554387, #670979)
     - collect zombie (de)compressor processes on reopen
     - ensure that in error conditions the Fail flag is set
     - ensure that d is set before accessing it
   * apt-pkg/aptconfiguration.cc:
     - use NULL instead of "" for no (un)compress parameters
   * apt-pkg/algorithms.cc:
     - factor out of ListUpdate a AcquireUpdate to be able to provide your
       own pkgAcquire fetcher to the wrapper
   * apt-inst/deb/debfile.h:
     - readd 'md5.h' to the uncleaned header includes to make qapt build
       against us again unchanged to unblock transition (Closes: #669163)
Checksums-Sha1: 
 f1c16f1b1161c6b628dccccfc70374bd39fc2301 1663 apt_0.9.3.dsc
 064de29b0c927de095e3b7b56c4acd966292c342 3421552 apt_0.9.3.tar.gz
 2f40c9c39036b4bbccbdca0079bd1f9f7d1eb14a 255586 apt-doc_0.9.3_all.deb
 e6fa24b0ee64a3aa83274ee20e534bf377089728 834062 libapt-pkg-doc_0.9.3_all.deb
 cec1976ee0f7a029eceaaf6ec6adcf3b50951aed 860984 libapt-pkg4.12_0.9.3_amd64.deb
 3219f9ce56ca88d5d053902ff6d53002b2a414df 158824 libapt-inst1.5_0.9.3_amd64.deb
 646eda5b6d51190181c15f5537428161f6f04c1d 1158196 apt_0.9.3_amd64.deb
 50ce89ac9e2c6916c41f414265874ea42e5af9e8 179066 libapt-pkg-dev_0.9.3_amd64.deb
 ca57e6a46f35ad22c9510344d1f61112ed1934fa 364230 apt-utils_0.9.3_amd64.deb
 5a4b3ae630879bced426e7b0822a2ef7bf3f4462 101314 apt-transport-https_0.9.3_amd64.deb
Checksums-Sha256: 
 cae7eb967465accfc888ec8ab18800c9fb7f9855f31bc30b30bf7e9a8e826f2d 1663 apt_0.9.3.dsc
 f0f79c7683abc886281d3b3f0b3fac705d5734a4456b9f61ae9211bfccb7a2dd 3421552 apt_0.9.3.tar.gz
 daf4743cb2ae9caa4383fe02100b34fc1058a8ac7fec00898c74f86cc0abf7a9 255586 apt-doc_0.9.3_all.deb
 5f3c9cf06bff4fe212724e5e4c6b7f2a180e149317fcf299b5dbfd33e19c167f 834062 libapt-pkg-doc_0.9.3_all.deb
 1e39866e3e755241aa08d25e92da3470a69b25ad9b11401b1a7bf5a751288d69 860984 libapt-pkg4.12_0.9.3_amd64.deb
 e9b3002e75abf28b0c506db303572f9cd1365aa8c3b506093f0ea980a257cf08 158824 libapt-inst1.5_0.9.3_amd64.deb
 3183eff291d1e9d905e78a6b467bbfb90b20fc2808d50b5e91bf55158b4c18be 1158196 apt_0.9.3_amd64.deb
 8f5b0906baa2fe875875d49f2e5acb47f6174ae6a2e65ef17a7ee5ad61bc4727 179066 libapt-pkg-dev_0.9.3_amd64.deb
 ae288f9a564a5b4c656f91e2f551a59e47fddf1c877fcabaf5f3d86835ccedc8 364230 apt-utils_0.9.3_amd64.deb
 83df94e2a279ab54498eb401a336006bd74bb438ede5593b305494b74b308cc6 101314 apt-transport-https_0.9.3_amd64.deb
Files: 
 1161ee632e95b39c95ded93168836805 1663 admin important apt_0.9.3.dsc
 ecd3dae204aeb85cb4e8a327ba987aa4 3421552 admin important apt_0.9.3.tar.gz
 5338915df7b750d0903693bbb7ce0750 255586 doc optional apt-doc_0.9.3_all.deb
 35ac8e053998f73267b126a80366b8ef 834062 doc optional libapt-pkg-doc_0.9.3_all.deb
 3d00efdcbd8bcc6fbb252c5e7524197e 860984 admin important libapt-pkg4.12_0.9.3_amd64.deb
 5f6f5ccb7e7d01fa89fab288e786bf66 158824 admin important libapt-inst1.5_0.9.3_amd64.deb
 2519c8c1afd27e70cf4ac10a5fa46e32 1158196 admin important apt_0.9.3_amd64.deb
 e9dac0ab7c0868c9c2fcffcb36540310 179066 libdevel optional libapt-pkg-dev_0.9.3_amd64.deb
 dd49f467695aec0fab029e7c49f3ad22 364230 admin important apt-utils_0.9.3_amd64.deb
 88fc0a1204ed72391db9ecd8567f07e6 101314 admin optional apt-transport-https_0.9.3_amd64.deb

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

iEYEARECAAYFAk+tLn4ACgkQliSD4VZixzSILQCfXRk2ll0CsIZO+i/0m1092l31
1+IAmQGxmwH8RzcJiXi9Belo66JAoCcF
=XFyQ
-----END PGP SIGNATURE-----





Reply sent to Michael Vogt <mvo@debian.org>:
You have taken responsibility. (Fri, 11 May 2012 17:21:14 GMT) Full text and rfc822 format available.

Notification sent to Hiroyuki Yamamoto <yama1066@gmail.com>:
Bug acknowledged by developer. (Fri, 11 May 2012 17:21:14 GMT) Full text and rfc822 format available.

Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sat, 09 Jun 2012 07:37:11 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Thu Apr 17 11:30:35 2014; Machine Name: beach.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.