Segmentation fault on doveadm search -A with a huge user base

Andrey Fesenko f0andrey at gmail.com
Fri Feb 12 23:01:01 UTC 2016


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 users

Need more search limit in LDAP
http://dovecot.org/list/dovecot/2016-February/103118.html


More information about the dovecot mailing list