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

Reply via email to