Bug 253854
Summary: | cyrus-imapd leaks filedescriptors at folder rename and delete | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 5 | Reporter: | Radek Vokál <rvokal> | ||||||
Component: | cyrus-imapd | Assignee: | Michal Hlavinka <mhlavink> | ||||||
Status: | CLOSED ERRATA | QA Contact: | Brian Brock <bbrock> | ||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | medium | ||||||||
Version: | 5.0 | CC: | azelinka, mpoole, ovasik, schlichting | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | i386 | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2011-07-21 12:19:10 UTC | Type: | --- | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Bug Depends On: | 232047 | ||||||||
Bug Blocks: | |||||||||
Attachments: |
|
Description
Tomas Janousek
2007-08-22 13:21:16 UTC
This request was evaluated by Red Hat Product Management for inclusion, but this component is not scheduled to be updated in the current Red Hat Enterprise Linux release. This request will be reviewed for a future Red Hat Enterprise Linux release. This request was evaluated by Red Hat Product Management for inclusion, but this component is not scheduled to be updated in the current Red Hat Enterprise Linux release. If you would like this request to be reviewed for the next minor release, ask your support representative to set the next rhel-x.y flag to "?". I've checked new version of the patch and it does not fix this problem This request was evaluated by Red Hat Product Management for inclusion, but this component is not scheduled to be updated in the current Red Hat Enterprise Linux release. If you would like this request to be reviewed for the next minor release, ask your support representative to set the next rhel-x.y flag to "?". Created attachment 373502 [details]
perl reproducer
Attached is a small prog to reproduce this.
Assumes a user 'cytest' with same password and cyrus-imapd setup accordingly.
thanks for the reproducer, I've just looked at it but it's just running and running... I thought it's going to exhaust file descriptors or something but nothing like that happened. Using lsof I've checked the nomber of opened descriptors and it seems stable (oscillating 49 - 59). Created attachment 423847 [details]
Other reproducer
My version of reproducer. Requires user cytest with INBOX and STORAGE quota on INBOX.
# cyradm --user cyrus localhost
IMAP Password:
localhost.localdomain> cm user.cytest
localhost.localdomain> sq user.cytest STORAGE 12345
localhost.localdomain>
# ./fdleak_cyrus.pl
rename(INBOX.a.a,INBOX.a.b): i=117, System I/O error at ./fdleak_cyrus.pl line 32.
2010-06-14T16:00:59.621013+02:00 thstest imap[4679]: IOERROR: creating quota file /var/lib/imap/quota/c/user.cytest.NEW: Too many open files
2010-06-14T16:00:59.621101+02:00 thstest imap[4679]: DBERROR: error storing user.cytest: cyrusdb error
Be aware that after running this script there are directories in the filesystem that are not in the mailbox list and might need to be deleted manually. During this run user.cytest.a.b exists but is not listed:
localhost.localdomain> lm user.cytest*
user.cytest (\HasChildren) user.cytest.a.a (\HasNoChildren)
user.cytest.a (\HasChildren)
# ll -R /var/spool/imap/c/user/cytest/a
/var/spool/imap/c/user/cytest/a:
total 40
drwx------ 2 cyrus mail 4096 Jun 14 16:00 a
drwx------ 2 cyrus mail 4096 Jun 14 16:00 b
-rw------- 1 cyrus mail 4 Jun 14 16:00 cyrus.cache
-rw------- 1 cyrus mail 165 Jun 14 16:00 cyrus.header
-rw------- 1 cyrus mail 96 Jun 14 16:00 cyrus.index
/var/spool/imap/c/user/cytest/a/a:
total 24
-rw------- 2 cyrus mail 4 Jun 14 16:00 cyrus.cache
-rw------- 1 cyrus mail 165 Jun 14 16:00 cyrus.header
-rw------- 2 cyrus mail 96 Jun 14 16:00 cyrus.index
/var/spool/imap/c/user/cytest/a/b:
total 24
-rw------- 2 cyrus mail 4 Jun 14 16:00 cyrus.cache
-rw------- 1 cyrus mail 165 Jun 14 16:00 cyrus.header
-rw------- 2 cyrus mail 96 Jun 14 16:00 cyrus.index
thanks both of you
> Assumes a user 'cytest' with same password and cyrus-imapd setup accordingly.
seems this was not enough, creating the quota manually was needed
I can reproduce this issue fine and I'm discussing this with original author of the patch now.
This request was evaluated by Red Hat Product Management for inclusion in the current release of Red Hat Enterprise Linux. Because the affected component is not scheduled to be updated in the current release, Red Hat is unfortunately unable to address this request at this time. Red Hat invites you to ask your support representative to propose this request, if appropriate and relevant, in the next release of Red Hat Enterprise Linux. This request was evaluated by Red Hat Product Management for inclusion in the current release of Red Hat Enterprise Linux. Because the affected component is not scheduled to be updated in the current release, Red Hat is unfortunately unable to address this request at this time. Red Hat invites you to ask your support representative to propose this request, if appropriate and relevant, in the next release of Red Hat Enterprise Linux. This request was erroneously denied for the current release of Red Hat Enterprise Linux. The error has been fixed and this request has been re-proposed for the current release. An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2011-1075.html |