Bug#1128400: dovecot: FTBFS with glibc 2.43 on arm64, issue with 2MB THP

Emanuele Rocca <[email protected]>
Newsgroups gmane.linux.debian.ports.arm
Message-ID <aZbiivVAmre8OUzV__4860.93023080088$1771496256$gmane$org@ariel.home>
Source: dovecot
Version: 1:2.4.2+dfsg1-3
Severity: important
User: [email protected]
Usertags: arm64
X-Debbugs-Cc: [email protected]

Hi,

dovecot fails to build from source on arm64 when using glibc 2.43,
currently in experimental.

The build gets stuck in a endless loop. The failed assert below was
logged several million times on the system where I was building the
package when I noticed the multi-GB build log and killed the build:

   make[4]: Entering directory '/build/reproducible-path/dovecot-2.4.2+dfsg1/src/lib-ssl-iostream'
   for bin in test-iostream-ssl; do \
     if !  ./$bin; then exit 1; fi; \
   done
   ssl: handshake ....................................................... : ok
   test-iostream-ssl.c:448: Assert failed: o_stream_send(client->output, buf, avail) == (ssize_t)avail
   test-iostream-ssl.c:105: Assert failed: i_stream_read_bytes(ep->input, &data, &size, 1) > -1 || ep->input->stream_errno == 0
   test-iostream-ssl.c:105: Assert failed: i_stream_read_bytes(ep->input, &data, &size, 1) > -1 || ep->input->stream_errno == 0
   test-iostream-ssl.c:105: Assert failed: i_stream_read_bytes(ep->input, &data, &size, 1) > -1 || ep->input->stream_errno == 0
   [EMA: SNIP!]

Logs here: https://people.debian.org/~ema/glibc-2.43-rebuilds/output-1/dovecot_arm64.build

The issue is triggered by glibc 2.43 on arm64 enabling 2MB THP by
default:
https://sourceware.org/git/?p=glibc.git;a=commit;h=321e1fc73f53081d92ba357cdd48c56b79292020

The problem is however not architecture-specific. For example it can be
reproduced with glibc 2.42 on amd64 by building the package with the
GLIBC_TUNABLES environment variable set to glibc.malloc.hugetlb=2.

Cheers,
  ema
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.