100% CPU after a few hours

Since August 2019, my normally well behaved mail server on Container Linux (CoreOS alpha) has been unstable. When I check, the CPU is 100% and kswapd0 is eating all of the CPU. I have doubled the size of the instance to 2GB and that did not fix anything. I also added 2GB of swap to no avail (although it helps getting logged into the box and rebooting it).
Context
Something is causing the host running this container to start swapping until the entire box becomes unresponsive. I have tried all releases since late August, and they all have the same issue. I have tried to upsize the instance (doubling the cost of running the server), but it doesn't even slow down the eventual thrashing.
I have switched from CoreOS alpha channel to beta, thinking it might be an OS related issue, but that didn't help.
I have tried disabling postgrey, spamassassin to reduce the need for memory and CPU. I have the typical script kiddies trying to login to randomly generated usernames in dovecot, along with the constant attempts to relay, but the load on the mailserver is a few hundred messages per day. It's a family domain. Currently my family is cursing me because of how unreliable this is.
I'm beginning to think this is a memory leak, because I can't see something that ran so well on 1G now consuming 2G, plus another 400M of swap (I never ran this host with swap in the past -- that's like admitting you undersized the instance).
Expected Behavior
A 2GB server should be able to run 8 mailboxes of about 200 messages per day without locking up and running 100% CPU going to kswapd0 when running postgrey, postfix, dovecot, spamassassin.
Actual Behavior
Every few hours I have to force reboot the VM to gain control of the instance.
Possible Fix
Did one of the programs get updated after mid August that might have a memory leak?
Steps to Reproduce

docker pull after August 20th
start mailserver
wait between 2 and 24 hours for 100% CPU
don't profit! Family members complain about not getting faceplant emails -- get removed from Christmas list.

Your Environment

Amount of RAM available: 2GB + 2GB swap
Mailserver version used:

tvial/docker-mailserver   latest              8ae795dc146c        28 hours ago        533MB
tvial/docker-mailserver   <none>              0748e6cd5b66        9 days ago          532MB
tvial/docker-mailserver   <none>              17951f1b1404        10 days ago         519MB
tvial/docker-mailserver   <none>              c12a52b009b6        12 days ago         519MB
tvial/docker-mailserver   <none>              fd28d098b660        2 weeks ago         519MB
tvial/docker-mailserver   <none>              d4b80bb5a370        2 weeks ago         519MB

Docker version used:

Client:
 Version:           18.06.3-ce
 API version:       1.38
 Go version:        go1.10.8
 Git commit:        d7080c1
 Built:             Tue Feb 19 23:07:53 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.3-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       d7080c1
  Built:            Tue Feb 19 23:07:53 2019
  OS/Arch:          linux/amd64
  Experimental:     false

Environment settings relevant to the config:

HOSTNAME=mail
DOMAINNAME=example.us
CONTAINER_NAME=example.us
OVERRIDE_HOSTNAME=mail.example.us
DMS_DEBUG=0
ONE_DIR=1
<EMAIL_ADDRESS>PERMIT_DOCKER=network
TLS_LEVEL=modern
SPOOF_PROTECTION=1
ENABLE_SRS=0
ENABLE_POP3=1
ENABLE_CLAMAV=0
ENABLE_FAIL2BAN=1
ENABLE_MANAGESIEVE=
POSTSCREEN_ACTION=enforce
SMTP_ONLY=
SSL_TYPE=letsencrypt
VIRUSMAILS_DELETE_DELAY=2
ENABLE_POSTFIX_VIRTUAL_TRANSPORT=
POSTFIX_DAGENT=
POSTFIX_MAILBOX_SIZE_LIMIT=
POSTFIX_MESSAGE_SIZE_LIMIT=
<EMAIL_ADDRESS><EMAIL_ADDRESS>REPORT_INTERVAL=daily
ENABLE_SPAMASSASSIN=1
SA_TAG=2.0
SA_TAG2=6.31
SA_KILL=6.31
SA_SPAM_SUBJECT=SPAM:
ENABLE_FETCHMAIL=0
FETCHMAIL_POLL=300
ENABLE_LDAP=
LDAP_START_TLS=
LDAP_SERVER_HOST=
LDAP_SEARCH_BASE=
LDAP_BIND_DN=
LDAP_BIND_PW=
LDAP_QUERY_FILTER_USER=
LDAP_QUERY_FILTER_GROUP=
LDAP_QUERY_FILTER_ALIAS=
LDAP_QUERY_FILTER_DOMAIN=
DOVECOT_TLS=
DOVECOT_USER_FILTER=
DOVECOT_PASS_FILTER=
ENABLE_POSTGREY=1
POSTGREY_DELAY=15
POSTGREY_MAX_AGE=35
POSTGREY_TEXT=Delayed by postgrey
POSTGREY_AUTO_WHITELIST_CLIENTS=2
ENABLE_SASLAUTHD=0
SASLAUTHD_MECHANISMS=
SASLAUTHD_MECH_OPTIONS=
SASLAUTHD_LDAP_SERVER=
SASLAUTHD_LDAP_SSL=
SASLAUTHD_LDAP_BIND_DN=
SASLAUTHD_LDAP_PASSWORD=
SASLAUTHD_LDAP_SEARCH_BASE=
SASLAUTHD_LDAP_FILTER=
SASLAUTHD_LDAP_START_TLS=
SASLAUTHD_LDAP_TLS_CHECK_PEER=
SASL_PASSWD=
SRS_EXCLUDE_DOMAINS=
SRS_SECRET=
DEFAULT_RELAY_HOST=
RELAY_HOST=
RELAY_PORT=25
RELAY_USER=
RELAY_PASSWORD=

Any relevant stack traces ("Full trace" preferred):

Happy:
top - 00:11:28 up  9:34,  1 user,  load average: 0.04, 0.02, 0.00
Tasks: 125 total,   1 running, 124 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.7 sy,  0.0 ni, 98.7 id,  0.0 wa,  0.3 hi,  0.0 si,  0.0 st
MiB Mem :   1994.1 total,    686.6 free,    563.4 used,    744.1 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   1054.3 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
11799 root      20   0   58492  20768   7368 S   0.3   1.0   0:01.25 supervisord
12341 root      20   0   17980   2968   2664 S   0.3   0.1   0:00.19 bash
12473 root      20   0  646292  18428   6532 S   0.3   0.9   0:02.69 fail2ban-server
19525 core      20   0    7164   3852   3288 R   0.3   0.2   0:00.09 top
    1 root      20   0   98620  11132   7656 S   0.0   0.5   0:34.18 systemd
    2 root      20   0       0      0      0 S   0.0   0.0   0:00.01 kthreadd
    3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
    4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp
    6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-kblockd
    8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq
    9 root      20   0       0      0      0 S   0.0   0.0   0:00.49 ksoftirqd/0
   10 root      20   0       0      0      0 I   0.0   0.0   0:00.51 rcu_sched
   11 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_bh
   12 root      rt   0       0      0      0 S   0.0   0.0   0:00.07 migration/0
   14 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0
   15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kdevtmpfs
   16 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns
   17 root      20   0       0      0      0 S   0.0   0.0   0:00.09 kauditd
   18 root      20   0       0      0      0 S   0.0   0.0   0:00.07 khungtaskd
   19 root      20   0       0      0      0 S   0.0   0.0   0:00.00 oom_reaper
   20 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 writeback
   21 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kcompactd0
   22 root      25   5       0      0      0 S   0.0   0.0   0:00.00 ksmd
   23 root      39  19       0      0      0 S   0.0   0.0   0:00.32 khugepaged
   24 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 crypto

21 hours later:
top - 12:11:07 up 21:34,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 122 total,   1 running, 121 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.0 us,  0.7 sy,  0.0 ni, 98.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1994.1 total,    100.0 free,    752.4 used,   1141.7 buff/cache
MiB Swap:   2048.0 total,   2047.2 free,      0.8 used.    866.0 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    1 root      20   0   98620  11132   7656 S   0.0   0.5   1:47.35 systemd
    2 root      20   0       0      0      0 S   0.0   0.0   0:00.02 kthreadd
    3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
    4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp
    6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-kblockd
    8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq
    9 root      20   0       0      0      0 S   0.0   0.0   0:02.45 ksoftirqd/0
   10 root      20   0       0      0      0 I   0.0   0.0   0:02.36 rcu_sched
   11 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_bh
   12 root      rt   0       0      0      0 S   0.0   0.0   0:00.14 migration/0
   14 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0
   15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kdevtmpfs
   16 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns
   17 root      20   0       0      0      0 S   0.0   0.0   0:00.09 kauditd
   18 root      20   0       0      0      0 S   0.0   0.0   0:00.09 khungtaskd
   19 root      20   0       0      0      0 S   0.0   0.0   0:00.00 oom_reaper
   20 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 writeback
   21 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kcompactd0
   22 root      25   5       0      0      0 S   0.0   0.0   0:00.00 ksmd
   23 root      39  19       0      0      0 S   0.0   0.0   0:00.64 khugepaged
   24 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 crypto
   25 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kintegrityd
   26 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kblockd
   27 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 watchdogd
   30 root      20   0       0      0      0 S   0.0   0.0   0:00.23 kswapd0

34 hours later:
top - 00:53:12 up 1 day, 10:16,  1 user,  load average: 0.02, 0.01, 0.00
Tasks: 124 total,   1 running, 123 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.7 us,  1.3 sy,  0.0 ni, 97.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1994.1 total,    138.9 free,   1078.5 used,    776.7 buff/cache
MiB Swap:   2048.0 total,   2044.0 free,      4.0 used.    537.0 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    1 root      20   0   98620  11068   7592 S   0.3   0.5   4:34.87 systemd
  503 root      20   0<PHONE_NUMBER>72 135280 S   0.3   6.8   0:40.96 systemd-journal
 4122 core      20   0    7160   3744   3124 R   0.3   0.2   0:59.83 top
12473 root      20   0  646548  20472   6532 S   0.3   1.0   1:27.26 fail2ban-server
    2 root      20   0       0      0      0 S   0.0   0.0   0:00.03 kthreadd
    3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
    4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp
    6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-kblockd
    8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq
    9 root      20   0       0      0      0 S   0.0   0.0   0:05.25 ksoftirqd/0
   10 root      20   0       0      0      0 I   0.0   0.0   0:04.66 rcu_sched
   11 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_bh
   12 root      rt   0       0      0      0 S   0.0   0.0   0:00.22 migration/0
   14 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0
   15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kdevtmpfs
   16 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns
   17 root      20   0       0      0      0 S   0.0   0.0   0:00.09 kauditd
   18 root      20   0       0      0      0 S   0.0   0.0   0:00.11 khungtaskd
   19 root      20   0       0      0      0 S   0.0   0.0   0:00.00 oom_reaper
   20 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 writeback
   21 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kcompactd0
   22 root      25   5       0      0      0 S   0.0   0.0   0:00.00 ksmd
   23 root      39  19       0      0      0 S   0.0   0.0   0:02.19 khugepaged
   24 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 crypto
   25 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kintegrityd

73 hours later:
top - 16:22:04 up 3 days,  1:45,  1 user,  load average: 0.34, 0.64, 1.94
Tasks: 117 total,   5 running, 110 sleeping,   0 stopped,   2 zombie
%Cpu(s):  1.0 us,  7.0 sy,  0.0 ni, 91.1 id,  0.3 wa,  0.3 hi,  0.3 si,  0.0 st
MiB Mem :   1994.1 total,     65.6 free,   1674.0 used,    254.5 buff/cache
MiB Swap:   2048.0 total,   1488.0 free,    560.0 used.    177.2 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
   30 root      20   0       0      0      0 R   3.3   0.0  87:23.33 kswapd0
16582 root      20   0       0      0      0 I   1.7   0.0   0:04.19 kworker/u2:2-kverityd
   10 root      20   0       0      0      0 R   0.3   0.0   3:51.65 rcu_sched
 8500 root      20   0  647808   1372    652 S   0.3   0.1   9:31.50 containerd
12462 root      20   0   18044   1320   1152 S   0.3   0.1   4:06.02 check-for-chang
19988 root      20   0       0      0      0 I   0.3   0.0   0:00.04 kworker/0:1-events
20012 root      20   0       0      0      0 R   0.3   0.0   0:00.80 kworker/u2:3-kverityd
21475 root      20   0       0      0      0 Z   0.3   0.0   0:00.01 sshd
21479 root      20   0    8156   5076   4452 S   0.3   0.2   0:00.01 sshd
    1 root      20   0   98620   3412   1912 R   0.0   0.2  34:33.18 systemd
    2 root      20   0       0      0      0 S   0.0   0.0   0:00.07 kthreadd
    3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
    4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp
    6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-kblockd
    8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq
    9 root      20   0       0      0      0 S   0.0   0.0   0:38.67 ksoftirqd/0
   11 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_bh
   12 root      rt   0       0      0      0 S   0.0   0.0   0:01.25 migration/0
   14 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0
   15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kdevtmpfs
   16 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns
   17 root      20   0       0      0      0 S   0.0   0.0   0:00.09 kauditd
   18 root      20   0       0      0      0 S   0.0   0.0   0:00.35 khungtaskd
   19 root      20   0       0      0      0 S   0.0   0.0   0:00.00 oom_reaper
   20 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 writeback

101 hours later (email unresponsive):
top - 20:02:15 up 4 days,  5:25,  1 user,  load average: 9.88, 11.57, 11.78
Tasks: 129 total,   2 running, 127 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.5 us, 95.3 sy,  0.0 ni,  0.0 id,  0.3 wa,  1.9 hi,  0.0 si,  0.0 st
MiB Mem :   1994.1 total,     57.4 free,   1693.8 used,    242.8 buff/cache
MiB Swap:   2048.0 total,   1534.0 free,    514.0 used.    165.1 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
   30 root      20   0       0      0      0 R  62.9   0.0 864:13.96 kswapd0
 8502 root      20   0  789704    492    332 S   5.4   0.0  66:41.22 dockerd
21080 109       20   0  257348  11932    328 D   5.1   0.6   0:01.08 /usr/sbin/amavi
21079 109       20   0  257348  11972    328 D   4.8   0.6   0:01.14 /usr/sbin/amavi
13126 root      20   0   81188    104      0 S   2.6   0.0   2:03.95 master
   10 root      20   0       0      0      0 I   2.2   0.0  34:51.67 rcu_sched
12462 root      20   0   18044    368    200 S   1.9   0.0  19:05.51 check-for-chang
  280 root       0 -20       0      0      0 I   1.6   0.0  15:06.68 kworker/0:1H-kblockd
11799 root      20   0   58884   1892      0 S   1.6   0.1  23:40.23 supervisord
12473 root      20   0  646548   2712      0 S   1.6   0.1  42:41.26 fail2ban-server
21131 101       20   0   92300    996      0 S   1.6   0.0   0:00.05 smtp
 8500 root      20   0  647808    164    156 S   0.6   0.0  48:56.92 containerd
15860 root      20   0       0      0      0 I   0.6   0.0   0:48.75 kworker/u2:0-kverityd
21122 101       20   0   92300    440      0 S   0.6   0.0   0:00.32 smtp
12341 root      20   0   17980    252    128 S   0.3   0.0   6:10.79 bash
18341 root      20   0       0      0      0 I   0.3   0.0   0:03.26 kworker/0:4-events_power_efficient
21130 101       20   0   83288    776      0 S   0.3   0.0   0:00.06 bounce
    1 root      20   0   98668    300    300 S   0.0   0.0  97:35.82 systemd
    2 root      20   0       0      0      0 S   0.0   0.0   0:00.44 kthreadd
    3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
    4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp
    6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-kblockd
    8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq
    9 root      20   0       0      0      0 S   0.0   0.0   1:42.22 ksoftirqd/0
   11 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_bh

mail.err (truncated to remove the error in line 336 which fills the log):
Sep 26 00:22:49 mail opendkim[470]: 77E8B10E817: key retrieval failed (s=smtpapi, d=vzw.com): 'smtpapi._domainkey.vzw.com' record not found
Sep 27 19:10:17 mail opendkim[470]: 7A6E110ECCF: key retrieval failed (s=ngpweb3, d=ppoh.org): 'ngpweb3._domainkey.ppoh.org' record not found
Sep 28 00:32:35 mail opendkim[470]: 54EEE10ECDE: key retrieval failed (s=smtpapi, d=vzw.com): 'smtpapi._domainkey.vzw.com' record not found
Sep 28 19:05:38 mail amavis[16643]: (!!)TROUBLE in child_init_hook: BDB can't connect db env. at /var/lib/amavis/db: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery, No such file or directory. at (eval 92) line 336.
Sep 28 19:05:38 mail amavis[16642]: (!!)TROUBLE in child_init_hook: BDB can't connect db env. at /var/lib/amavis/db: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery, No such file or directory. at (eval 92) line 336.
Sep 28 19:07:09 mail amavis[16839]: (!!)TROUBLE in child_init_hook: BDB can't connect db env. at /var/lib/amavis/db: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery, No such file or directory. at (eval 92) line 336.
Sep 28 19:07:09 mail amavis[16838]: (!!)TROUBLE in child_init_hook: BDB can't connect db env. at /var/lib/amavis/db: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery, No such file or directory. at (eval 92) line 336.
Sep 28 19:08:23 mail amavis[17028]: (!!)TROUBLE in child_init_hook: BDB can't connect db env. at /var/lib/amavis/db: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery, No such file or directory. at (eval 92) line 336.
Sep 28 19:08:23 mail amavis[17027]: (!!)TROUBLE in child_init_hook: BDB can't connect db env. at /var/lib/amavis/db: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery, No such file or directory. at (eval 92) line 336.
Sep 28 19:09:56 mail amavis[17228]: (!!)TROUBLE in child_init_hook: BDB can't connect db env. at /var/lib/amavis/db: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery, No such file or directory. at (eval 92) line 336.
Sep 28 19:09:56 mail amavis[17227]: (!!)TROUBLE in child_init_hook: BDB can't connect db env. at /var/lib/amavis/db: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery, No such file or directory. at (eval 92) line 336.
Sep 28 19:11:27 mail amavis[17436]: (!!)TROUBLE in child_init_hook: BDB can't connect db env. at /var/lib/amavis/db: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery, No such file or directory. at (eval 92) line 336.
Sep 28 19:11:27 mail amavis[17435]: (!!)TROUBLE in child_init_hook: BDB can't connect db env. at /var/lib/amavis/db: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery, No such file or directory. at (eval 92) line 336.
Sep 28 15:10:53 mail postfix/postscreen[1735]: fatal: watchdog timeout
Sep 28 16:39:52 mail postfix/postscreen[19207]: fatal: watchdog timeout
Sep 29 00:24:15 mail opendkim[470]: B493510EEC7: key retrieval failed (s=smtpapi, d=vzw.com): 'smtpapi._domainkey.vzw.com' record not found
Sep 29 01:09:51 mail opendkim[470]: 0964410EECC: key retrieval failed (s=default, d=indeed.com): 'default._domainkey.indeed.com' query timed out
Sep 29 01:40:39 mail postfix/smtpd[2370]: fatal: no SASL authentication mechanisms
Sep 29 02:57:23 mail postfix/smtpd[9104]: fatal: no SASL authentication mechanisms
Sep 29 03:05:20 mail postfix/postscreen[9456]: fatal: watchdog timeout
Sep 29 03:13:21 mail dovecot: master: Error: service(imap-login): command startup failed, throttling for 2 secs
Sep 29 03:13:21 mail dovecot: imap-login: Fatal: Error reading configuration: read(/var/run/dovecot/config) failed: read(size=8192) failed: Interrupted system call
Sep 29 03:23:25 mail postfix/postscreen[10217]: fatal: watchdog timeout
Sep 29 03:32:14 mail postfix/postscreen[11467]: fatal: watchdog timeout
Sep 29 04:14:35 mail postfix/postscreen[14694]: fatal: watchdog timeout
Sep 29 04:15:24 mail dovecot: master: Error: service(imap-login): command startup failed, throttling for 2 secs
Sep 29 04:15:24 mail dovecot: imap-login: Fatal: Error reading configuration: read(/var/run/dovecot/config) failed: read(size=8192) failed: Interrupted system call
Sep 29 04:42:32 mail opendkim[470]: AD08610C71C: key retrieval failed (s=dkim, d=afemeds.monster): 'dkim._domainkey.afemeds.monster' query timed out
Sep 29 04:48:02 mail postfix/postscreen[17229]: fatal: watchdog timeout
Sep 29 04:55:17 mail postfix/postscreen[17665]: fatal: watchdog timeout
Sep 29 04:57:52 mail postfix/postscreen[17989]: fatal: watchdog timeout
Sep 29 05:02:42 mail postfix/postscreen[18283]: fatal: watchdog timeout
Sep 29 05:14:10 mail postfix/smtpd[19252]: fatal: no SASL authentication mechanisms
Sep 29 05:14:22 mail dovecot: master: Error: service(auth): command startup failed, throttling for 2 secs
Sep 29 05:14:25 mail dovecot: auth: Fatal: Error reading configuration: read(/var/run/dovecot/config) failed: read(size=8192) failed: Interrupted system call
Sep 29 05:16:33 mail postfix/postscreen[19224]: fatal: watchdog timeout
Sep 29 05:36:06 mail dovecot: master: Error: service(imap-login): command startup failed, throttling for 2 secs
Sep 29 05:36:09 mail dovecot: imap-login: Fatal: Error reading configuration: read(/var/run/dovecot/config) failed: read(size=8192) failed: Interrupted system call
Sep 29 05:39:44 mail postfix/postscreen[20788]: fatal: watchdog timeout
Sep 29 05:51:00 mail postfix/postscreen[21586]: fatal: watchdog timeout
Sep 29 05:56:42 mail postfix/smtpd[22033]: fatal: no SASL authentication mechanisms
Sep 29 05:57:03 mail postfix/postscreen[21828]: fatal: watchdog timeout
Sep 29 06:13:46 mail postfix/postscreen[23126]: fatal: watchdog timeout
Sep 29 06:24:15 mail postfix/postscreen[23832]: fatal: watchdog timeout
Sep 29 06:31:26 mail dovecot: imap(gretchen@baumhauer.us): Error: Error reading configuration: read(/var/run/dovecot/config) failed: read(size=8192) failed: Interrupted system call
Sep 29 06:33:52 mail postfix/postscreen[24173]: fatal: watchdog timeout
Sep 29 06:39:04 mail postfix/postscreen[24511]: fatal: watchdog timeout
Sep 29 06:45:25 mail dovecot: master: Error: service(imap-login): command startup failed, throttling for 2 secs
Sep 29 06:45:26 mail dovecot: imap-login: Fatal: Error reading configuration: read(/var/run/dovecot/config) failed: read(size=8192) failed: Interrupted system call
Sep 29 06:51:52 mail postfix/postscreen[25111]: fatal: watchdog timeout
Sep 29 07:14:19 mail postfix/smtpd[26629]: fatal: no SASL authentication mechanisms
Sep 29 07:14:27 mail dovecot: master: Error: service(auth): command startup failed, throttling for 2 secs
Sep 29 07:14:29 mail dovecot: auth: Fatal: Error reading configuration: read(/var/run/dovecot/config) failed: read(size=8192) failed: Interrupted system call
Sep 29 07:15:08 mail postfix/smtpd[26649]: fatal: no SASL authentication mechanisms
Sep 29 07:18:41 mail postfix/postscreen[26610]: fatal: watchdog timeout
Sep 29 07:33:23 mail postfix/postscreen[27485]: fatal: watchdog timeout
Sep 29 07:40:54 mail postfix/postscreen[27657]: fatal: watchdog timeout
Sep 29 07:43:00 mail postfix/postscreen[27924]: fatal: watchdog timeout
Sep 29 07:44:53 mail postfix/smtpd[28139]: fatal: no SASL authentication mechanisms
Sep 29 07:44:53 mail postfix/smtpd[28150]: fatal: no SASL authentication mechanisms
Sep 29 07:44:53 mail postfix/smtpd[28154]: fatal: no SASL authentication mechanisms
Sep 29 07:44:54 mail postfix/smtpd[28162]: fatal: no SASL authentication mechanisms
Sep 29 07:53:01 mail postfix/postscreen[28522]: fatal: watchdog timeout
Sep 29 07:59:58 mail amavis[28441]: (28441-01) (!!)TROUBLE in check_mail, but must continue (1): update_snmp FAILED: timed out
Sep 29 08:00:24 mail dovecot: master: Error: service(imap-login): command startup failed, throttling for 2 secs
Sep 29 08:00:26 mail dovecot: imap-login: Fatal: Error reading configuration: read(/var/run/dovecot/config) failed: read(size=8192) failed: Interrupted system call
Sep 29 08:06:55 mail amavis[28440]: (28440-02) (!!)TROUBLE in check_mail, but must continue (1): main_log_entry FAILED: timed out
Sep 29 08:14:49 mail postfix/smtpd[29556]: fatal: no SASL authentication mechanisms
Sep 29 08:17:34 mail amavis[28441]: (28441-03) (!!)TROUBLE in check_mail: quar+notif FAILED: timed out at (eval 96) line 330.
Sep 29 08:22:17 mail postfix/postscreen[29555]: fatal: watchdog timeout
Sep 29 08:23:14 mail postfix/postscreen[29969]: fatal: watchdog timeout
Sep 29 08:26:01 mail amavis[28440]: (28440-04) (!!)TROUBLE in check_mail: forwarding FAILED: timed out
Sep 29 08:26:01 mail amavis[28441]: (28441-04) (!!)TROUBLE in check_mail, but must continue (1): forwarding FAILED: timed out
Sep 29 08:26:34 mail postfix/postscreen[30007]: fatal: watchdog timeout
Sep 29 08:26:47 mail amavis[28441]: (28441-04) (!!)TROUBLE in process_request: register_proc: BDB N db_cursor: BDB0061 PANIC: Invalid argument, . at (eval 92) line 219.
Sep 29 08:26:52 mail dovecot: master: Error: service(lmtp): Initial status notification not received in 30 seconds, killing the process
Sep 29 08:26:53 mail dovecot: lmtp: Fatal: master: service(lmtp): child 30103 killed with signal 9
Sep 29 08:26:58 mail amavis[28440]: (28440-04) (!!)TROUBLE in process_request: register_proc: BDB N c_put: BDB0060 PANIC: fatal region error detected; run recovery, . at (eval 92) line 231.
Sep 29 08:29:06 mail postfix/postscreen[30109]: fatal: watchdog timeout
Sep 29 08:47:25 mail postfix/postscreen[31552]: fatal: watchdog timeout
Sep 29 09:06:04 mail postfix/postscreen[426]: fatal: watchdog timeout
Sep 29 09:27:37 mail postfix/postscreen[2286]: fatal: watchdog timeout
Sep 29 09:50:46 mail postfix/postscreen[4524]: fatal: watchdog timeout
Sep 29 10:25:16 mail postfix/smtpd[8676]: fatal: no SASL authentication mechanisms
Sep 29 10:26:47 mail postfix/postscreen[8663]: fatal: watchdog timeout
Sep 29 12:19:50 mail dovecot: master: Error: service(imap-login): command startup failed, throttling for 2 secs
Sep 29 12:19:51 mail dovecot: imap-login: Fatal: Error reading configuration: read(/var/run/dovecot/config) failed: read(size=8192) failed: Interrupted system call
Sep 29 12:47:34 mail postfix/smtpd[27089]: fatal: no SASL authentication mechanisms
Sep 29 14:08:02 mail postfix/postscreen[6561]: fatal: watchdog timeout
Sep 29 17:07:14 mail opendkim[470]: 5717410EBBE: key retrieval failed (s=1, d=family.norton.com): '1._domainkey.family.norton.com' query timed out
Sep 29 17:10:16 mail postfix/postscreen[29168]: fatal: watchdog timeout
Sep 29 17:15:18 mail dovecot: master: Error: service(imap-login): command startup failed, throttling for 2 secs
Sep 29 17:15:18 mail dovecot: imap-login: Fatal: Error reading configuration: read(/var/run/dovecot/config) failed: read(size=8192) failed: Interrupted system call
Sep 29 17:42:27 mail opendkim[470]: 2A35310EED9: key retrieval failed (s=prodmail, d=verizonwireless.com): 'prodmail._domainkey.verizonwireless.com' query timed out
Sep 29 18:06:10 mail postfix/postscreen[2717]: fatal: watchdog timeout
Sep 29 18:21:57 mail dovecot: imap-login: Fatal: Error reading configuration: read(/var/run/dovecot/config) failed: read(size=8192) failed: Interrupted system call
Sep 29 18:21:57 mail dovecot: master: Error: service(imap-login): command startup failed, throttling for 2 secs
Sep 29 18:29:25 mail postfix/postscreen[4529]: fatal: watchdog timeout
Sep 29 18:32:32 mail postfix/postscreen[4976]: fatal: watchdog timeout
Sep 29 18:56:55 mail postfix/postscreen[7363]: fatal: watchdog timeout
Sep 29 20:00:01 mail postfix/postscreen[14035]: fatal: watchdog timeout
Sep 29 20:17:00 mail postfix/postscreen[15734]: fatal: watchdog timeout
Sep 29 20:31:46 mail dovecot: master: Error: service(imap-login): Initial status notification not received in 30 seconds, killing the process
Sep 29 20:31:47 mail dovecot: imap-login: Fatal: master: service(imap-login): child 17276 killed with signal 9

supervisord.log:
2019-09-25 23:44:21,899 CRIT Supervisor running as root (no user in config file)
2019-09-25 23:44:21,900 INFO Included extra file "/etc/supervisor/conf.d/saslauth.conf" during parsing
2019-09-25 23:44:21,900 INFO Included extra file "/etc/supervisor/conf.d/supervisor-app.conf" during parsing
2019-09-25 23:44:21,910 INFO RPC interface 'supervisor' initialized
2019-09-25 23:44:21,910 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2019-09-25 23:44:21,911 INFO supervisord started with pid 1
2019-09-25 23:44:22,914 INFO spawned: 'mailserver' with pid 8
2019-09-25 23:44:22,936 INFO success: mailserver entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2019-09-25 23:44:28,010 INFO spawned: 'cron' with pid 454
2019-09-25 23:44:28,010 INFO success: cron entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2019-09-25 23:44:28,246 INFO spawned: 'rsyslog' with pid 456
2019-09-25 23:44:28,247 INFO success: rsyslog entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2019-09-25 23:44:28,486 INFO spawned: 'dovecot' with pid 461
2019-09-25 23:44:28,487 INFO success: dovecot entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2019-09-25 23:44:28,808 INFO spawned: 'opendkim' with pid 468
2019-09-25 23:44:28,809 INFO success: opendkim entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2019-09-25 23:44:29,073 INFO spawned: 'opendmarc' with pid 476
2019-09-25 23:44:29,074 INFO success: opendmarc entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2019-09-25 23:44:29,344 INFO spawned: 'postgrey' with pid 484
2019-09-25 23:44:29,344 INFO success: postgrey entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2019-09-25 23:44:29,787 INFO spawned: 'postfix' with pid 486
2019-09-25 23:44:29,788 INFO success: postfix entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2019-09-25 23:44:30,210 INFO spawned: 'fail2ban' with pid 538
2019-09-25 23:44:30,211 INFO success: fail2ban entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2019-09-25 23:44:30,873 INFO spawned: 'changedetector' with pid 607
2019-09-25 23:44:30,874 INFO success: changedetector entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2019-09-25 23:44:30,927 INFO reaped unknown pid 615
2019-09-25 23:44:31,538 INFO spawned: 'amavis' with pid 678
2019-09-25 23:44:31,539 INFO success: amavis entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2019-09-25 23:44:34,252 INFO reaped unknown pid 582
2019-09-26 07:42:15,220 INFO waiting for amavis to stop
2019-09-26 07:42:15,518 INFO stopped: amavis (exit status 0)
2019-09-26 07:42:15,518 INFO reaped unknown pid 25278
2019-09-26 07:42:15,519 INFO reaped unknown pid 25279
2019-09-26 07:42:15,528 INFO spawned: 'amavis' with pid 15146
2019-09-26 07:42:15,534 INFO success: amavis entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2019-09-28 06:59:53,858 INFO waiting for amavis to stop
2019-09-28 06:59:56,911 INFO waiting for amavis to stop
2019-09-28 06:59:57,933 INFO waiting for amavis to stop
2019-09-28 06:59:59,938 INFO waiting for amavis to stop
2019-09-28 07:00:01,944 INFO waiting for amavis to stop
2019-09-28 07:00:02,601 INFO stopped: amavis (exit status 0)
2019-09-28 07:00:02,852 INFO spawned: 'amavis' with pid 26030
2019-09-28 07:00:02,872 INFO success: amavis entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2019-09-28 07:00:03,103 INFO reaped unknown pid 19985
2019-09-28 07:00:03,162 INFO reaped unknown pid 6129
2019-09-29 07:39:49,013 INFO waiting for amavis to stop
2019-09-29 07:39:51,032 INFO waiting for amavis to stop
2019-09-29 07:39:53,354 INFO waiting for amavis to stop
2019-09-29 07:39:55,086 INFO waiting for amavis to stop
2019-09-29 07:39:57,083 INFO waiting for amavis to stop
2019-09-29 07:40:00,306 WARN killing 'amavis' (26030) with SIGKILL
2019-09-29 07:40:11,810 INFO stopped: amavis (terminated by SIGKILL)
2019-09-29 07:40:13,321 INFO spawned: 'amavis' with pid 27888
2019-09-29 07:40:13,386 INFO success: amavis entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2019-09-29 08:30:26,992 INFO reaped unknown pid 29837
2019-09-29 08:30:26,995 INFO reaped unknown pid 29833

ps while VM is unresponsive:
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root         1     0  1 24667   292   0 Sep25 ?        01:39:55 /usr/lib/systemd/systemd --switched-root --system --deserialize 15
root         2     0  0     0     0   0 Sep25 ?        00:00:00 [kthreadd]
root         3     2  0     0     0   0 Sep25 ?        00:00:00 [rcu_gp]
root         4     2  0     0     0   0 Sep25 ?        00:00:00 [rcu_par_gp]
root         6     2  0     0     0   0 Sep25 ?        00:00:00 [kworker/0:0H-kblockd]
root         8     2  0     0     0   0 Sep25 ?        00:00:00 [mm_percpu_wq]
root         9     2  0     0     0   0 Sep25 ?        00:01:44 [ksoftirqd/0]
root        10     2  0     0     0   0 Sep25 ?        00:36:19 [rcu_sched]
root        11     2  0     0     0   0 Sep25 ?        00:00:00 [rcu_bh]
root        12     2  0     0     0   0 Sep25 ?        00:00:10 [migration/0]
root        14     2  0     0     0   0 Sep25 ?        00:00:00 [cpuhp/0]
root        15     2  0     0     0   0 Sep25 ?        00:00:00 [kdevtmpfs]
root        16     2  0     0     0   0 Sep25 ?        00:00:00 [netns]
root        17     2  0     0     0   0 Sep25 ?        00:00:00 [kauditd]
root        18     2  0     0     0   0 Sep25 ?        00:00:00 [khungtaskd]
root        19     2  0     0     0   0 Sep25 ?        00:00:00 [oom_reaper]
root        20     2  0     0     0   0 Sep25 ?        00:00:00 [writeback]
root        21     2  0     0     0   0 Sep25 ?        00:00:00 [kcompactd0]
root        22     2  0     0     0   0 Sep25 ?        00:00:00 [ksmd]
root        23     2  0     0     0   0 Sep25 ?        00:01:50 [khugepaged]
root        24     2  0     0     0   0 Sep25 ?        00:00:00 [crypto]
root        25     2  0     0     0   0 Sep25 ?        00:00:00 [kintegrityd]
root        26     2  0     0     0   0 Sep25 ?        00:00:00 [kblockd]
root        27     2  0     0     0   0 Sep25 ?        00:00:00 [watchdogd]
root        30     2 14     0     0   0 Sep25 ?        14:47:00 [kswapd0]
root        45     2  0     0     0   0 Sep25 ?        00:00:00 [kthrotld]
root        46     2  0     0     0   0 Sep25 ?        00:00:00 [acpi_thermal_pm]
root        47     2  0     0     0   0 Sep25 ?        00:00:00 [hwrng]
root        48     2  0     0     0   0 Sep25 ?        00:00:00 [ipv6_addrconf]
root       280     2  0     0     0   0 Sep25 ?        00:15:34 [kworker/0:1H-kblockd]
root       282     2  0     0     0   0 Sep25 ?        00:00:00 [ata_sff]
root       284     2  0     0     0   0 Sep25 ?        00:00:00 [scsi_eh_0]
root       287     2  0     0     0   0 Sep25 ?        00:00:00 [scsi_tmf_0]
root       293     2  0     0     0   0 Sep25 ?        00:00:00 [scsi_eh_1]
root       295     2  0     0     0   0 Sep25 ?        00:00:00 [scsi_tmf_1]
root       343     2  0     0     0   0 Sep25 ?        00:00:00 [kdmflush]
root       345     2  0     0     0   0 Sep25 ?        00:00:00 [dm_bufio_cache]
root       346     2  0     0     0   0 Sep25 ?        00:00:00 [kverityd]
root       371     2  0     0     0   0 Sep25 ?        00:00:00 [kworker/u3:0]
root       373     2  0     0     0   0 Sep25 ?        00:00:41 [jbd2/vda9-8]
root       374     2  0     0     0   0 Sep25 ?        00:00:00 [ext4-rsv-conver]
root       377     2  0     0     0   0 Sep25 ?        00:00:00 [ext4-rsv-conver]
root       503     1  0 43013   456   0 Sep25 ?        00:53:43 /usr/lib/systemd/systemd-journald
root       539     1  0  5529     0   0 Sep25 ?        00:00:12 /usr/lib/systemd/systemd-udevd
systemd+   547     1  0  5320     0   0 Sep25 ?        00:00:55 /usr/lib/systemd/systemd-networkd
root       583     2  0     0     0   0 Sep25 ?        00:00:00 [jbd2/vda6-8]
root       584     2  0     0     0   0 Sep25 ?        00:00:00 [ext4-rsv-conver]
systemd+   598     1  0  3336   444   0 Sep25 ?        00:00:18 /usr/lib/systemd/systemd-resolved
systemd+   602     1  0 21560   260   0 Sep25 ?        00:00:13 /usr/lib/systemd/systemd-timesyncd
message+   632     1  0  3893    76   0 Sep25 ?        00:09:40 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
root       633     1  0  3261   128   0 Sep25 ?        00:03:55 /usr/lib/systemd/systemd-logind
root       637     1  0 43283  1140   0 Sep25 ?        00:04:31 /usr/sbin/update_engine -foreground -logtostderr
root       701     1  0 120891    0   0 Sep25 ?        00:02:23 /usr/lib/locksmith/locksmithd
root       714     1  0  1156    56   0 Sep25 tty1     00:00:33 /sbin/agetty -o -p -- \u --noclear tty1 linux
polkitd    718     1  0 81907     0   0 Sep25 ?        00:06:23 /usr/lib/polkit-1/polkitd --no-debug
root      8500     1  0 161952  564   0 Sep25 ?        00:50:13 /run/torcx/bin/containerd --config /run/torcx/unpack/docker/usr/share/containerd/config.toml
root      8502     1  1 197426  208   0 Sep25 ?        01:08:56 /run/torcx/bin/dockerd --host=fd:// --containerd=/var/run/docker/libcontainerd/docker-containerd.sock --selinux-enabled=true
root     11727  8502  0 75240     0   0 Sep25 ?        00:00:15 /run/torcx/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 995 -container-ip <IP_ADDRESS> -container-port 995
root     11740  8502  0 93673     4   0 Sep25 ?        00:00:15 /run/torcx/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 993 -container-ip <IP_ADDRESS> -container-port 993
root     11752  8502  0 93673     4   0 Sep25 ?        00:00:13 /run/torcx/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 587 -container-ip <IP_ADDRESS> -container-port 587
root     11764  8502  0 93673     4   0 Sep25 ?        00:00:12 /run/torcx/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 143 -container-ip <IP_ADDRESS> -container-port 143
root     11776  8502  0 93673     4   0 Sep25 ?        00:00:16 /run/torcx/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 25 -container-ip <IP_ADDRESS> -container-port 25
root     11782  8500  0  2229     4   0 Sep25 ?        00:06:36 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/61711eada6984bc39133e6df5156580e8e1cf8c0935ff9777f4a5dca887deb33 -address /run/docker/libcontainerd/docker-containerd.sock -containerd-binary /run/torcx/unpack/docker/bin/containerd -runtime-root /var/run/docker/runtime-runc -debug
root     11799 11782  0 14721  1908   0 Sep25 ?        00:24:32 /usr/bin/python /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
root     11859 11799  0  4771     4   0 Sep25 ?        00:00:00 /bin/bash /usr/local/bin/start-mailserver.sh
root     12307 11799  0  6999     0   0 Sep25 ?        00:01:11 /usr/sbin/cron -f
root     12309 11799  0 45120   172   0 Sep25 ?        00:01:35 /usr/sbin/rsyslogd -n
root     12314 11799  0  4651     0   0 Sep25 ?        00:00:53 /usr/sbin/dovecot -F -c /etc/dovecot/dovecot.conf
111      12317 12314  0  2495     0   0 Sep25 ?        00:00:15 dovecot/anvil
root     12318 12314  0  2528     0   0 Sep25 ?        00:00:34 dovecot/log
root     12319 12314  0  6646     0   0 Sep25 ?        00:00:50 dovecot/config
107      12321 11799  0 22943     0   0 Sep25 ?        00:00:00 /usr/sbin/opendkim -f
107      12323 12321  0 139721    0   0 Sep25 ?        00:02:54 /usr/sbin/opendkim -f
105      12329 11799  0 103162    0   0 Sep25 ?        00:02:33 /usr/sbin/opendmarc -f -p inet:8893@localhost -P /var/run/opendmarc/opendmarc.pid
106      12338 11799  0 18559     0   0 Sep25 ?        00:00:47 postgrey --inet=<IP_ADDRESS>:10023 --syslog-facility=mail --delay=15 --max-age=35 --auto-whitelist-clients=2 --greylist-text=Delayed by postgrey
root     12341 11799  0  4495   116   0 Sep25 ?        00:06:24 bash /usr/local/bin/postfix-wrapper.sh
root     12393 11799  0  4495   156   0 Sep25 ?        00:06:12 bash /usr/local/bin/fail2ban-wrapper.sh
root     12462 11799  0  4511   208   0 Sep25 ?        00:19:40 /bin/bash /usr/local/bin/check-for-changes.sh
root     12473 11799  0<PHONE_NUMBER>   0 Sep25 ?        00:44:15 /usr/bin/python3 /usr/bin/fail2ban-server -s /var/run/fail2ban/fail2ban.sock -p /var/run/fail2ban/fail2ban.pid -b
root     12539 11859  0  1056    68   0 Sep25 ?        00:04:30 tail -fn 0 /var/log/mail/mail.log
root     13126 11799  0 20297    60   0 Sep25 ?        00:02:10 /usr/lib/postfix/sbin/master
101      13129 13126  0 20857    40   0 Sep25 ?        00:00:41 qmgr -l -t unix -u
111      13283 12314  0  2563     0   0 Sep25 ?        00:00:19 dovecot/stats
101      15401 13126  0 21873   148   0 Sep25 ?        00:00:19 tlsmgr -l -t unix -u -c
101      17662 13126  0 20814     0   0 19:34 ?        00:00:01 pickup -l -t fifo -u -c -o content_filter= -o receive_override_options=no_header_body_checks
root     18279     2  1     0     0   0 19:38 ?        00:01:05 [kworker/u2:1-kverityd]
root     20085     1  0  2039     0   0 Sep26 ?        00:00:00 sshd: core [priv]
core     20087 20085  0  2396   524   0 Sep26 ?        00:05:35 sshd: core@pts/0
core     20091 20087  0  1044  1232   0 Sep26 pts/0    00:00:04 -bash
root     20865     2  1     0     0   0 20:00 ?        00:00:49 [kworker/u2:3-kverityd]
109      22605 11799  0 64337     0   0 07:40 ?        00:02:11 /usr/sbin/amavisd-new (master)
root     23697     2  2     0     0   0 20:21 ?        00:00:48 [kworker/u2:2-kverityd]
root     25172     2  0     0     0   0 20:33 ?        00:00:03 [kworker/0:0-events]
root     25185     2  0     0     0   0 20:33 ?        00:00:04 [kworker/0:4-ata_sff]
root     26186     2  0     0     0   0 20:42 ?        00:00:00 [kworker/0:2-events_freezable_power_]
root     26776     2  0     0     0   0 20:47 ?        00:00:00 [kworker/0:5-ata_sff]
root     27515     2  0     0     0   0 20:54 ?        00:00:00 [kworker/0:1-events]
109      27822 22605  3 64337 15976   0 20:57 ?        00:00:00 /usr/sbin/amavisd-new (virgin child)
109      27823 22605  3 64337 16000   0 20:57 ?        00:00:00 /usr/sbin/amavisd-new (virgin child)
101      27830 13126  0 23042     0   0 20:57 ?        00:00:00 smtp -n smtp-amavis -t unix -u -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20 -o smtp_tls_security_level=none
101      27836 13126  0 20817     0   0 20:57 ?        00:00:00 trivial-rewrite -n rewrite -t unix -u -c
101      27842 13126  0 23042     0   0 20:57 ?        00:00:00 smtp -n smtp-amavis -t unix -u -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20 -o smtp_tls_security_level=none
101      27843 13126  0 23109   316   0 20:57 ?        00:00:00 smtp -t unix -u -c
101      27854 13126  0 20822   780   0 20:57 ?        00:00:00 bounce -z -n defer -t unix -u -c
root     27864 12341  0  1047    60   0 20:57 ?        00:00:00 sleep 5
root     27869 12393  0  1047    60   0 20:57 ?        00:00:00 sleep 5
root     27874 12462  0  1047    68   0 20:57 ?        00:00:00 sleep 1
core     27875 20091  1  1661  3192   0 20:57 pts/0    00:00:00 ps -aeFw

I have to agree that amavis seems to be misbehaving.

Hi @abaumhauer,
that's interesting. Have you already been able. To trace it to a given commit when doing manual builds? Or do you see the same load pattern when rebuilding with a commit from before 20.08.?
Can you also post top when the high load is occurring? Or is it really kswap inside of the container?

@abaumhauer, in addition to top and/or other similar outputs when you have the problem to nail down the misbehaving process it would be nice with some logs. There are relevant logs in /var/log/mail and /var/log/supervisor. I see that you have the reports enabled, so I will assume that you have checked for unexpected traffic already?
I'm also running a small mail server of similar size which is stable and consumes about 1G RAM. Running it on a 1G instance without swap could be a challenge, but with 2G things should work.

I am reasonably certain this is the same issue as #1224. Amavis goes into a restart loop, server stops responding. BTW my server has been running fine on 1GB before, and when that loop happens there is still a bit of memory left (>50MB).

A quick search revealed https://serverfault.com/questions/612381/why-doesnt-the-clam-antivirus-daemon-start-with-a-cannot-allocate-memory-error. It could either be saslauthd or clamd, both seem reasonable. Some data when you see the problem in action would be nice.

I do have an amavis email account in /var/mail, and there was two recent messages posted to it:
From<EMAIL_ADDRESS>Sun Sep 15 20:03:31 2019
Return-Path<EMAIL_ADDRESS>X-Original-To: amavis
Delivered-To<EMAIL_ADDRESS>Received: by mail.example.us (Postfix, from userid 109)
	id DE984107D32; Sun, 15 Sep 2019 20:03:31 +0000 (UTC)
From<EMAIL_ADDRESS>(Cron Daemon)
To<EMAIL_ADDRESS>Subject: Cron <amavis@mail> test -e /usr/sbin/amavisd-new-cronjob && /usr/sbin/amavisd-new-cronjob sa-sync
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/var/lib/amavis>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=amavis>
Message-Id<EMAIL_ADDRESS>Date: Sun, 15 Sep 2019 20:03:31 +0000 (UTC)

rules: failed to compile Mail::SpamAssassin::Plugin::Check::_head_tests_0_3, skipping:
	(__alarm__ignore__(1/::PerMsgStatus::check/1414))
plugin: eval failed: __alarm__ignore__(1/::PerMsgStatus::check/1414)

It says it can't find /var/lib/amavis/db. In my installation that is a symbolic link, /var/lib/amavis -> /var/mail-state/lib-amavis (I'm also using ONE_DIR=1). Does that directory exist for you and is it owned by amavis:amavis? And does it contain files also owned by amavis?
If the directory exists and seems valid you could try the Berkely https://docs.oracle.com/cd/E17275_01/html/api_reference/C/utilities.html, in particular db_verify. Take care not to run it when the database is used, so stop the services (supervisorctl stop) in the container or stop the entire container and copy the files from the mailstate volume.

Apart from the recovery #1224 seems to have been solved (more or less) by adding more swap. I don't quite agree that it means the instance is undersized as some Linux programs have been developed in a way that depends on swap. Specifically clamav reads all signatures into RAM and when it forks a new process that basically doubles. Perhaps you could try that as well?
Otherwise we need more details about what is going on. Did you try to verify the database? Did you check the processes when this happens to see where the culprit is?

This issue was closed due to one or more of the following reasons:

Age
Contributor inactivity
The issue seems to be resolved

If you think this happened by accident, or feel like this issue was not actually resolved, please feel free to re-open it. If there is an issue you could resolve in the meantime, please open a PR based on the current master branch so we can review it.


traefik buider: start method always reset installation and sandbox fail

Steps
j.builder.web.traefik.build()
j.builder.web.traefik.install()
j.builder.web.traefik.start()
Issue
always start  method , install things again and clone traefik again as shown

and sandbox method to fail with the following error
	|| mkdir -p '/sandbox/var/log'
make[2]: Leaving directory '/tmp/builders/openresty/openresty/build/nginx-1.13.6'
make[1]: Leaving directory '/tmp/builders/openresty/openresty/build/nginx-1.13.6'
mkdir -p /sandbox/openresty/site/lualib /sandbox/openresty/site/pod /sandbox/openresty/site/manifest
ln -sf /sandbox/bin/openresty /sandbox/openresty/bin/openresty
+ rm -rf /tmp/builders/openresty
+ rm -f /sandbox/bin/lua
+ ln -s /sandbox/openresty/luajit/bin/luajit /sandbox/bin/lua
Wed 26 13:42:34 uilderBaseClass.py - 318 - builderopenresty:builderopenresty  : sandbox profile path in:/sandbox/env.sh
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/sandbox/lib/jumpscale/Jumpscale/builder/system/BuilderBaseClass.py", line 166, in wrapper_action
    res = self.apply_method(func, kwargs)
  File "/sandbox/lib/jumpscale/Jumpscale/builder/system/BuilderBaseClass.py", line 93, in apply_method
    return func(**kwargs)
  File "/sandbox/lib/jumpscale/Jumpscale/builder/web/BuilderTraefik.py", line 109, in sandbox
    j.builders.web.openresty.sandbox(reset=reset)
  File "/sandbox/lib/jumpscale/Jumpscale/builder/system/BuilderBaseClass.py", line 166, in wrapper_action
    res = self.apply_method(func, kwargs)
  File "/sandbox/lib/jumpscale/Jumpscale/builder/system/BuilderBaseClass.py", line 93, in apply_method
    return func(**kwargs)
  File "/sandbox/lib/jumpscale/Jumpscale/builder/web/BuilderOpenResty.py", line 127, in sandbox
    self._copy(dir_src, dir_dest)
  File "/sandbox/lib/jumpscale/Jumpscale/builder/system/BuilderBaseClass.py", line 416, in _copy
    createdir=True,
  File "/sandbox/lib/jumpscale/Jumpscale/builder/tools/BuilderTools.py", line 115, in copyTree
    createdir=createdir,
  File "/sandbox/lib/jumpscale/Jumpscale/sal/fs/SystemFS.py", line 265, in copyDirTree
    if ":" not in src and j.sal.fs.isDir(src):
  File "/sandbox/lib/jumpscale/Jumpscale/sal/fs/SystemFSDecorators.py", line 154, in wrapper
    raise ValueError(msg)
ValueError: Argument path in j.sal.fs.isDir expects an existing path value! /sandbox/bin/resty does not exist.

Argument path in j.sal.fs.isDir expects an existing path value! /sandbox/bin/resty does not exist.

later no immediate requirement

install and start updated, start doesnt redo install unless install wasn't complete
https://github.com/threefoldtech/jumpscaleX/commit/e6c9d19df39af9a5d0cf7264db7daff968736028

In Traefik builder, in sandbox() , openresty.sandbox() is called. The error  /sandbox/bin/resty does not exist is because resty is added using lua builder, and so sandboxing resty should be done in lua builder instead of openresty builder.

Fix in openresty: https://github.com/threefoldtech/jumpscaleX/commit/bcd69a618d68dcbd20c75228251b6f9446f616c2 [development_jumpscale]

First part verified, build, install and start are now working fine:

Will test the sandbox now

snadbox is verified and flist was uploaded and i create a container by the generated flist, then i checked the binary inside created container as below  and was working
/sandbox/bin/traefik
root@testtearfik:~# ls /sandbox/bin/traefik  -l
-rwxr-x--- 1 root root 69963136 Jul 29 14:16 /sandbox/bin/traefik
root@testtearfik:~# /sandbox/bin/traefik --help
traefik is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease.
Complete documentation is available at https://traefik.io

Usage: traefik [flags] <command> [<arguments>]

Use "traefik <command> --help" for help on any command.

jsx version

3BOTDEVEL:zbudle2:jumpscaleX: git log -1
commit 61d8182b39eb4ce9a10ecd8c0c88213a50637193 (grafted, HEAD -> development_jumpscale, origin/development_jumpscale)
Author: Waleed Hammam<EMAIL_ADDRESS>Date:   Mon Jul 29 15:37:23 2019 +0200

    add default branch checkout for other repos if passed is failed


Document Missing Template Error

trying to run my ios app test installation, I get the following error :
macMini:OAuthClientSetup yves$ bwoken init
macMini:OAuthClientSetup yves$ bwoken test
Building............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Build Successful!

iphone	example.js
:	Failed to load document 'file:///Users/yves/Developpement/iOS7/rails_clients/OAuthClientSetup/integration/tmp/trace.trace/' : (Error Domain=com.apple.instruments Code=-6 "Document Missing Template Error: The operation couldn’t be completed. (com.apple.instruments error -6.)")
/Users/yves/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bwoken-2.0.0/lib/bwoken/script.rb:55:in `block in run': Test Script Failed (Bwoken::ScriptFailedError)
	from /Users/yves/.rbenv/versions/2.1.2/lib/ruby/2.1.0/open3.rb:199:in `popen_run'
	from /Users/yves/.rbenv/versions/2.1.2/lib/ruby/2.1.0/open3.rb:93:in `popen3'
	from /Users/yves/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bwoken-2.0.0/lib/bwoken/script.rb:53:in `run'
	from /Users/yves/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bwoken-2.0.0/lib/bwoken/simulator_runner.rb:21:in `each'
	from /Users/yves/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bwoken-2.0.0/lib/bwoken/simulator_runner.rb:21:in `execute'
	from /Users/yves/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bwoken-2.0.0/lib/bwoken/script_runner.rb:33:in `execute_for_family'

Hi ,
I used 2.1.0.rc.2 and i still see the issue .
Instruments Trace Error : Failed to load template 'Automation/ -- file:///Users/roopeshkumar/repo/assetoperation/' (Error Domain=com.apple.instruments Code=-6 "Document Missing Template Error: The operation couldn’t be completed. (com.apple.instruments error -6.)")
/Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/gems/bwoken-2.1.0.rc.2/lib/bwoken/script.rb:60:in block in run': Test Script Failed (Bwoken::ScriptFailedError) 	from /Users/roopeshkumar/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/2.0.0/open3.rb:217:in popen_run'
from /Users/roopeshkumar/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/2.0.0/open3.rb:99:in popen3' 	from /Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/gems/bwoken-2.1.0.rc.2/lib/bwoken/script.rb:58:in run'
from /Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/gems/bwoken-2.1.0.rc.2/lib/bwoken/simulator_runner.rb:22:in each' 	from /Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/gems/bwoken-2.1.0.rc.2/lib/bwoken/simulator_runner.rb:22:in execute'
from /Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/gems/bwoken-2.1.0.rc.2/lib/bwoken/script_runner.rb:34:in execute_for_family' 	from /Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/gems/bwoken-2.1.0.rc.2/lib/bwoken/script_runner.rb:29:in block in execute_in_simulator'
from /Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/gems/bwoken-2.1.0.rc.2/lib/bwoken/script_runner.rb:28:in each' 	from /Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/gems/bwoken-2.1.0.rc.2/lib/bwoken/script_runner.rb:28:in execute_in_simulator'
from /Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/gems/bwoken-2.1.0.rc.2/lib/bwoken/script_runner.rb:21:in execute' 	from /Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/gems/bwoken-2.1.0.rc.2/lib/bwoken/cli/test.rb:114:in test'
from /Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/gems/bwoken-2.1.0.rc.2/lib/bwoken/cli/test.rb:72:in run' 	from /Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/gems/bwoken-2.1.0.rc.2/lib/bwoken/cli.rb:58:in <top (required)>'
from /Users/roopeshkumar/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:128:in require' 	from /Users/roopeshkumar/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:128:in rescue in require'
from /Users/roopeshkumar/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:39:in require' 	from /Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/gems/bwoken-2.1.0.rc.2/bin/bwoken:3:in <top (required)>'
from /Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/bin/bwoken:23:in load' 	from /Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/bin/bwoken:23:in '
from /Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/bin/ruby_executable_hooks:15:in eval' 	from /Users/roopeshkumar/.rvm/gems/ruby-2.0.0-p598@Asset Ops UI Automation/bin/ruby_executable_hooks:15:in '
whers is it looking for template file ? can you guide ..

Hello,
I have the same error. Bwoken-2.1.0.rc.2, Xcode 6.2, OSX 10.10.3
Will be very grateful to hear any suggestions.
** BUILD SUCCEEDED **
2015-03-18 10:05:42.322 instruments[14518:45447] WebKit Threading Violation - initial use of WebKit from a secondary thread.
Instruments Trace Error : Failed to load document 'file:///Users/vovanking/Development/rd2/integration/tmp/trace.trace/' : (Error Domain=com.apple.instruments Code=-6 "Document Missing Template Error: The operation couldn’t be completed. (com.apple.instruments error -6.)")
/Users/vovanking/.rvm/gems/ruby-2.2.0@rd2/gems/bwoken-2.1.0.rc.2/lib/bwoken/script.rb:60:in block in run': Test Script Failed (Bwoken::ScriptFailedError) 	from /Users/vovanking/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/open3.rb:199:in popen_run'
from /Users/vovanking/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/open3.rb:93:in popen3' 	from /Users/vovanking/.rvm/gems/ruby-2.2.0@rd2/gems/bwoken-2.1.0.rc.2/lib/bwoken/script.rb:58:in run'
from /Users/vovanking/.rvm/gems/ruby-2.2.0@rd2/gems/bwoken-2.1.0.rc.2/lib/bwoken/device_runner.rb:18:in each' 	from /Users/vovanking/.rvm/gems/ruby-2.2.0@rd2/gems/bwoken-2.1.0.rc.2/lib/bwoken/device_runner.rb:18:in execute'
from /Users/vovanking/.rvm/gems/ruby-2.2.0@rd2/gems/bwoken-2.1.0.rc.2/lib/bwoken/script_runner.rb:57:in execute_on_device' 	from /Users/vovanking/.rvm/gems/ruby-2.2.0@rd2/gems/bwoken-2.1.0.rc.2/lib/bwoken/script_runner.rb:23:in execute'
from /Users/vovanking/.rvm/gems/ruby-2.2.0@rd2/gems/bwoken-2.1.0.rc.2/lib/bwoken/cli/test.rb:114:in test' 	from /Users/vovanking/.rvm/gems/ruby-2.2.0@rd2/gems/bwoken-2.1.0.rc.2/lib/bwoken/cli/test.rb:72:in run'
from /Users/vovanking/.rvm/gems/ruby-2.2.0@rd2/gems/bwoken-2.1.0.rc.2/lib/bwoken/cli.rb:58:in <top (required)>' 	from /Users/vovanking/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in require'
from /Users/vovanking/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in rescue in require' 	from /Users/vovanking/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:in require'
from /Users/vovanking/.rvm/gems/ruby-2.2.0@rd2/gems/bwoken-2.1.0.rc.2/bin/bwoken:3:in <top (required)>' 	from /Users/vovanking/.rvm/gems/ruby-2.2.0@rd2/bin/bwoken:23:in load'
from /Users/vovanking/.rvm/gems/ruby-2.2.0@rd2/bin/bwoken:23:in <main>' 	from /Users/vovanking/.rvm/gems/ruby-2.2.0@rd2/bin/ruby_executable_hooks:15:in eval'
from /Users/vovanking/.rvm/gems/ruby-2.2.0@rd2/bin/ruby_executable_hooks:15:in `'


[Integration] Update dockerfile to use it for integration builds too

add datadog to the apt sources, as we'll need to install the agent to build the integration packages
clone the integration folder [TODO add other repo]
checkout the temp dd-agent-omnibus branch [TODO remove]

:+1:


Make it possible to use build docker image using BuildKit

As per Docker release 18.09 it is possible to mount cache (using BuildKit) explained
Example dockerfile
# syntax = docker/dockerfile:1.0-experimental

#RUN --mount=type=cache,target=/home/gradle/.gradle gradle build

However when build such image, it is gives an error
Dockerfile parse error line 12: Unknown flag: mount

Code to build:
new GenericContainer<>(
                new ImageFromDockerfile()
                                .withDockerfile(Path.of("Dockerfile").toAbsolutePath())
        )

I order to build such docker image from CLI, you need to set DOCKER_BUILDKIT=1 in order to use buildkit.
While analyzing docker cli source code it seems like it is appending such query parameter to REST API call  version=2

Prepare build parameters
https://github.com/docker/cli/blob/master/cli/command/image/build_buildkit.go#L207
sending request via client
https://github.com/docker/cli/blob/b350e14b1f83e1870a234ff2c554450707218204/vendor/github.com/docker/docker/client/image_build.go#L136

Unfortunately, I do not see any documented version parameters in the official API documentation.
https://docs.docker.com/engine/api/v1.40/#operation/ImageBuild

AFAIK BuildKit isn't just a Docker API call, but a whole new API.
Given that even Docker's official Python library (that is used in Docker Compose) have decided that it is easier to delegate it to an external binary, I am not sure there is much we can do here, unless we do the same (call docker build which will require Docker CLI).
/cc @rnorth

I'm interested in this, @pawelebe did you find a workaround?

Let's reopen - we shouldn't have let this get stale, so I apologise.
I think that buildkit is something we'll have to keep in mind, particularly if we want Testcontainers to retain the ability to build Dockerfiles while more and more buildkit features become relied upon.
That said, I can't see any immediate way to do it without the docker binary. This may be something we deem to be OK enough.
For now as a workaround I'd suggest executing docker build -t SOMENAME . (ideally from Java code, but perhaps from outside) and then pass the tagged image name to Testcontainers to run.

It's a bit janky but I used the workaround specified by @morth https://github.com/trajano/spring-cloud-demo/blob/rework/gateway/src/test/java/net/trajano/swarm/gateway/ContainerTests.java#L45 perhaps people can use it as an example

is there any update regarding this issue?
i've upgraded my projects dockerfiles to use buildkit buildx and now all my testcontainer arent working anymore...
i didnt quite understand how the demo you linked is of any help @trajano, would you mind elaborating ?

@trajano so you are using the local machines docker-compose to build the image instead of the testcontainers dockerfile infrastructure and then just use the created image  with testcontainers?

Unfortunately, I do not see any documented version parameters in the official API documentation.
https://docs.docker.com/engine/api/v1.40/#operation/ImageBuild

There's now a documented version parameter (since February 2024). Value 2 enables BuildKit. See https://github.com/moby/moby/pull/47259.

@qerub It still requires a significant client-side implementation though.

I bumped into this as well today. However, in my specific case I was able to set up a workaround using gradle:
build.gradle.kts
tasks.register("buildDockerImage", type = Exec::class) {
    // Point this to your build directory
    workingDir(project.rootDir.resolve(".."))
    commandLine("docker", "build", "-t", "dansdata/database:test", ".")
}

tasks.named("test").get().dependsOn(tasks.named("buildDockerImage"))

DansdataDbContainer.kt
class DansdataDbContainer private constructor() :
    JdbcDatabaseContainer<DansdataDbContainer>(DockerImageName.parse("dansdata/database:test")) {


Remove redundant comparison of unsigned less than zero

sum[] is uint64_t, it can never be less than zero.
Downward counting with size_t is an infinite loop, because size_t can never be < 0

I just checked in code that addresses these issues. Thank you!


How to fix this security exploit ?

I own an Stick with a Phison 2251-03 controller. Psychson seems to give us the ability to patch the firmware. Is it possible to patch this security exploit and if it is are there already patches available ? I am looking for patches whose close the security hole on my stick and not for patches whose exploit the whole to cause damages to other people. Thanks in advance.
Regards

See the "Running No Boot Mode Patch" section of the readme. It effectively disables the ability to programmatically put the drive in "boot" mode, which is the first step of the flashing process.
It is still technically possible to exploit the code running on the drive or crash it in such a way that it will return to boot mode, so this is not perfect -- the "correct" solution is for the chip manufacturer to make it more difficult to flash different firmware to the drive, such as signed updates, but that can't be changed on existing hardware.


Question: GuardNoSend vs GuardSend

I notice both RawMutex and RawRwLock use GuardNoSend, while the spinlock in the lock_api documentation uses GuardSend. What prevents RawMutex/RawRwLock guards from being Send?

The deadlock detection code (which can be enabled through a feature) will break if a mutex can be unlocked in a different thread than the one that locked it. It was decided that disabling MutexGuard: Send if that feature is enabled would be unacceptable since it might break code that relies on MutexGuard: Send.

Thanks you! That makes a lot of sense.


Initial phase of settings for supporting additional Android platforms, like ARCore

Overview
This PR is mostly focused on our sample project.
Part of #11004

Adds the Oculus Integration Package folder to our gitignore
Adds a black background to our Android icon because it looks better
Stashes ARCore loader and settings assets
Adds Unity's logcat package for debugging
Adds the HandheldARInputDevice pose paths to our camera pose driver
Updates our min Android SDK version to 29

Adds the Oculus Integration Package folder to our gitignore

Hooraaaay


Enhancement:  DateTime Picker - have option to type in time instead of using dropdowns.

Category
[ x ] Enhancement
[ ] Bug
[ ] Question
Version
It would be helpful to have a time-picker version like the current out of the box Date-Time picker.
Basically, the time field can be clicked into and you can type the entire time, not splitting up hours and minutes into different boxes.
I also found the text version of this component to be flakey... specifically if I wanted to update a time and hit back-space enough times (more than 2) it changes the date field to be "invalid date" which could be frustrating for a user.

We would love to have this as well. A drop down with selectable times (default with 30 min interval, but configurable interval would be nice) and manually overwrite. Same like in e.g. SharePoint list form and scheduling Outlook meeting


Expose serializable useFormats

Is your feature request related to a problem? Please describe.
When using the NextIntlClientProvider there is current no way (that I saw) to access the formats in the same you are able to access the the "messages". The only available option is useFormatter which returns a function. However if you are trying to use NextIntlClientProvider you cannot serialize the function and pass it to the provider.
Describe the solution you'd like
In addition to useFormatter it would be great if there was a parallel to useMessages, such as useFormats, which returns a serializable form of the formts.
Describe alternatives you've considered
I don't think there are any alternatives

Can you elaborate on what the use case is? Is the issue that formats aren't automatically available on the client side? I'm currently considering changing this, making formats that are defined in i18n.ts automatically available on the client side (with an opt-out mechanism, if necessary)—see https://github.com/amannn/next-intl/issues/779.
On a side note, the alternative is exporting your formats from a module and importing it in all relevant places.
Would be curious to learn more about your use case!

Correct, that formats is not available on the client side. And agreed, there are any number of ways I can do this (which I am), but was just trying to keep things consistent.
As for the app, it is a password manager of sorts, so very client centric since we do not have access to the data rendered. (Maybe we could do more server rendering, but not sure I've completely wrapped my head around how that would work so skipping for now)
We are also exporting (output: 'export') the NextJS app to use with Tauri.

Thanks for including some context! Since this behavior might be changed in the future and formats would be automatically available on the client side, I think I wouldn't introduce a new API at this point—also given that a reasonable alternative is available. I hope you can understand!
Once something is public API, we have to maintain it or carefully deprecate it once necessary and I think in this case it's currently not worth it. Sorry for pushing a bit back here, I really appreciate that you immediately went ahead and have set up a PR!

All good, if I don’t submit a PR I don’t learn as much…
But I’ll ask, do you think I’m opting in to the Provider too quickly?
On Mon, Apr 8, 2024 at 10:54 PM Jan Amann @.***> wrote:

Thanks for including some context! Since this behavior might be changed in
the future and formats would be automatically available on the client side,
I think I wouldn't introduce a new API at this point—also given that a
reasonable alternative is available. I hope you can understand!
Once something is public API, we have to maintain it or carefully
deprecate it once necessary and I think in this case it's currently not
worth it. Sorry for pushing a bit back here, I really appreciate that you
immediately went ahead and have set up a PR!
—
Reply to this email directly, view it on GitHub
https://github.com/amannn/next-intl/issues/981#issuecomment-2044199013,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAOMNKDH7B4Y5TNLCX5F4FLY4N7AZAVCNFSM6AAAAABFZRLRJWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBUGE4TSMBRGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

It depends a bit on your app. For some apps more on the "website" end of the spectrum, you can get very far with Server Components, while for more interactive experiences, usage of the provider is necessary.
I'm planning to improve the capabilities of next-intl for working with apps that are more in the middle of the spectrum:

https://github.com/amannn/next-intl/issues/1
https://github.com/amannn/next-intl/issues/962

If this goes well, it should feel less like a "am I doing the right thing" when stepping to the client side, but something that is naturally supported without tradeoffs.
Hope this helps!
I'll close this issue since the original issue seems to be have been answered.


koord-descheduler: control the maximum number of migrations to ensure availability

Signed-off-by: Joseph<EMAIL_ADDRESS>Ⅰ. Describe what this PR does

Control the maximum number of migrations to ensure availability, and support to control the number by Node, namespace, and workload.
Avoid generating duplicate PodMigrationJob when plugin inside descheduler calls eviction interface.

Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[x] I have written necessary docs and comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in make test

/lgtm
/approve


[Bug] Error with Resolution EDIT: 480p error related

Describe the bug
Build: 2.1.1
When streaming from an XBox Series X in Sleep mode, resolution is as shown in the picture. Problem occurs each time a stream is started while the XBox is in Sleep mode.

If:

XBox booted
Stream via 2.1.1 started
XBox returned to sleep mode
The resolution is correct and remains correct until the stream is closed, and a new stream begins. At this point resolution bug reoccurs.

Thank you for your help!
To Reproduce

Start 2.1.1
Ensure XBox is in Sleep Mode
Start Stream

To correct:

Close Stream
Start XBox
Start Stream

Expected behavior
Correct resolution regardless of XBox status.
Environment
- OS: SteamOS Holo 3.5.7 20231122.1
- Device: SteamDeck
- Greenlight version: 2.1.1

Anything else?
Haven’t rolled back to an old version, will be next step.
New issue

[X] I confirm that this is a new issue and not a duplicate

Rolled back to 2.1.0, same issue.
Confirmed Launch Options “—no-sandbox —fullscreen”
No change when switching between resolutions. All result in same screen stretch error.

Rolled back to 2.0.1, still having the same issue.
Tried multiple resolution options in the app, all produced the same result.

This is related to the Xbox, not Greenlight, will close ticket. Related to Xbox getting stuck at 480p.
Fix I found was going to Xbox Video settings and manually picking a Video source for your actual TV (in my case HDMI), as the default is auto-select. This will allow you to select the resolution you want and prevents the 480p problem.

https://youtu.be/wKyR_4WvTH4?si=J9OWIVCOU3MiNsUq


Add common package for shared code.

There is currently a lot of redundant code across <mux-audio/> and <mux-video/>. We should have a common package that can be shared between the two (and any future elements).
This will require various updates to the build infrastructure and the relationships in the monorepo. Minimally, we should be able to reference the shared code across mux-element packages. Ideally, any changes in the build process would also support hot module replacement so that changes to common would automatically trigger a (dev) rebuild and dev server reload.
Furthermore, any code added to common should avoid imports of any 3rd party libraries unless we're highly confident that they will be useful for ALL mux-elements. This is to avoid pulling unnecessary downstream dependencies when a developer does a package install of a particular element.

Done in #48


Add option --config

Could you add the --config option to point to a different folder/file?
I like to keep everything in one folder like sway or hyprland.
Then we can have different wayland desktops next to each other.

Same answer as to https://github.com/nwg-piotr/nwg-drawer/issues/78


I fixed some problems in Eclector - scymtym - you may have fixed some of them as well.

I believe all issues except the warning vs. error part of #2 have been addressed now.


SyntaxError attempting to assign to keyword

$ python -m friendly_traceback

Friendly Console version 0.2.19. [Python version: 3.9.0]

>>> else = 1

Traceback (most recent call last):
  File "<friendly-console:1>", line 1
    else = 1
    ^
SyntaxError: invalid syntax

>>> why()

Currently, I cannot guess the likely cause of this error. Try to examine closely the line indicated as well
as the line immediately above to see if you can identify some misspelled word, or missing symbols, like (, ),
[, ], :, etc.

Unless your code uses type annotations, which are beyond our scope, you might want to report this case to
https://github.com/aroberge/friendly-traceback/issues

It works for some other keywords though, e.g.:
>>> def = 1

Traceback (most recent call last):
  File "<friendly-console:3>", line 1
    def = 1
        ^
SyntaxError: invalid syntax

>>> why()

You were trying to assign a value to the Python keyword def. This is not allowed.

This is weird.  Looking closely, I see that else is identified as problematic in the first case, and = in the second. I suspect that other cases exist (for example in = 1); I will have to fix this.

This is weird.  Looking closely, I see that else is identified as problematic in the first case, and = in the second. I suspect that other cases exist (for example in = 1); I will have to fix this.


Improve styles for MaterialUI - CircularProgress component

Shortcut: https://app.shortcut.com/cartoteam/story/140043/component-progress-loading

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 70.303%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1142

Relevant Lines:
1529

💛  - Coveralls

Acceptance OK, can be merged


Bump carto-react & deck.gl versions + TableWidget example

Upgraded libraries
carto-react to 1.2.1-beta.4
deck.gl to 8.7.0-beta.5
TableWidget sample added
TableWidget is being added to the template-sample-app-3 for the Stores view.
https://user-images.githubusercontent.com/9006480/153590631-38ed4cbd-c234-4fe9-a670-65154ea9945a.mov

I think it would be better if we could have the table positioned below the map area, taking all the available width except the space occupied by the sidebar, something similar to Builder layout.

I think we don't want to invest too much time on this @borja-munoz. A bottom one could look better yes, but this one in the panel also serves as a basic table example, which is the point, right? (indeed I did exactly the same with another component, TimeSeries widget)

I think we can prepare a beta for templates too, as a way to prepare for the upcoming release. I can't think about any issue, but please ping me if you find it

I think we don't want to invest too much time on this @borja-munoz. A bottom one could look better yes, but this one in the panel also serves as a basic table example, which is the point, right? (indeed I did exactly the same with another component, TimeSeries widget)

I think this is important and I see it as a good opportunity to show how we could have a layout where we have a bottom section below the map, maybe with tabs for a time-series widget and a table widget. A table in the sidebar is not really useful and the point of templates is also to show good practices. I can try to implement it myself but I'd need you to review it.


motor_api_configs is not listed on the down part of the migration

The table is created on the up method but it is not dropped when rollbacking.
  def self.down
    drop_table :motor_audits
    drop_table :motor_alert_locks
    drop_table :motor_alerts
    drop_table :motor_forms
    drop_table :motor_taggable_tags
    drop_table :motor_tags
    drop_table :motor_resources
    drop_table :motor_configs
    drop_table :motor_queries
    drop_table :motor_dashboards
  end

@ruanltbg it has been fixed in https://github.com/motor-admin/motor-admin-rails/pull/88 - will be released in the next version.


chore: replace custom metadata plug for remote_ip

See also: https://github.com/mbta/screenplay/pull/366

@digitalcora i decided to just write out both values just in case


(PUP-9718) Fix Windows File Permission Issue

Several files under C:\ProgramData are not saved correctly with Administrator permissions if the first Puppet Agent run is under the SYSTEM Account.
Use Puppet::FileSystem.replace_file instead of Puppet::Util.replace_file as this caters better for Windows situations where we need to ensure both SYSTEM and Administrator need access to the created files.

CLA signed by all contributors.

The normal form of a puppet: URI is:
puppet:///modules//
This will fetch a file from a module on the Puppet master (or from a local module when using Puppet apply). Given a modulepath of /etc/puppetlabs/code/modules, the example above would resolve to /etc/puppetlabs/code/modules//files/.
Unlike content, the source attribute can be used to recursively copy directories if the recurse attribute is set to true or remote. If a source directory contains symlinks, use the links attribute to specify whether to recreate links or follow them.

The normal form of a puppet: URI is:
puppet:///modules//
This will fetch a file from a module on the Puppet master (or from a local module when using Puppet apply). Given a modulepath of /etc/puppetlabs/code/modules, the example above would resolve to /etc/puppetlabs/code/modules//files/.
Unlike content, the source attribute can be used to recursively copy directories if the recurse attribute is set to true or remote. If a source directory contains symlinks, use the links attribute to specify whether to recreate links or follow them.

I have a question to say.
I will copy puppetserver file to puppet agent.
This file is at /etc/puppetlabs/code/modules//files/abc/
abc is myown folder.
when I execute "puppet agent -t "at puppet agent ,and wrong with the message below.
Could not evaluate: Could not retrieve information from environment production source(s) puppet:///modules/mymodule/abc/test1.txt

Hi @bobo200128 Can you raise this as a separate issue as I think its outside the scope of this PR.
Thanks

Hi @bobo200128 Can you raise this as a separate issue as I think its outside the scope of this PR.
Thanks

HOW CAN I RAISE A NEW ISSUE?  I ONLY see new request and not have the perssion?

Checking for you @bobo200128

Checking for you @bobo200128

Thanks a lot.
by the way,can U help to answer my question?

@bobo200128 Please follow the guidelines and instructions for: https://github.com/puppetlabs/puppet/blob/master/CONTRIBUTING.md#getting-started

@bobo200128 I'd recommend joining #windows in https://slack.puppet.com/ as copying files from puppetserver to agent nodes is a fairly comment question.


[Coder] Missing Method Editor Should Offer Protocol

When you create a missing method with the wrench in Coder, the embedded method editor that appears does not have the protocol token, so you have to switch to another place if you need to change this. Issue created at request of @girba.

This is fixed in v...570


Add support for build files folder parameter

:scroll: Description

Add support for build files folder parameter
:bulb: Motivation and Context

Closes #228
:green_heart: How did you test it?
Unit Tests
:pencil: Checklist

[x] I reviewed submitted code
[x] I added tests to verify changes
[ ] I updated the docs if needed
[x] All tests passing
[x] No breaking changes

@buenaflor I assumed that web path behaviour would stay the same and users can also specify a custom path there as the need it. Don't think we can assume web path to be correct in relation to a custom build path users provide, no?

Don't think we can assume web path to be correct in relation to a custom build path users provide, no?

yeah, was just wondering if it makes sense to call that out somehow but not sure, maybe not?

@buenaflor I changed the naming to match the other parameter and added some context in the readme


Unable to start Super Set

superset_tests_worker    | Unable to load celery application.
superset_tests_worker    | The module superset.tasks was not found.

Please fill out all bug report information so that we may investigate the issue.

closing as this is a duplicate of #10775


Rate limiting applied on communication to subscribers

Hello EMQ Team, Feng,
Rate limiting appear to be applied only to input flow from publishers to EMQ.
Could it be applied to output flow from EMQ, if not, could you plan to provide the same. This can be useful when the available bandwidth to subscribers is limited or when the subscriber can run only at a slower or fixed rate. This is wrt mqtt.listener.ssl.rate_limit and mqtt.listener.tcp.rate_limit in 2.1.2 version.
Thanks.

@rejji sorry for the delay. I am working on EMQ X R3.0 these days, and the rate limit and flow control features will be implemented according to the MQTT Version 5.0 specification.


Update k3s-root to pull in updated slirp4netns

Related to #1709
Signed-off-by: Brad Davidson<EMAIL_ADDRESS>

Next time I'll remember to wait for the k3s-root CI to finish before putting in the PR...


Output parameters

As a Kubernetes user, I can write DM templates that bind output parameters from a resource into input parameters in dependent resources.

Depends on #53.

I'm going to propose we collapse these into just #53, given that there is one syntax for both dependencies and references.

Actually, they are two different pieces of work. This issue is about implementing value propagation from output parameters to input parameters. #53 is about making the workflow respect dependency order. Yes, there's just one syntax. However, I'm pretty sure they will be implemented in different parts of the code base. So, I think it helps to break out the implementation tasks involved. If you want to collapse them, then I'd suggest that you add a checkbox task list to the issue that enumerates these two pieces of implementation.


Improve graph visualization documentation

Stack from ghstack:

#505
-> #504

Improve docstring, added an example, and expanded documentation to have a template for utility functions (not just class)
If there isn't strong objection, I plan to cherry-pick this and the graph visualization PR to release 0.4.0 (cc: @ejguan).
Differential Revision: D37040783

How you manage to import part of the stack? =)

@nivekt has imported this pull request.  If you are a Facebook employee, you can view this diff on Phabricator.

LGTM, and I am fine to cherry pick the graph visualization PRs to the release.
I am still a noob regarding these rst files. Could you please provide a reference of rendered page?

Here you go:

Thank you! Looks great.


Added github actions to push PRs to gitlab.

This has been squashed and merged on gitlab: e2522ee7739d46b1fa800dcc23fcdafbe3363bc1


Fix provisioning Python version mixup.

@showell can you test this with Py 2 and 3?

I decided against ditching Python 2 completely, since developers still want to test the zulip package with Python 2.


Implement Website Analytics

Goal
The goal behind implementing website analytics is to determine overall website traffic in addition to strategicly tracking popular articles, content and more. Visitor privacy is important as we ideally will track no specific details regarding the visitor.
Options

TelemetryDeck (Free)

Since this is a Swift based static site, TelemetryDeck should be able to be implemented quite easily using SPM.

Netlify ($9.00 / mo)

This offers hosting for free, with analytics for $9.00 a month.

Plausible ($9.00 / mo)

This was an option brought up by a member in the Discord. Unsure of complete implementation but I assume it's JS based.

source

I see we mentioned that we wanted this closed within this PR but I happen to notice this is still open.
Do we just need to close it?


Add API to Test Incoming Messages

User Story
As a user, I want to be able to call an API to determine if my node is able to receive incoming messages.
Functional Requirements

[ ] There should be an API that can be called to determine if the node can accept incoming messages.

Data Sent: useCache: true/false (boolean)
Data Returned:

{
  incomingReceived: true/false (boolean),
  lastCheckedAt: date time in milliseconds,
}

incomingReceived is true if the test message was received from an external source.
lastCheckedAt should be the time in milliseconds a test message was last received.
This call should be ignored if the call is already in progress (ie: ignore new calls until a response arrives from the current call).
if the call fails, an error message should be returned that explains what happened in clear terms and has an error code for internationalization.

[ ] The settings API should include a parameter for whether to check if the node can receive incoming messages.

This parameter is for clients accessing the node, to let them know if they should call the API to find out if incoming messages can be received or not.
It is expected that the user will set this parameter to false if they don't want to make the check.
Data Sent: checkForIncoming: true/false (boolean) (part of the Settings JSON)
Data Received: checkForIncoming: true/false (boolean) (part of the Settings JSON)

[ ] The config file should include a parameter for the URL the server uses to call for testing incoming messages.

The config should be set to a server we have set up as the default value.

External Dependencies

[ ] An endpoint will need to be created for the server to call to test incoming messages. It should be able to receive data on how to send a message to the requesting node.
QUESTION: how will it be determined if the calling node can receive incoming messages? Just wait X seconds for one to arrive from the test server, and consider it false if one isn't received?

Should probably send the peerinfo object for the peer to the remote server to have it test each address.

Should probably send the peerinfo object for the peer to the remote server to have it test each address.

Would this mean you could test other users?
If so, do we want to use that somehow? Such as giving a buyer the ability to see if the seller can accept their incoming messages?

You don't need another server to check if you can connect to them.

Can we hash this out in the developer call tomorrow? @cpacia will you be able to join? I'd love to know the nuts and bolts of this whole idea.

ok

@cpacia we don't have any documentation on the peerinfo call, can you add that to the api docs?
How would that information be used when sent to the incoming message test api?


docs(changelog): correct link for 6.6.0 release

missing colon was preventing the reference link for release 6.6.0 from linking.
removed unreleased change notes that are now reflected in 6.6.0 release notes.

Contributor License Agreement adherence:

[x] This Contribution is under the terms of Individual Contributor License Agreements (and also Corporate Contributor License Agreements to the extent applicable) appearing in the Apereo CLA roster.

:recycle: closing an re-opening to trigger AppVeyor CI


[Question] Why so many versions ?

I took a look at https://github.com/dependabot/dependabot-core/blob/master/CHANGELOG.md and noticed that there is sometimes 10 versions a day. At Foundation we release a new version every 1 to 6 months (I admit this is not better).
So I wonder: is there any benefits for this release process ? Are you deploying dependabot 10 times a day ?
Thanks.

We deploy a bit more than 10 times a day. The structure of Dependabot is as follows:

Dependabot Core (this repo) contains the business logic for checking for updates and creating PRs
Dependabot Backend (private) is a web app that exposes an API to our dashboard, talks to GitHub, kicks off update runs, and creates PRs. It uses Dependabot Core for the PR creation bit
Dependabot Updater (private) is an app that runs in an isolated environment and creates the content for PR updates (the updated files). It's isolated from Dependabot Backend because it has to run unsafe code, so can't have its own database or environment variables. It also uses Dependabot Core
Dependabot Frontend is just a React app, consuming the API from Dependabot Backend

With the above setup, a lot of Dependabot improvements happen in Dependabot Core, but we want to pull them into the updater / backend immediately. As a result, I end up cutting a lot of releases! It might look a bit mad, but aside from wasting my time writing git tag v0.x.x several times a day the whole thing works pretty well. The alternative would be for me to pin to git references from the backend and updater, but I think doing full releases is nice.
Hope that's informative, and thanks for using Dependabot!

Also worth saying that I think the many-releases approach above is sensible for Dependabot because it's only really got one user (Dependabot). I wouldn't recommend it for Foundation!


Why is viewing_angle in the renderer is set to 15?

Hi,
Thanks for open-sourcing this awesome project. I'm trying to implement the mesh reconstruction in Pytorch. So far I can get some decent results on the car category except the obvious artifacts shown below:

After some exploration, I found this seems to be relevant to the viewing_angle, which is set to 15 in the experiment. I am a newbie in 3D graphics, I would appreciate if you could shed some light on this parameter and possible reasons for the artifacts shown above.

I guess the viewing_angle is similar to fovy in gluPerspective though i didn't go through all code in the neural_renderer...

I found the issue, it's because of the global bias. Without using the global bias, the reconstructions look reasonable.

Hi @sunshineatnoon @AlexsaseXie Can you help me with #6


fix(behavior_path_planner): fix lane change turn signal

Description
Since the current lane change turn signal decider does not provide desired start point properly, I fixed the problem with this PR.
The problem is that it does not compute the necessary length correctly, and gives time instead of length to the function.

Tests performed

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

Thank you Azu-san! I fixed it


Add --enable-code-coverage option to generate-xcodeproj command for the spm action

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context

The spm action does not currently include the option to enable code coverage for generated Xcode projects. Using an xcconfig file would enable code coverage support, but not in the generated scheme.
Including this option would allow Swift Packages to be built and tested, while also gathering coverage, in CI/CD lanes without the need for manually generated or modified Xcode projects. Without this, a manual modification to the generated project's scheme would be required to gather coverage.

Description

Added the enable_code_coverage option to the spm action.
This option would only be included when the command is generate-xcodeproject.
Testing Steps

Use the spm action to generate an Xcode project and check the "Gather code coverage" option is enabled within the project's main scheme.

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.
What to do if you already signed the CLA
Individual signers

It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.

Corporate signers

Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot (Public version).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
The email used to register you as an authorized contributor must also be attached to your GitHub account.

ℹ Googlers: Go here for more info.

@googlebot I signed it!

@googlebot I consent.


Explore adding commitizen as a precommit hook

Let's integrate commitizen as a precommit hook in the plugin codebase: https://commitizen-tools.github.io/commitizen/

Pros

Consistent commit messages across different developers
Can help with semantic versioning and possibly be a better alternative to changesets
Makes sure there is extra context on historical changes

Cons

conventional-changelog might conflict with changesets
Requires Python/Homebrew and requires contributors to have it installed as a global system package – extra onboarding steps
Breaks muscle memory of git commit -m

Suggested Actions

Discussion around whether to

Have commitizen as an optional/recommended commit step
Require commitizen with Husky
Use a commit message convention/format

Recommend including issue numbers in commits
Recommend prefixing commits with fix/feat/test/ci, etc to use as a tag for the context of the commit – e.g. Angular Commit Message Format https://github.com/angular/angular/blob/main/CONTRIBUTING.md#-commit-message-format

Amount of Time to Implement: Small (mainly discussion, Husky is already used)
Resources

https://www.freecodecamp.org/news/how-to-write-better-git-commit-messages/