Heiko Schlittermann
2016-Feb-12 22:36 UTC
Segmentation fault on doveadm search -A with a huge user base
Hi, I'm using dovecot 2.2.9 with a director/backend setup. The user base is about 4711 users currently. If I start at one of the directors doveadm search -A all savedbefore 5000d it terminates with doveadm(1rrissma): Error: doveadm server disconnected before handshake: EOF doveadm(1rrissma): Error: 2001:638:913:f33::5:ff:24245: Command search failed for 1phaaman: EOF doveadm(1rrissma): Error: doveadm server failure doveadm: Error: Failed to iterate through some users The backend logs about that ... Feb 12 23:09:41 backend1 dovecot: doveadm(2001:638:913:f33::5:1,1mstrei2): Error: doveadm search: Client sent unknown parameter: ? Feb 12 23:09:41 backend1 dovecot: doveadm: Error: search: invalid option -- '5' Feb 12 23:09:41 backend1 dovecot: doveadm(2001:638:913:f33::5:1,1mstrei2): Error: doveadm search: Client sent unknown parameter: ? Feb 12 23:09:41 backend1 dovecot: doveadm: Error: search: invalid option -- '5' Feb 12 23:09:41 backend1 dovecot: doveadm(2001:638:913:f33::5:1,1mstrei2): Error: doveadm search: Client sent unknown parameter: ? Feb 12 23:09:41 backend1 dovecot: doveadm: Error: search: invalid option -- '0' Feb 12 23:09:41 backend1 dovecot: doveadm(2001:638:913:f33::5:1,1mstrei2): Error: doveadm search: Client sent unknown parameter: ? Feb 12 23:09:41 backend1 dovecot: doveadm: Error: search: invalid option -- '0' Feb 12 23:09:41 backend1 dovecot: doveadm(2001:638:913:f33::5:1,1mstrei2): Error: doveadm search: Client sent unknown parameter: ? Feb 12 23:09:41 backend1 dovecot: doveadm: Error: search: invalid option -- '0' Feb 12 23:09:41 backend1 dovecot: doveadm(2001:638:913:f33::5:1,1mstrei2): Error: doveadm search: Client sent unknown parameter: ? Feb 12 23:09:41 backend1 dovecot: doveadm: Error: search: invalid option -- 'd' Feb 12 23:09:41 backend1 dovecot: doveadm(2001:638:913:f33::5:1,1mstrei2): Error: doveadm search: Client sent unknown parameter: ? Feb 12 23:09:41 backend1 dovecot: doveadm(2001:638:913:f33::5:1,1mstrei2): Fatal: master: service(doveadm): child 11235 killed with signal 11 (core dumped) Is this a known behaviour and fixed already, or do I need to do more investigation? (PS: Running the same command on one of the backends works w/o failure) Best regards from Dresden/Germany Viele Gr??e aus Dresden Heiko Schlittermann -- SCHLITTERMANN.de ---------------------------- internet & unix support - Heiko Schlittermann, Dipl.-Ing. (TU) - {fon,fax}: +49.351.802998{1,3} - gnupg encrypted messages are welcome --------------- key ID: F69376CE - ! key id 7CBF764A and 972EAC9F are revoked since 2015-01 ------------ - -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 473 bytes Desc: Digital signature URL: <http://dovecot.org/pipermail/dovecot/attachments/20160212/41b250ba/attachment.sig>
Andrey Fesenko
2016-Feb-12 23:01 UTC
Segmentation fault on doveadm search -A with a huge user base
On Sat, Feb 13, 2016 at 1:36 AM, Heiko Schlittermann <hs at schlittermann.de> wrote:> Hi, > > I'm using dovecot 2.2.9 with a director/backend setup. The user base is > about 4711 users currently. > > If I start at one of the directors > > doveadm search -A all savedbefore 5000d > > it terminates with > > doveadm(1rrissma): Error: doveadm server disconnected before handshake: EOF > doveadm(1rrissma): Error: 2001:638:913:f33::5:ff:24245: Command search failed for 1phaaman: EOF > doveadm(1rrissma): Error: doveadm server failure > doveadm: Error: Failed to iterate through some users > > The backend logs about that > > ... > Feb 12 23:09:41 backend1 dovecot: doveadm(2001:638:913:f33::5:1,1mstrei2): Error: doveadm search: Client sent unknown parameter: ? > Feb 12 23:09:41 backend1 dovecot: doveadm: Error: search: invalid option -- '5' > Feb 12 23:09:41 backend1 dovecot: doveadm(2001:638:913:f33::5:1,1mstrei2): Error: doveadm search: Client sent unknown parameter: ? > Feb 12 23:09:41 backend1 dovecot: doveadm: Error: search: invalid option -- '5' > Feb 12 23:09:41 backend1 dovecot: doveadm(2001:638:913:f33::5:1,1mstrei2): Error: doveadm search: Client sent unknown parameter: ? > Feb 12 23:09:41 backend1 dovecot: doveadm: Error: search: invalid option -- '0' > Feb 12 23:09:41 backend1 dovecot: doveadm(2001:638:913:f33::5:1,1mstrei2): Error: doveadm search: Client sent unknown parameter: ? > Feb 12 23:09:41 backend1 dovecot: doveadm: Error: search: invalid option -- '0' > Feb 12 23:09:41 backend1 dovecot: doveadm(2001:638:913:f33::5:1,1mstrei2): Error: doveadm search: Client sent unknown parameter: ? > Feb 12 23:09:41 backend1 dovecot: doveadm: Error: search: invalid option -- '0' > Feb 12 23:09:41 backend1 dovecot: doveadm(2001:638:913:f33::5:1,1mstrei2): Error: doveadm search: Client sent unknown parameter: ? > Feb 12 23:09:41 backend1 dovecot: doveadm: Error: search: invalid option -- 'd' > Feb 12 23:09:41 backend1 dovecot: doveadm(2001:638:913:f33::5:1,1mstrei2): Error: doveadm search: Client sent unknown parameter: ? > Feb 12 23:09:41 backend1 dovecot: doveadm(2001:638:913:f33::5:1,1mstrei2): Fatal: master: service(doveadm): child 11235 killed with signal 11 (core dumped) > > Is this a known behaviour and fixed already, or do I need to do more > investigation? > > (PS: Running the same command on one of the backends works w/o failure) >For dovecot with LDAP we make this After fix dovecot-ldap.conf user_filter = (&(objectClass=posixAccount)(uid=%u)(BackendHost=backend1.wibble.net)) pass_attrs = uid=user,userPassword=password pass_filter = (&(objectClass=posixAccount)(uid=%u)) # For using doveadm -A: iterate_attrs = uid=user iterate_filter = (&(objectClass=posixAccount)(BackendHost=backend1.wibble.net)) Work perfect> doveadm: Error: Failed to iterate through some usersNeed more search limit in LDAP http://dovecot.org/list/dovecot/2016-February/103118.html
Heiko Schlittermann
2016-Feb-12 23:34 UTC
Segmentation fault on doveadm search -A with a huge user base
Andrey Fesenko <f0andrey at gmail.com> (Sa 13 Feb 2016 00:01:01 CET): ? Thank you for your fast response? doveadm user \* works on the director, gives us 4711 users. The LDAP limits are 'unlimited'.> For dovecot with LDAP we make this > After fix dovecot-ldap.conf > > user_filter = (&(objectClass=posixAccount)(uid=%u)(BackendHost=backend1.wibble.net)) > pass_attrs = uid=user,userPassword=password > pass_filter = (&(objectClass=posixAccount)(uid=%u)) > # For using doveadm -A: > iterate_attrs = uid=user > iterate_filter = (&(objectClass=posixAccount)(BackendHost=backend1.wibble.net)) > > Work perfect > > > doveadm: Error: Failed to iterate through some usersYes, but I *can* iterate through the users? # ldapsearch -x -w $(<private/ldap.pw) objectClass=hqmMailRecipient -LLL | grep -c ^dn # doveadm user \* | wc -l is 4711 in both cases. And .. eigher way, segmentation fault? isn't what I'd expect here. -- Heiko -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 473 bytes Desc: Digital signature URL: <http://dovecot.org/pipermail/dovecot/attachments/20160213/a6a3406e/attachment.sig>
Apparently Analagous Threads
- LMTP proxy does not pass RCPT TO: ... 5xx response back
- TLS communication director -> backend with X.509 cert checks?
- TLS communication director -> backend with X.509 cert checks?
- Dualstack IPv4/IPv6 setup with directors
- Crash: setannotation Trash "/vendor/cmu/cyrus-imapd/expire" ("value.shared" NIL)