Dovecot User Listing Error - getpwent() failed: Invalid Argument

Reuben Farrelly reuben-dovecot at reub.net
Thu Oct 4 10:53:41 EEST 2018


As a followup to this thread, it is looking increasingly like this is a 
regression in glibc-2.28.  One of the Gentoo devs has reproduced the 
problem, created a test case and bisected it down to a specific commit 
that went into glibc in July.

For more information see:

https://bugs.gentoo.org/667118

Note: it's not a problem with glibc-2.27, but new to 2.28.

Reuben


On 19/09/2018 6:53 pm, Aki Tuomi wrote:
> I have no idea why it's returning invalid argument, maybe you need to
> raise this as issue with glibc?
> 
> Aki
> 
> 
> On 19.09.2018 10:43, Reuben Farrelly wrote:
>> Sure:
>>
>> thunderstorm ~ # cat /etc/nsswitch.conf
>> # /etc/nsswitch.conf:
>> # $Header:
>> /var/cvsroot/gentoo/src/patchsets/glibc/extra/etc/nsswitch.conf,v 1.2
>> 2017/08/12 16:21:44 slyfox Exp $
>>
>> passwd:      compat files
>> shadow:      compat files
>> group:       compat files
>>
>> hosts:       files dns
>> networks:    files dns
>>
>> services:    db files
>> protocols:   db files
>> rpc:         db files
>> ethers:      db files
>> netmasks:    files
>> netgroup:    files
>> bootparams:  files
>>
>> automount:   files
>> aliases:     files
>> thunderstorm ~ #
>>
>> Reuben
>>
>> On 19/09/2018 5:41 pm, Aki Tuomi wrote:
>>> Can you provide your /etc/nssswitch.conf?
>>>
>>> Aki
>>>
>>>
>>> On 19.09.2018 10:40, Reuben Farrelly wrote:
>>>> I've been running with this almost identical patch already for some
>>>> time:
>>>>
>>>> diff -up dovecot-2.3.0.1/src/auth/mycrypt.c.libxcrypt
>>>> dovecot-2.3.0.1/src/auth/mycrypt.c
>>>> --- dovecot-2.3.0.1/src/auth/mycrypt.c.libxcrypt       2018-02-28
>>>> 15:28:58.000000000 +0100
>>>> +++ dovecot-2.3.0.1/src/auth/mycrypt.c 2018-03-27 10:57:38.447769201
>>>> +0200
>>>> @@ -14,6 +14,7 @@
>>>>    #  define _XPG6 /* Some Solaris versions require this, some break
>>>> with this */
>>>>    #endif
>>>>    #include <unistd.h>
>>>> +#include <crypt.h>
>>>>
>>>>    #include "mycrypt.h"
>>>>
>>>> That fixed the build problem I had, but the warning below remains.
>>>>
>>>> (Tracking master-2.3 git)
>>>>
>>>> Reuben
>>>>
>>>>
>>>> On 19/09/2018 5:34 pm, Aki Tuomi wrote:
>>>>> This is bit of a longshot, but can you try applying
>>>>> https://github.com/dovecot/core/commit/63a74b9.patch and see if this
>>>>> helps?
>>>>>
>>>>> Aki
>>>>>
>>>>>
>>>>> On 19.09.2018 10:33, Reuben Farrelly wrote:
>>>>>> glibc-2.28.
>>>>>>
>>>>>> There was a posting by Michael Marley on 31/08 saying he saw
>>>>>> something
>>>>>> similar to this problem after upgrading to 2.28 as well with 'doveadm
>>>>>> purge'.
>>>>>>
>>>>>> Reuben
>>>>>>
>>>>>> On 19/09/2018 4:50 pm, Aki Tuomi wrote:
>>>>>>> Which glibc version are you using?
>>>>>>>
>>>>>>> Aki
>>>>>>>
>>>>>>> On 19.09.2018 09:39, Reuben Farrelly wrote:
>>>>>>>> Hi Aki,
>>>>>>>>
>>>>>>>> How did you go with this in the end?  Do you need anything more
>>>>>>>> from
>>>>>>>> me or were you able to reproduce this?
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Reuben
>>>>>>>>
>>>>>>>> On 1/09/2018 12:41 am, Reuben Farrelly wrote:
>>>>>>>>> Sure:
>>>>>>>>>
>>>>>>>>> https://www.reub.net/files/dovecot/lightning-dovecot.conf
>>>>>>>>> https://www.reub.net/files/dovecot/thunderstorm-dovecot.conf
>>>>>>>>>
>>>>>>>>> Updated nightly.
>>>>>>>>>
>>>>>>>>> Reuben
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 1/09/2018 12:26 am, Aki Tuomi wrote:
>>>>>>>>>> Can you provide doveconf -n?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ---
>>>>>>>>>> Aki Tuomi
>>>>>>>>>> Dovecot oy
>>>>>>>>>>
>>>>>>>>>> -------- Original message --------
>>>>>>>>>> From: Reuben Farrelly <reuben-dovecot at reub.net>
>>>>>>>>>> Date: 31/08/2018 17:12 (GMT+02:00)
>>>>>>>>>> To: Aki Tuomi <aki.tuomi at dovecot.fi>, Dovecot Mailing List
>>>>>>>>>> <dovecot at dovecot.org>
>>>>>>>>>> Subject: Re: Dovecot User Listing Error - getpwent() failed:
>>>>>>>>>> Invalid
>>>>>>>>>> Argument
>>>>>>>>>>
>>>>>>>>>> No.  Neither of those are installed on either system.
>>>>>>>>>>
>>>>>>>>>> Reuben
>>>>>>>>>>
>>>>>>>>>> On 1/09/2018 12:09 am, Aki Tuomi wrote:
>>>>>>>>>>      > Could apparmor or selinux be causing this!
>>>>>>>>>>      >
>>>>>>>>>>      >
>>>>>>>>>>      >
>>>>>>>>>>      > ---
>>>>>>>>>>      > Aki Tuomi
>>>>>>>>>>      > Dovecot oy
>>>>>>>>>>      >
>>>>>>>>>>      > -------- Original message --------
>>>>>>>>>>      > From: Reuben Farrelly <reuben-dovecot at reub.net>
>>>>>>>>>>      > Date: 31/08/2018 16:50 (GMT+02:00)
>>>>>>>>>>      > To: Dovecot Mailing List <dovecot at dovecot.org>
>>>>>>>>>>      > Subject: Dovecot User Listing Error - getpwent() failed:
>>>>>>>>>> Invalid
>>>>>>>>>> Argument
>>>>>>>>>>      >
>>>>>>>>>>      > Hi,
>>>>>>>>>>      >
>>>>>>>>>>      > I'm running dovecot-2.3 git and seeing on 2 of my Dovecot
>>>>>>>>>> installations,
>>>>>>>>>>      > the following message logged quite frequently:
>>>>>>>>>>      >
>>>>>>>>>>      > Aug 31 16:55:53 lightning.reub.net dovecot[7698]:
>>>>>>>>>> auth-worker(7707):
>>>>>>>>>>      > Error: getpwent() failed: Invalid argument
>>>>>>>>>>      > Aug 31 16:55:53 lightning.reub.net dovecot[7698]:
>>>>>>>>>> replicator:
>>>>>>>>>> Error:
>>>>>>>>>>      > User listing returned failure
>>>>>>>>>>      > Aug 31 16:55:53 lightning.reub.net dovecot[7698]:
>>>>>>>>>> replicator:
>>>>>>>>>> Error:
>>>>>>>>>>      > listing users failed, can't replicate existing data
>>>>>>>>>>      >
>>>>>>>>>>      > It appears that this could be having an effect on
>>>>>>>>>> replication,
>>>>>>>>>> but it's
>>>>>>>>>>      > unclear because the secondary/replica doesn't see much
>>>>>>>>>> traffic.
>>>>>>>>>>      >
>>>>>>>>>>      > Authentication is via PAM and the system is Gentoo Linux
>>>>>>>>>> x86_64.
>>>>>>>>>> passb
>>>>>>>>>>      > driver = pam, userdb driver = static .
>>>>>>>>>>      >
>>>>>>>>>>      > doveadm user -u '*' shows the system users listed twice
>>>>>>>>>> like this
>>>>>>>>>> (is
>>>>>>>>>>      > this a problem?) and then prints:
>>>>>>>>>>      >
>>>>>>>>>>      > ----
>>>>>>>>>>      > reuben
>>>>>>>>>>      > liam
>>>>>>>>>>      > reuben
>>>>>>>>>>      > liam
>>>>>>>>>>      > <some other users>
>>>>>>>>>>      > Error: User listing returned failure
>>>>>>>>>>      > Fatal: user listing failed
>>>>>>>>>>      > ----
>>>>>>>>>>      >
>>>>>>>>>>      > To me that doesn't look right.
>>>>>>>>>>      >
>>>>>>>>>>      > Can anyone suggest what could be causing this?  I don't
>>>>>>>>>> recall
>>>>>>>>>> seeing
>>>>>>>>>>      > this message some time ago so I suspect it's a recent
>>>>>>>>>> change in
>>>>>>>>>> either
>>>>>>>>>>      > dovecot, or pam or glibc etc..
>>>>>>>>>>      >
>>>>>>>>>>      > Thanks,
>>>>>>>>>>      > Reuben



More information about the dovecot mailing list