[Dovecot] Startup error dovecot-2.0.5
When starting 2.0.5, I'm getting: # /usr/dovecot-2/sbin/dovecot -F doveconf: Warning: service auth { client_limit=4096 } is lower than required under max. load (12288) doveconf: Fatal: execvp(/usr/dovecot-2/sbin/dovecot) failed: Argument list too long
Argument list too long? WTF?
-- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de
- Ralf Hildebrandt Ralf.Hildebrandt@charite.de:
When starting 2.0.5, I'm getting: # /usr/dovecot-2/sbin/dovecot -F doveconf: Warning: service auth { client_limit=4096 } is lower than required under max. load (12288) doveconf: Fatal: execvp(/usr/dovecot-2/sbin/dovecot) failed: Argument list too long
Argument list too long? WTF?
Meanwhile I'm down to: # /usr/dovecot-2/sbin/dovecot -F doveconf: Fatal: execvp(/usr/dovecot-2/sbin/dovecot) failed: Argument list too long
Still not running, nothing in the logs...
-- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de
- Ralf Hildebrandt Ralf.Hildebrandt@charite.de:
- Ralf Hildebrandt Ralf.Hildebrandt@charite.de:
When starting 2.0.5, I'm getting: # /usr/dovecot-2/sbin/dovecot -F doveconf: Warning: service auth { client_limit=4096 } is lower than required under max. load (12288) doveconf: Fatal: execvp(/usr/dovecot-2/sbin/dovecot) failed: Argument list too long
Argument list too long? WTF?
Meanwhile I'm down to: # /usr/dovecot-2/sbin/dovecot -F doveconf: Fatal: execvp(/usr/dovecot-2/sbin/dovecot) failed: Argument list too long
Still not running, nothing in the logs...
strace yields
... execve("/usr/dovecot-2/sbin/dovecot", ["/usr/dovecot-2/sbin/dovecot", "-c", "/usr/dovecot-2/etc/dovecot/dovec"...], [/* 244 vars */]) = -1 E2BIG (Argument list too long) write(2, "doveconf: Fatal: execvp(/usr/dov"..., 84doveconf: Fatal: execvp(/usr/dovecot-2/sbin/dovecot) failed: Argument list too long) = 84 exit_group(89) = ?
-- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de
what does strace -s 1024 ... yield?
-david
On 10/05/2010 04:19 PM, Ralf Hildebrandt wrote:
[...] strace yields
... execve("/usr/dovecot-2/sbin/dovecot", ["/usr/dovecot-2/sbin/dovecot", "-c", "/usr/dovecot-2/etc/dovecot/dovec"...], [/* 244 vars */]) = -1 E2BIG (Argument list too long) write(2, "doveconf: Fatal: execvp(/usr/dov"..., 84doveconf: Fatal: execvp(/usr/dovecot-2/sbin/dovecot) failed: Argument list too long) = 84 exit_group(89) = ?
- David Ford david@blue-labs.org:
what does strace -s 1024 ... yield?
munmap(0xb73d9000, 528384) = 0 execve("/usr/dovecot-2/sbin/dovecot", ["/usr/dovecot-2/sbin/dovecot", "-F"], [/* 244 vars */]) = -1 E2BIG (Argument list too long) write(2, "doveconf: Fatal: execvp(/usr/dovecot-2/sbin/dovecot) failed: Argument list too long\n", 84doveconf: Fatal: execvp(/usr/dovecot-2/sbin/dovecot) failed: Argument list too long ) = 84 exit_group(89) = ?
According to the execve man page, E2BIG means:
E2BIG The total number of bytes in the environment (envp) and argument list (argv) is too large.
argv is not too large. So it must be the environment. # set |wc 52 66 1186
Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de
- Timo Sirainen tss@iki.fi:
On 5.10.2010, at 21.38, Ralf Hildebrandt wrote:
execve("/usr/dovecot-2/sbin/dovecot", ["/usr/dovecot-2/sbin/dovecot", "-F"], [/* 244 vars */]) = -1 E2BIG (Argument list too long)
What does it log with attached patch?
rebuilding only dovecot-2.0.5, I hope that's sufficient...
postamt:~# /usr/dovecot-2/sbin/dovecot -F doveconf: Info: 8 /usr/dovecot-2/sbin/dovecot doveconf: Info: 9 -F doveconf: Info: 8 /usr/dovecot-2/libexec/dovecot/managesieve doveconf: Info: 9 -k doveconf: Info: 10 -c doveconf: Info: 11 /usr/dovecot-2/etc/dovecot/dovecot.conf doveconf: Fatal: execvp(/usr/dovecot-2/sbin/dovecot) failed: Argument list too long
-- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de
On 5.10.2010, at 21.38, Ralf Hildebrandt wrote:
execve("/usr/dovecot-2/sbin/dovecot", ["/usr/dovecot-2/sbin/dovecot", "-F"], [/* 244 vars */]) = -1 E2BIG (Argument list too long)
Oh, right, I was misreading the above, didn't notice the brackets between -F and 244 vars..
argv is not too large. So it must be the environment. # set |wc 52 66 1186
Yeah. I guess the "244 vars" means that. dovecot's whole job is to put settings into environment. I haven't heard of there being problems with that before. So what do you get with attached patch? My output is only 11 kB, and I think in Linux the limit was at least 256 kB. Or is it Linux or what you're using?
- Timo Sirainen tss@iki.fi:
On 5.10.2010, at 21.38, Ralf Hildebrandt wrote:
execve("/usr/dovecot-2/sbin/dovecot", ["/usr/dovecot-2/sbin/dovecot", "-F"], [/* 244 vars */]) = -1 E2BIG (Argument list too long)
Oh, right, I was misreading the above, didn't notice the brackets between -F and 244 vars..
argv is not too large. So it must be the environment. # set |wc 52 66 1186
Yeah. I guess the "244 vars" means that. dovecot's whole job is to put settings into environment. I haven't heard of there being problems with that before. So what do you get with attached patch?
No additional output.
My output is only 11 kB, and I think in Linux the limit was at least 256 kB. Or is it Linux or what you're using?
Debian/Linux (testing)
-- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de
- Timo Sirainen tss@iki.fi:
On 5.10.2010, at 21.38, Ralf Hildebrandt wrote:
execve("/usr/dovecot-2/sbin/dovecot", ["/usr/dovecot-2/sbin/dovecot", "-F"], [/* 244 vars */]) = -1 E2BIG (Argument list too long)
Oh, right, I was misreading the above, didn't notice the brackets between -F and 244 vars..
argv is not too large. So it must be the environment. # set |wc 52 66 1186
Yeah. I guess the "244 vars" means that. dovecot's whole job is to put settings into environment. I haven't heard of there being problems with that before. So what do you get with attached patch? My output is only 11 kB, and I think in Linux the limit was at least 256 kB. Or is it Linux or what you're using?
Is this the wrong patch? "maildir: Don't assert-crash when saving a message without locking uidlist."
I'd be happy if it would crash, since that would mean it ran in the first place .)
-- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de
On 5.10.2010, at 22.17, Ralf Hildebrandt wrote:
Yeah. I guess the "244 vars" means that. dovecot's whole job is to put settings into environment. I haven't heard of there being problems with that before. So what do you get with attached patch? My output is only 11 kB, and I think in Linux the limit was at least 256 kB. Or is it Linux or what you're using?
Is this the wrong patch? "maildir: Don't assert-crash when saving a message without locking uidlist."
Uh, yeah. Wonder where I lost my mind today. Another try at sending the right patch.
- Timo Sirainen tss@iki.fi:
On 5.10.2010, at 22.17, Ralf Hildebrandt wrote:
Yeah. I guess the "244 vars" means that. dovecot's whole job is to put settings into environment. I haven't heard of there being problems with that before. So what do you get with attached patch? My output is only 11 kB, and I think in Linux the limit was at least 256 kB. Or is it Linux or what you're using?
Is this the wrong patch? "maildir: Don't assert-crash when saving a message without locking uidlist."
Uh, yeah. Wonder where I lost my mind today. Another try at sending the right patch.
It's a lot of output and it contains the SSL certificates.
It ends in:
... NAMESPACE/0/PREFIX=INBOX. NAMESPACE/0/LOCATION= NAMESPACE/0/INBOX=yes MAIL_LOCATION=maildir:~/Maildir doveconf: Fatal: dc execvp(/usr/dovecot-2/sbin/dovecot) failed: Argument list too long
-- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de
On 5.10.2010, at 22.37, Ralf Hildebrandt wrote:
Uh, yeah. Wonder where I lost my mind today. Another try at sending the right patch.
It's a lot of output and it contains the SSL certificates.
What about the size of the output? dovecot -F | wc
Oh, are your SSL certificates something really big?..
On 5.10.2010, at 22.40, Timo Sirainen wrote:
On 5.10.2010, at 22.37, Ralf Hildebrandt wrote:
Uh, yeah. Wonder where I lost my mind today. Another try at sending the right patch.
It's a lot of output and it contains the SSL certificates.
What about the size of the output? dovecot -F | wc
Oh, are your SSL certificates something really big?..
And the attached patch actually fixes the problem, I hope?
- Timo Sirainen tss@iki.fi:
On 5.10.2010, at 22.40, Timo Sirainen wrote:
On 5.10.2010, at 22.37, Ralf Hildebrandt wrote:
Uh, yeah. Wonder where I lost my mind today. Another try at sending the right patch.
It's a lot of output and it contains the SSL certificates.
What about the size of the output? dovecot -F | wc
Oh, are your SSL certificates something really big?..
And the attached patch actually fixes the problem, I hope?
Yes. YOu're the king :) But WTF did that one liner change?
-- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de
On 5.10.2010, at 23.01, Ralf Hildebrandt wrote:
Oh, are your SSL certificates something really big?..
And the attached patch actually fixes the problem, I hope?
Yes. YOu're the king :) But WTF did that one liner change?
It changed doveconf to put only those settings to environment that are actually used by master process. The bad part of this is that now I think it doesn't verify the correctness of all settings at startup. I guess I'll do another change to make that happen too.
- Timo Sirainen tss@iki.fi:
On 5.10.2010, at 22.37, Ralf Hildebrandt wrote:
Uh, yeah. Wonder where I lost my mind today. Another try at sending the right patch.
It's a lot of output and it contains the SSL certificates.
What about the size of the output? dovecot -F | wc
Oh, are your SSL certificates something really big?..
Yes, since I have to add the certificate chain as well
-- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de
- Timo Sirainen tss@iki.fi:
On 5.10.2010, at 22.37, Ralf Hildebrandt wrote:
Uh, yeah. Wonder where I lost my mind today. Another try at sending the right patch.
It's a lot of output and it contains the SSL certificates.
What about the size of the output? dovecot -F | wc
# wc /tmp/out.txt 3882 4246 233470 /tmp/out.txt
Oh, are your SSL certificates something really big?..
# /usr/dovecot-2/sbin/dovecot -F | wc -l doveconf: Info: 8 /usr/dovecot-2/sbin/dovecot doveconf: Info: 9 -F doveconf: Info: 8 /usr/dovecot-2/libexec/dovecot/managesieve doveconf: Info: 9 -k doveconf: Info: 10 -c doveconf: Info: 11 /usr/dovecot-2/etc/dovecot/dovecot.conf doveconf: Fatal: dc execvp(/usr/dovecot-2/sbin/dovecot) failed: Argument list too long 3882
# fgrep -i ssl /usr/dovecot-2/etc/dovecot/dovecot.conf ssl_ca =
-rw-r--r-- 1 root root 219952 Sep 7 22:29 /etc/ssl/certs/ca-certificates.crt -rw------- 2 500 staff 1923 Okt 21 2007 /etc/ssl/certs/cert-188235905-postamt.charite.de-g02.pem -rw------- 1 root root 1675 Sep 11 2006 /etc/ssl/private/postamt.key
Hm, I guess /etc/ssl/certs/ca-certificates.crt is too big. I should probably create a file that only contains my ca chain.
Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de
- Harlan Stenn Harlan.Stenn@pfcs.com:
Ralf,
Are you using tcsh?
No.
-- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de
- Harlan Stenn Harlan.Stenn@pfcs.com:
Ralf,
Are you using tcsh?
No.
I didn't think you were, but I wanted to ask, as I remember some versions of tcsh have a "non-huge" buffer for something (which, now that I think about it, was either command-line length or an environment buffer).
H
participants (4)
-
David Ford
-
Harlan Stenn
-
Ralf Hildebrandt
-
Timo Sirainen