dovecot:lmtp:错误:致命错误:无法保留页面摘要内存

问题描述 投票:0回答:2

ubuntu
18更新到20后 开始从
golang
规则文件
运行 
sieve

二进制文件来获取此信息
Sep 17 08:54:00 mailserver spamd[3231]: spamd: connection from ::1 [::1]:57844 to port 783, fd 5
Sep 17 08:54:00 mailserver spamd[3231]: spamd: setuid to Debian-exim succeeded
Sep 17 08:54:00 mailserver spamd[3231]: spamd: processing message <CANcP0tbws-r=L8KrTug_NKLk0EuPwo1vKotdpV=Pf95Pxusbww@mail.gmail.com> for Debian-exim:114
Sep 17 08:54:00 mailserver systemd-resolved[527]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with reduced feature level UDP.
Sep 17 08:54:00 mailserver systemd-resolved[527]: message repeated 8 times: [ Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with reduced feature level UDP.]
Sep 17 08:54:00 mailserver spamd[3231]: spamd: clean message (1.1/5.0) for Debian-exim:114 in 0.3 seconds, 2760 bytes.
Sep 17 08:54:00 mailserver spamd[3231]: spamd: result: . 1 - DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,RDNS_NONE,SPF_HELO_NONE,SPF_PASS scantime=0.3,size=2760,user=Debian-exim,uid=114,required_score=5.0,rhost=::1,raddr=::1,rport=57844,mid=<CANcP0tbws-r=L8KrTug_NKLk0EuPwo1vKotdpV=Pf95Pxusbww@mail.gmail.com>,autolearn=no autolearn_force=no
Sep 17 08:54:00 mailserver dovecot: lmtp(4254): Connect from local
Sep 17 08:54:00 mailserver dovecot: lmtp: Error: fatal error: failed to reserve page summary memory
Sep 17 08:54:00 mailserver dovecot: lmtp: Error:
Sep 17 08:54:00 mailserver dovecot: lmtp: Error: runtime stack:
Sep 17 08:54:00 mailserver dovecot: lmtp: Error: runtime.throw(0x1a48db5, 0x25)
Sep 17 08:54:00 mailserver dovecot: lmtp: Error: #011/usr/local/go/src/runtime/panic.go:1116 +0x72 fp=0x7ffe160d5860 sp=0x7ffe160d5830 pc=0x4ce5d2
Sep 17 08:54:00 mailserver dovecot: lmtp: Error: runtime.(*pageAlloc).sysInit(0x232c268)
Sep 17 08:54:00 mailserver dovecot: lmtp: Error: #011/usr/local/go/src/runtime/mpagealloc_64bit.go:80 +0x185 fp=0x7ffe160d58f0 sp=0x7ffe160d5860 pc=0x4c4e25
Sep 17 08:54:00 mailserver dovecot: lmtp: Error: runtime.(*pageAlloc).init(0x232c268, 0x232c260, 0x25cb8d8)
Sep 17 08:54:00 mailserver dovecot: lmtp: Error: #011/usr/local/go/src/runtime/mpagealloc.go:317 +0x75 fp=0x7ffe160d5918 sp=0x7ffe160d58f0 pc=0x4c2815
Sep 17 08:54:00 mailserver dovecot: lmtp: Error: runtime.(*mheap).init(0x232c260)
Sep 17 08:54:00 mailserver dovecot: lmtp: Error: #011/usr/local/go/src/runtime/mheap.go:743 +0x24b fp=0x7ffe160d5940 sp=0x7ffe160d5918 pc=0x4bf84b
Sep 17 08:54:00 mailserver dovecot: lmtp: Error: runtime.mallocinit()
Sep 17 08:54:00 mailserver dovecot: lmtp: Error: #011/usr/local/go/src/runtime/malloc.go:480 +0x109 fp=0x7ffe160d5968 sp=0x7ffe160d5940 pc=0x4a4c49
Sep 17 08:54:00 mailserver dovecot: lmtp: Error: runtime.schedinit()
Sep 17 08:54:00 mailserver dovecot: lmtp: Error: #011/usr/local/go/src/runtime/proc.go:563 +0x65 fp=0x7ffe160d59c0 sp=0x7ffe160d5968 pc=0x4d1f25
Sep 17 08:54:00 mailserver dovecot: lmtp: Error: runtime.rt0_go(0x7ffe160d5ad8, 0x2, 0x7ffe160d5ad8, 0x1813580, 0x7fd3cc8a80b3, 0x7fd3cca6cb80, 0x7ffe160d5ad8, 0x200011c00, 0x501080, 0x1813580, ...)
Sep 17 08:54:00 mailserver dovecot: lmtp: Error: #011/usr/local/go/src/runtime/asm_amd64.s:214 +0x125 fp=0x7ffe160d59c8 sp=0x7ffe160d59c0 pc=0x5011c5
Sep 17 08:54:00 mailserver dovecot: lmtp(roman)<4254></X0wOCgkY1+eEAAAgcArzw>: program exec:/usr/lib/dovecot/sieve-execute/smtp (4255): Terminated with non-zero exit code 2
Sep 17 08:54:00 mailserver dovecot: lmtp(roman)<4254></X0wOCgkY1+eEAAAgcArzw>: sieve: msgid=<CANcP0tbws-r=L8KrTug_NKLk0EuPwo1vKotdpV=Pf95Pxusbww@mail.gmail.com>: stored mail into mailbox 'Unsubscribe.Neighbors'
Sep 17 08:54:00 mailserver dovecot: lmtp(4254): Disconnect from local: Client has quit the connection (state=READY)
Sep 17 08:55:01 mailserver CRON[4257]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)

这是筛子规则:

require ["variables", "fileinto", "mailbox", "vnd.dovecot.execute"];
if address :matches "from" "*" { set "from" "${1}"; }

if anyof ( header :contains "subject" "unsubscribe neighbours",
                header :contains "subject" "unsubscribe neighbors") {
  execute "smtp" "-neighbors=${from}";
  fileinto :create "Unsubscribe.Neighbors";
} elsif address :contains "from" ["mailer-daemon", "postmaster", "internet mail delivery"] {
  if header :matches "X-Failed-Recipients" "*" {
    execute "smtp" "-email=${1}";
    fileinto :create "Mail Delivery System";
  } else {
    fileinto :create "Mail Delivery System.Warning";
  }
} else {
  # The rest goes into INBOX
  # default is "implicit keep", we do it explicitly here
  keep;
}

尝试过

/etc/dovecot/conf.d/90-sieve.conf
vsz_limit = 256M,但没有成功

有人可以帮我解决吗?

go dovecot sieve-language
2个回答
3
投票

对于任何可能偶然发现同样问题的人: 这似乎是由 Golang 1.14 及更高版本中内存分配器代码的更改引起的 - 请参阅Go问题。 我已经能够通过将 lmtp 进程的 vsz_limit 设置为 768MB 来规避它。


-2
投票

最后将

go
重写为
rust
:( 一切正常。

© www.soinside.com 2019 - 2024. All rights reserved.