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

Bug#868076: marked as done (libc6: gethostbyname assertion failure on m68k)



Your message dated Thu, 2 Jan 2020 21:42:26 +0100
with message-id <20200102204226.GA217638@aurel32.net>
and subject line Re: Bug#868076: libc6: gethostbyname assertion failure on m68k
has caused the Debian Bug report #868076,
regarding libc6: gethostbyname assertion failure on m68k
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.)


-- 
868076: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=868076
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: libc6
Version: 2.24-12
Tags: upstream patch
Forwarded: https://sourceware.org/ml/libc-alpha/2017-07/msg00466.html
User: debian-68k@lists.debian.org
Usertags: m68k
X-Debbugs-Cc: debian-68k@lists.debian.org

Hi,
On m68k, gethostbyname can sometimes cause an assertion failure:

> "nss_files/files-hosts.c:218: _nss_files_gethostbyname3_r: Assertion `(bufferend - (char *) 0) % sizeof (char *) == 0' failed."

This can be reproduced with the following simple program (though it may
depend on the exact system or chroot setup):

> #include <stdio.h>
> #include <netdb.h>
>
> int main(int argc, char **argv) {
>     struct hostent *h = gethostbyname("localhost");
>     printf("name: %s\n", h->h_name);
>     return 0;
> }

This is because _nss_files_gethostbyname3_r asserts that bufferend is
sizeof-aligned (4 bytes for a char *), but parse_list only rounds to
__alignof__(char *), which is (unusually) just 2 bytes on m68k. The
above patch forwarded upstream weakens the assertion (and subsequent
rounding on future loop iterations) to only be __alignof__(char *).

Regards,
James

--- End Message ---
--- Begin Message ---
Version: 2.27-1

On 2017-07-11 21:21, James Clarke wrote:
> Package: libc6
> Version: 2.24-12
> Tags: upstream patch
> Forwarded: https://sourceware.org/ml/libc-alpha/2017-07/msg00466.html
> User: debian-68k@lists.debian.org
> Usertags: m68k
> X-Debbugs-Cc: debian-68k@lists.debian.org
> 
> Hi,
> On m68k, gethostbyname can sometimes cause an assertion failure:
> 
> > "nss_files/files-hosts.c:218: _nss_files_gethostbyname3_r: Assertion `(bufferend - (char *) 0) % sizeof (char *) == 0' failed."
> 

According to upstream this problem has been fixed in version 2.27-1. I
am therefore closing the bug with that version.

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                 http://www.aurel32.net

--- End Message ---

Reply to: