dovecot: lmtp: Error: fatal error: failed to reserve page summary memory
dovecot: lmtp: Error: fatal error: failed to reserve page summary memory
从 ubuntu
18 更新到 20 后
从 sieve
规则文件
开始在 运行 golang
二进制文件中获取此内容
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" ""; }
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=";
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
重写为 rust
:( 一切正常。
对于可能偶然发现相同问题的任何人:
这似乎是由 Golang 1.14 及更高版本中内存分配器代码的更改引起的 - 请参阅 Go issue。
我已经能够通过将 lmtp 进程的 vsz_limit 设置为 768MB 来规避它。
从 ubuntu
18 更新到 20 后
从 sieve
规则文件
golang
二进制文件中获取此内容
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" ""; }
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=";
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
重写为 rust
:( 一切正常。
对于可能偶然发现相同问题的任何人: 这似乎是由 Golang 1.14 及更高版本中内存分配器代码的更改引起的 - 请参阅 Go issue。 我已经能够通过将 lmtp 进程的 vsz_limit 设置为 768MB 来规避它。