Raising severity to grave as this bug breaks the core functionality of
this tool. fdm is a mail fetch and delivery tool; as such, not being to
perform those tasks makes the tool unusable.
Here's a working log from fdm 1.9:
```
version is: fdm 1.9, started at: Wed Nov 19 17:33:07 2025
running on: Linux 6.17.8+deb14-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.17.8-1 (2025-11-15) x
86_64
host is: priyasi priyasi 192.168.31.5
home is: /home/rrs
loading configuration from /home/rrs/.fdm.conf
added macro "$base": "%h/.fdm"
added macro "%max_age": 90
added macro "$com_sed": "sed"
added macro "$com_awk": "awk"
added macro "$com_perl": "perl"
added macro "$path": "%h/Maildir"
added action "inbox": deliver=0:maildir "%h/Maildir"
added action "junk": deliver=0:maildir "%h/Maildir/.spam"
added action "researchut": deliver=0:maildir "%h/Maildir/.ARESEARCHUT"
... snipped ...
added rule 53: matches=all actions="inbox"
configuration loaded
locking using: dotlock
options are: maximum-size=134217728, timeout=60, default-user="rrs", command-user="rrs", f
ile-umask=077, queue-high=5, queue-low=3, lock-file="/home/rrs/.fdm/lock", strip-character
s="\<>$%^&*|{}[]"'`;"
using tmp directory: /tmp
parent: started, pid is 128334
parent: 0 children, 0 dead children
parent: child 128335 (researchut) started
researchut: fetch started, pid 128335
researchut: user is 1000
researchut: started processing
researchut: fetching
researchut: fetch loop start
researchut: calling fetch state (0x560636d15590, flags 0x02)
researchut: fetch, again
researchut: fetch loop start
researchut: calling fetch state (0x560636d206c0, flags 0x02)
researchut: fetch, block
researchut: queued 0; blocked 0; flags 0x02
researchut: polling: 2, timeout=60000
researchut: fetch loop start
researchut: calling fetch state (0x560636d219a0, flags 0x02)
researchut: fetch, block
researchut: queued 0; blocked 0; flags 0x02
researchut: polling: 2, timeout=60000
researchut: fetch loop start
researchut: calling fetch state (0x560636d21c00, flags 0x02)
researchut: fetch, block
researchut: queued 0; blocked 0; flags 0x02
researchut: polling: 2, timeout=60000
researchut: fetch loop start
researchut: calling fetch state (0x560636d21c00, flags 0x02)
researchut: fetch, block
researchut: queued 0; blocked 0; flags 0x02
researchut: polling: 2, timeout=60000
researchut: fetch loop start
researchut: calling fetch state (0x560636d21cc0, flags 0x02)
researchut: fetch, block
researchut: queued 0; blocked 0; flags 0x02
researchut: polling: 2, timeout=60000
researchut: fetch loop start
researchut: calling fetch state (0x560636d21cc0, flags 0x02)
researchut: fetch, block
researchut: queued 0; blocked 0; flags 0x02
researchut: polling: 2, timeout=60000
researchut: fetch loop start
researchut: calling fetch state (0x560636d21d70, flags 0x02)
researchut: fetch, block
researchut: queued 0; blocked 0; flags 0x02
researchut: polling: 2, timeout=60000
researchut: fetch loop start
researchut: calling fetch state (0x560636d21d70, flags 0x02)
researchut: fetch, block
researchut: queued 0; blocked 0; flags 0x02
researchut: polling: 2, timeout=60000
researchut: fetch loop start
researchut: calling fetch state (0x560636d22e80, flags 0x02)
researchut: fetch, block
researchut: queued 0; blocked 0; flags 0x02
researchut: polling: 2, timeout=60000
researchut: fetch loop start
researchut: calling fetch state (0x560636d22e80, flags 0x02)
researchut: fetch, exit
researchut: 0 messages processed in 2.453 seconds
researchut: finished processing. exiting
researchut: sending exit message to parent
researchut: waiting for exit message from parent
parent: got message type 1, id 0 from child 128335
parent: sending exit message to child 128335
parent: 1 children, 0 dead children
parent: 1 children, 0 dead children
parent: child 128335 socket error
parent: 1 children, 0 dead children
parent: waiting for children
parent: child 128335 returned 0
parent: waiting for children
parent: waiting for children
parent: finished, total time 2.454 seconds
```
whereas, with fdm 2.2, I get:
```
version is: fdm 2.2, started at: Wed Nov 19 17:34:30 2025
running on: Linux 6.17.8+deb14-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.17.8-1 (2025-11-15)
x86_64
host is: priyasi priyasi 192.168.31.5
home is: /home/rrs
loading configuration from /home/rrs/.fdm.conf
added macro "$base": "%h/.fdm"
added macro "%max_age": 90
added macro "$com_sed": "sed"
added macro "$com_awk": "awk"
added macro "$com_perl": "perl"
added macro "$path": "%h/Maildir"
added action "inbox": deliver=0:maildir "%h/Maildir"
added action "junk": deliver=0:maildir "%h/Maildir/.spam"
added action "researchut": deliver=0:maildir "%h/Maildir/.ARESEARCHUT"
... snipped ...
added rule 53: matches=all actions="inbox"
configuration loaded
locking using: dotlock
options are: maximum-size=134217728, timeout=60, default-user="rrs", command-user="rrs",
file-umask=077, queue-high=5, queue-low=3, lock-file="/home/rrs/.fdm/lock", strip-charact
ers="\<>$%^&*|{}[]"'`;"
using tmp directory: /tmp
parent: started, pid is 128883
parent: 0 children, 0 dead children
parent: child 128884 (researchut) started
researchut: fetch started, pid 128884
researchut: user is 1000
researchut: started processing
researchut: fetching
researchut: fetch loop start
researchut: calling fetch state (0x5558d48cc330, flags 0x02)
researchut: fetch, again
researchut: fetch loop start
researchut: calling fetch state (0x5558d48d8420, flags 0x02)
researchut: fetch, block
researchut: queued 0; blocked 0; flags 0x02
researchut: polling: 2, timeout=60000
researchut: fetch loop start
researchut: calling fetch state (0x5558d48d97e0, flags 0x02)
researchut: fetch, block
researchut: queued 0; blocked 0; flags 0x02
researchut: polling: 2, timeout=60000
researchut: fetch loop start
researchut: calling fetch state (0x5558d48d96a0, flags 0x02)
researchut: fetch, block
researchut: queued 0; blocked 0; flags 0x02
researchut: polling: 2, timeout=60000
researchut: fetch loop start
researchut: calling fetch state (0x5558d48d96a0, flags 0x02)
researchut: fetch, block
researchut: queued 0; blocked 0; flags 0x02
researchut: polling: 2, timeout=60000
researchut: connection closed
researchut: fetching error. aborted
researchut: 0 messages processed in 0.682 seconds
researchut: finished processing. exiting
researchut: sending exit message to parent
researchut: waiting for exit message from parent
parent: got message type 1, id 0 from child 128884
parent: sending exit message to child 128884
parent: 1 children, 0 dead children
parent: waiting for children
parent: child 128884 returned 1
parent: waiting for children
parent: waiting for children
parent: finished, total time 0.683 seconds
parent: exit code 1
```
There's also a report filed upstream but not much activity there either.
https://github.com/nicm/fdm/issues/141
If there is extra information I can provide with, please ask.