When a client is accessing their webmail using Usermin the following error appears. This does not happen on all logins as far as I have been able to determine.
Usermin 1.460 Webmin 1.530
HTTP/1.0 500 Perl execution failed Server: MiniServ/0.01 Date: Tue, 4 Jan 2011 10:50:18 GMT Content-type: text/html Connection: close
Error - Perl execution failed
sdbm store returned -1, errno 22, key "<1234567891.8411@mydomain.co.uk>" at ./mailbox-lib.pl line 1437, line 123.
Status:
Active
Comments
Submitted by andreychek on Tue, 01/04/2011 - 08:34 Comment #1
Howdy -- this one may require some insight from Jamie, but two things I'd be curious about are --
Is this particular user at or near their quota?
Whenever that error appears, are there any errors in /var/log/maillog around the same time?
No, the user has unlimted quota.
From what I can see the following appears around the time of accessing Usermin:
Jan 4 14:43:45 SERVERNAME dovecot: imap-login: Login: user=<an.email.account>, method=PLAIN, rip=::ffff:127.0.0.1, lip=::ffff:127.0.0.1, secured
then
Jan 4 14:43:45 SERVERNAME last message repeated 20 times
Submitted by JamieCameron on Tue, 01/04/2011 - 15:07 Comment #3
This could be due to Usermin index file corruption..
Does this happen for all users, or just one?
Also, is there a particular action in Usermin that triggers it?
Just one user.
Only action is logging in to Usermin for his user. I have yet to find another user with this issue.
Submitted by JamieCameron on Tue, 01/04/2011 - 17:15 Comment #5
Try deleting all
.usermin/mailbox/*index*
files under the user's home directory...Does this mean all files that contain 'index' in their filename?
Submitted by andreychek on Wed, 01/05/2011 - 09:21 Comment #7
Correct, the files with "index" in the filename. Though, be sure you're only doing that in the Usermin directory, "$HOME/.usermin/mailbox/" (where $HOME is the path for the one user who's having trouble accessing their mailbox).
Usermin would then re-create those index files next time the user logs in.
I've deleted those files, and the error message has disappeared and the correct number of emails are now displayed.
Cheers
Paul
Submitted by andreychek on Wed, 01/05/2011 - 09:57 Comment #9
Great! It does sound like some sort of index file corruption occurred. If that happens again, let us know, but hopefully that was just an odd fluke :-)
Submitted by Issues on Wed, 01/19/2011 - 11:20 Comment #10
Automatically closed -- issue fixed for 2 weeks with no activity.
I've just experienced this again on another user account (different domain)
This time the user had exceeded their quota.
In order to fix this I simply increased their quota and the error disappeared.
Error - Perl execution failed
sdbm store returned -1, errno 122, key "" at /usr/libexec/usermin/mailbox/folders-lib.pl line 3111, line 51.
I looked in their .usermin folder and there are no files containing index
Submitted by JamieCameron on Wed, 02/16/2011 - 12:37 Comment #12
That is sort-of expected .. if the user is over quota, writing to usermin index files will fail.
The main cause of hitting quota limits is incoming email, so the next Virtualmin release will block email when a user gets within 100k of his quota, to avoid this kind of problem and a related issue with Dovecot.
Does this mean that people sending email to an over quota account will get their message bounced back?
Submitted by JamieCameron on Thu, 02/17/2011 - 15:14 Comment #14
Yes .. actually this already happens. The change will bounce mail when the account is within 100k of its quota, so that there is a little space left over for index files used by Dovecot and Usermin.