Re: Dovecot 2.4 LMTP socket for Postfix / Dovecot base_dir not created upon restart

Philip Iezzi via dovecot <[email protected]>
Newsgroups gmane.mail.imap.dovecot
Message-ID <[email protected]>
> On 24 Feb 2026, at 06:53, Aki Tuomi via dovecot <[email protected]> wrote:
> 
> 
>> On 24/02/2026 00:57 EET Philip Iezzi via dovecot <[email protected]> wrote:
>> 
> 
> <snip/>
> 
>> 
>> But, when using an absolute path on unix_listener, upgrade step 2) Bullseye=>Bookworm breaks with:
>> 
>> Processing triggers for dovecot-core (2:2.4.2-2+debian12) ...
>> Job for dovecot.service failed because the control process exited with error code.
>> (...)
>> dovecot[34446]: master: Error: service(lmtp): Socket already exists: /var/run/dovecot/lmtp
>> dovecot[34446]: master: Fatal: Failed to start listeners
>> 
>> I then moved to `unix_listener lmtp`:
>> 
>> service lmtp {
>>  unix_listener lmtp {
>>    mode = 0666
>>    user = postfix
>>    group = postfix
>>  }
>> }
>> 
>> Bookworm upgrade (restarted from scratch with a fresh server clone) went through fine.
>> But even after several dovecot.service restarts, the socket ended up in /run/lmtp without creating the /run/dovecot directory, and after a full system reboot, it was suddenly back where I have expected it: /run/dovecot/lmtp
>> I never changed base_dir, which defaults to /var/run/dovecot/
>> 
> 
> On most modern operating systems, /var/run and /run are the same. So unless you touched something, dovecot should always use /run/dovecot. Not sure what happened there, but I suspect you accidentically changed something.

Thanks Aki. I know, /var/run -> /run symlink always existed (since very old Debian versions), so that definitely did not change on Bookworm upgrade.
So it must have been some Bookworm upgrade "glitch" with /run temporarily not being available...
Is there some code in Dovecot that decides to fall back to /run if $base_dir (/run/dovecot) is missing? That's the only thing I really wondered about - why dit the socket ever end up in /run/lmtp instead of /run/dovecot/lmtp ? If the whole /run/dovecot cannot be created for some reason, Dovecot should not be able to start.

Please just confirm that my current config is "sane":

service lmtp {
 unix_listener lmtp {
   mode = 0666
   user = postfix
   group = postfix
 }
}

With this setup, am I somehow fighting against the default lmtp socket which would already be created as root:root because of `protocols = lmtp ...` definition?
Just want to make sure this socket will always be available, as it is the most crucial part of my whole setup.

Cheers,
Philip

_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.