[Dovecot] More msync issues...

doug at dovecot.con.com doug at dovecot.con.com
Wed Dec 8 22:42:22 EET 2004


The ktrace output has "msync(0x130960000,0x1aff4,0)."  Ktrace doesn't have 
access to the information from the original source, so it's not able to 
resolve the first argument to the void pointer.  What ktrace shows looks 
right for the first argument, though -- a full 32-bit address.

The second looks like it's within a valid range as well, as is the third.

The problem I'm seeing is that the second argument is not a multiple of 
the machine's pagesize.  The man page says that such an issue will result 
in the error as seen.

Doug







On Wed, 8 Dec 2004, Andrew Hutchings wrote:

> Sorry Doug, just tried to investigate a bit (I am not the best
> programmer in the world).  Msync should be called as follows:
>
> int msync(void *addr, size_t len, int flags);
>
> It looks to me in your case the parameter 2 is supposed to parameter 1
> and I don't know what the heck got shoved in parameter 1.  Maybe
> parameter 1 was supposed to be parameter 2 without the 0x??
>
> Regards
> Andrew
>
> On Wed, 2004-12-08 at 13:31 -0500, Doug Luce wrote:
>> Andrew,
>>
>> Thanks for taking a shot at diagnosing this.  That space is actually an
>> artifact of me pasting log entries into the email.  It doesn't exist in
>> the config file or anywhere else.
>>
>> Dioug
>>
>>
>>
>> On Wed, 8 Dec 2004, Andrew Hutchings wrote:
>>
>>> Date: Wed, 08 Dec 2004 14:05:30 +0000
>>> From: Andrew Hutchings <mail at a-wing.co.uk>
>>> To: Doug Luce <doug at dovecot.con.com>
>>> Cc: dovecot at dovecot.org
>>> Subject: Re: [Dovecot] More msync issues...
>>>
>>> Hi Doug,
>>>
>>> I think this might be because there is a space between /home
>>> and /doug/Maildir/dovecot.index
>>> It would then see the /doug/Maildir/dovecot.index as a second argument.
>>>
>>> Regards
>>> Andrew
>>>
>>> On Wed, 2004-12-08 at 05:12 -0500, Doug Luce wrote:
>>>>> From /var/log/maillog:
>>>>
>>>> Dec 8 01:51:46 aurora dovecot: IMAP(doug): msync() failed with index file /home /doug/Maildir/dovecot.index: Invalid argument
>>>>
>>>>> From the ktrace that was running on that process:
>>>>
>>>>   22124 imap     NAMI  "/home/doug/Maildir/dovecot.index"
>>>>   22124 imap     RET   stat 0
>>>>   22124 imap     CALL  fcntl(0x4,0x8,0x11ffe7b8)
>>>>   22124 imap     RET   fcntl 0
>>>>   22124 imap     CALL  msync(0x130960000,0x1aff4,0)
>>>>   22124 imap     RET   msync -1 errno 22 Invalid argument
>>>>
>>>>> From man msync:
>>>>
>>>> ERRORS
>>>>       The msync() system call will fail if:
>>>>
>>>>       ...
>>>>
>>>>       [EINVAL]           The addr argument is not a multiple of the hardware
>>>>                          page size.
>>>>
>>>>> From the command line:
>>>>
>>>>   % pagesize
>>>>   8192
>>>>
>>>> Calculating:
>>>>
>>>>   0x1AFF4 = 110580 = 13*8192+4084
>>>>
>>>> Not sure if this is relevant...
>>>>
>>>> Doug
>>>>
>>>>
>>>>
>>> --
>>> Andrew Hutchings
>>> Systems Operator / Developer / Linux Guru
>>> Netserve Consultants Ltd.
>>> http://www.domaincity.co.uk/
>>>
>>>
>>
>>
> -- 
> Andrew Hutchings
> Systems Operator / Developer / Linux Guru
> Netserve Consultants Ltd.
> http://www.domaincity.co.uk/
>
>



More information about the dovecot mailing list