Subject: Re: bug#661: dovecot fails to authenticate system users

From: Mark Hindley <[email-masked]>
Date: Sun, 19 Feb 2023 12:04:08 +0000

Control: reassign -1 dovecot-core

Resolved. Documenting details here for reference.

Set

 auth_debug=yes
 auth_verbose=yes

to produce

On Fri, Feb 17, 2023 at 03:21:00PM +0000, David Matthews wrote:
> hi Mark
> 
> root@bulawayo:/home/david# doveadm auth test david@localhost
> Password: 
> passdb: david@localhost auth failed
> extra fields:
>   user=david@localhost
>   code=temp_fail
> 
> (same if I do david@bulawayo BTW)
> 
> and a grep at mail.warn:-
> 
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: fatal error: failed to reserve page summary memory
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: 
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: runtime stack:
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: runtime.throw(0x7f18f8934292, 0x25)
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: #011runtime/panic.go:1116 +0x74 fp=0x7f18f8641b30 sp=0x7f18f8641b00 pc=0x7f18f8762474
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: runtime.(*pageAlloc).sysInit(0x7f18f8b20428)
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: #011runtime/mpagealloc_64bit.go:80 +0x185 fp=0x7f18f8641bc0 sp=0x7f18f8641b30 pc=0x7f18f8758b25
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: runtime.(*pageAlloc).init(0x7f18f8b20428, 0x7f18f8b20420, 0x7f18f8b3ab18)
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: #011runtime/mpagealloc.go:317 +0x77 fp=0x7f18f8641be8 sp=0x7f18f8641bc0 pc=0x7f18f8756517
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: runtime.(*mheap).init(0x7f18f8b20420)
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: #011runtime/mheap.go:743 +0x24b fp=0x7f18f8641c10 sp=0x7f18f8641be8 pc=0x7f18f87534cb
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: runtime.mallocinit()
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: #011runtime/malloc.go:480 +0x109 fp=0x7f18f8641c38 sp=0x7f18f8641c10 pc=0x7f18f8738c09
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: runtime.schedinit()
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: #011runtime/proc.go:563 +0x65 fp=0x7f18f8641c90 sp=0x7f18f8641c38 pc=0x7f18f8765e25
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: runtime.rt0_go(0x7ffef46854f8, 0x2, 0x7ffef46854f8, 0x7f18f8642700, 0x7f18f91c4ea7, 0x0, 0x7f18f8642700, 0x7f18f8642700, 0xefb14e7355c6fbae, 0x7ffef4683b8e, ...)
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth-worker: Error: #011runtime/asm_amd64.s:214 +0x129 fp=0x7f18f8641c98 sp=0x7f18f8641c90 pc=0x7f18f8794c09
> /var/log/mail.warn:Feb 17 15:13:30 bulawayo dovecot: auth: Error: auth worker: Aborted PASSV request for david@localhost: Worker process died unexpectedl

This problem with changes to the golang allocator is known upstream[1]. They
tolerate a memory requirement of 4096MB[2].

Configuring dovecot with

 default_vsz_limit = 4096M

restored normal function.

Mark

[1]  https://github.com/golang/go/issues/38010

[2]  https://github.com/golang/go/issues/38010#issuecomment-691772381

---

From: Mark Hindley <[email-masked]>
Date: Sun, 19 Feb 2023 13:47:39 +0000

Review of installed binaries revealed fscrypt which is implemented in golang and
hooks PAM authentication with libpam-fscrypt.

Closing.

Mark