Description of problem: If a user or an administrator renames or deletes a mailbox folder with a quota limit the imapd process keeps an filedescriptor open for each folder and all contained subfolders. So if you rename user/account/a/a/a into user/account/b/a/a 3 filedescriptors are lost. Users with big folder hierarchy run out of filedescriptor when renaming top level folders. If an administrator moves users between different partitions (renm user/account user/account newpartition), things get more worse because more descriptors seems to leak out and the command aborts quite soon leaving mailboxes spread between partitions behind. Version-Release number of selected component (if applicable): cyrus-imapd-2.2.12-3.RHEL4.1 How reproducible: Make sure that a user "rztths" exists and has a quota on his inbox. Then do: cyradm localhost --user cyrus IMAP Password: localhost.localdomain> lq user/rztths STORAGE 392087/512000 (76.5794921875%) localhost.localdomain> cm user/rztths/a localhost.localdomain> cm user/rztths/a/a localhost.localdomain> cm user/rztths/a/a/a localhost.localdomain> lsof|grep localhost|grep ESTABLISHED mycyradm 14245 root 3u IPv4 372137852 TCP localhost.localdomain:47203->localhost.localdomain:imap (ESTABLISHED) imapd.old 14247 cyrus 0u IPv4 372137855 TCP localhost.localdomain:imap->localhost.localdomain:47203 (ESTABLISHED) imapd.old 14247 cyrus 1u IPv4 372137855 TCP localhost.localdomain:imap->localhost.localdomain:47203 (ESTABLISHED) imapd.old 14247 cyrus 2u IPv4 372137855 TCP localhost.localdomain:imap->localhost.localdomain:47203 (ESTABLISHED) sh 15437 root 3u IPv4 372137852 TCP localhost.localdomain:47203->localhost.localdomain:imap (ESTABLISHED) grep 15439 root 3u IPv4 372137852 TCP localhost.localdomain:47203->localhost.localdomain:imap (ESTABLISHED) grep 15440 root 3u IPv4 372137852 TCP localhost.localdomain:47203->localhost.localdomain:imap (ESTABLISHED) localhost.localdomain> lsof -p 14247 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME imapd.old 14247 cyrus cwd DIR 253,0 4096 2 / imapd.old 14247 cyrus rtd DIR 253,0 4096 2 / imapd.old 14247 cyrus txt REG 253,0 976740 252127 /usr/lib/cyrus-imapd/imapd.old <some lines deleted> imapd.old 14247 cyrus mem REG 253,4 1081344 10539035 /s80/data/cyrus/config/db/__db.003 imapd.old 14247 cyrus mem REG 253,4 1318912 10539014 /s80/data/cyrus/config/db/__db.002 imapd.old 14247 cyrus mem REG 253,4 16384 10539013 /s80/data/cyrus/config/db/__db.001 imapd.old 14247 cyrus 0u IPv4 372137855 TCP localhost.localdomain:imap->localhost.localdomain:47203 (ESTABLISHED) imapd.old 14247 cyrus 1u IPv4 372137855 TCP localhost.localdomain:imap->localhost.localdomain:47203 (ESTABLISHED) imapd.old 14247 cyrus 2u IPv4 372137855 TCP localhost.localdomain:imap->localhost.localdomain:47203 (ESTABLISHED) imapd.old 14247 cyrus 3w FIFO 0,7 18403 pipe imapd.old 14247 cyrus 4u IPv4 18402 TCP localhost.localdomain:imap (LISTEN) imapd.old 14247 cyrus 5u unix 0xec82bd00 372137853 socket imapd.old 14247 cyrus 6u REG 253,4 4180400 10539067 /s80/data/cyrus/config/mailboxes.db imapd.old 14247 cyrus 7u unix 0xe477d900 372137854 socket imapd.old 14247 cyrus 8u REG 253,4 144 10539056 /s80/data/cyrus/config/annotations.db imapd.old 14247 cyrus 9u REG 253,4 0 12234753 /s80/data/cyrus/config/socket/imap-0.lock imapd.old 14247 cyrus 10u REG 253,4 34 10541035 /s80/data/cyrus/config/proc/14247 localhost.localdomain> renm user/rztths/a user/rztths/b localhost.localdomain> exit [root@mail2 src]# lsof -p 14247 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME imapd.old 14247 cyrus cwd DIR 253,0 4096 2 / imapd.old 14247 cyrus rtd DIR 253,0 4096 2 / imapd.old 14247 cyrus txt REG 253,0 976740 252127 /usr/lib/cyrus-imapd/imapd.old <some lines deleted> imapd.old 14247 cyrus mem REG 253,4 1081344 10539035 /s80/data/cyrus/config/db/__db.003 imapd.old 14247 cyrus mem REG 253,4 1318912 10539014 /localhost.localdomain> lq user/rztths STORAGE 392087/512000 (76.5794921875%) localhost.localdomain> cm user/rztths/a localhost.localdomain> cm user/rztths/a/a localhost.localdomain> cm user/rztths/a/a/a localhost.localdomain> lsof|grep localhost|grep ESTABLISHED mycyradm 14245 root 3u IPv4 372137852 TCP localhost.localdomain:47203->localhost.localdomain:imap (ESTABLISHED) imapd.old 14247 cyrus 0u IPv4 372137855 TCP localhost.localdomain:imap->localhost.localdomain:47203 (ESTABLISHED) imapd.old 14247 cyrus 1u IPv4 372137855 TCP localhost.localdomain:imap->localhost.localdomain:47203 (ESTABLISHED) imapd.old 14247 cyrus 2u IPv4 372137855 TCP localhost.localdomain:imap->localhost.localdomain:47203 (ESTABLISHED) sh 15437 root 3u IPv4 372137852 TCP localhost.localdomain:47203->localhost.localdomain:imap (ESTABLISHED) grep 15439 root 3u IPv4 372137852 TCP localhost.localdomain:47203->localhost.localdomain:imap (ESTABLISHED) grep 15440 root 3u IPv4 372137852 TCP localhost.localdomain:47203->localhost.localdomain:imap (ESTABLISHED) localhost.localdomain> lsof -p 14247 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME imapd.old 14247 cyrus cwd DIR 253,0 4096 2 / imapd.old 14247 cyrus rtd DIR 253,0 4096 2 / imapd.old 14247 cyrus txt REG 253,0 976740 252127 /usr/lib/cyrus-imapd/imapd.old <some "mem" lines deleted> imapd.old 14247 cyrus mem REG 253,4 1081344 10539035 /s80/data/cyrus/config/db/__db.003 imapd.old 14247 cyrus mem REG 253,4 1318912 10539014 /s80/data/cyrus/config/db/__db.002 imapd.old 14247 cyrus mem REG 253,4 16384 10539013 /s80/data/cyrus/config/db/__db.001 imapd.old 14247 cyrus 0u IPv4 372137855 TCP localhost.localdomain:imap->localhost.localdomain:47203 (ESTABLISHED) imapd.old 14247 cyrus 1u IPv4 372137855 TCP localhost.localdomain:imap->localhost.localdomain:47203 (ESTABLISHED) imapd.old 14247 cyrus 2u IPv4 372137855 TCP localhost.localdomain:imap->localhost.localdomain:47203 (ESTABLISHED) imapd.old 14247 cyrus 3w FIFO 0,7 18403 pipe imapd.old 14247 cyrus 4u IPv4 18402 TCP localhost.localdomain:imap (LISTEN) imapd.old 14247 cyrus 5u unix 0xec82bd00 372137853 socket imapd.old 14247 cyrus 6u REG 253,4 4180400 10539067 /s80/data/cyrus/config/mailboxes.db imapd.old 14247 cyrus 7u unix 0xe477d900 372137854 socket imapd.old 14247 cyrus 8u REG 253,4 144 10539056 /s80/data/cyrus/config/annotations.db imapd.old 14247 cyrus 9u REG 253,4 0 12234753 /s80/data/cyrus/config/socket/imap-0.lock imapd.old 14247 cyrus 10u REG 253,4 34 10541035 /s80/data/cyrus/config/proc/14247 localhost.localdomain> renm user/rztths/a user/rztths/b localhost.localdomain> exit [root@mail2 src]# lsof -p 14247 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME imapd.old 14247 cyrus cwd DIR 253,0 4096 2 / imapd.old 14247 cyrus rtd DIR 253,0 4096 2 / imapd.old 14247 cyrus txt REG 253,0 976740 252127 /usr/lib/cyrus-imapd/imapd.old <some "mem" lines deleted> imapd.old 14247 cyrus mem REG 253,4 1081344 10539035 /s80/data/cyrus/config/db/__db.003 imapd.old 14247 cyrus mem REG 253,4 1318912 10539014 /s80/data/cyrus/config/db/__db.002 imapd.old 14247 cyrus mem REG 253,4 16384 10539013 /s80/data/cyrus/config/db/__db.001 imapd.old 14247 cyrus 0u CHR 1,3 2651 /dev/null imapd.old 14247 cyrus 1u CHR 1,3 2651 /dev/null imapd.old 14247 cyrus 2u CHR 1,3 2651 /dev/null imapd.old 14247 cyrus 3w FIFO 0,7 18403 pipe imapd.old 14247 cyrus 4u IPv4 18402 TCP localhost.localdomain:imap (LISTEN) imapd.old 14247 cyrus 5u unix 0xec82bd00 372137853 socket imapd.old 14247 cyrus 6u REG 253,4 4180880 10539067 /s80/data/cyrus/config/mailboxes.db imapd.old 14247 cyrus 7u unix 0xe477d900 372137854 socket imapd.old 14247 cyrus 8u REG 253,4 144 10539056 /s80/data/cyrus/config/annotations.db imapd.old 14247 cyrus 9uW REG 253,4 0 12234753 /s80/data/cyrus/config/socket/imap-0.lock imapd.old 14247 cyrus 14u REG 253,4 17 10539839 /s80/data/cyrus/config/quota/r/user.rztths imapd.old 14247 cyrus 15u REG 253,4 17 12256609 /s80/data/cyrus/config/quota/r/user.rztths imapd.old 14247 cyrus 16u REG 253,4 17 12257598 /s80/data/cyrus/config/quota/r/user.rztths Please look at filedescriptors 14-16, the imapd is not connected to any user but still has open quota-Files, all with different inode numbers. Actual results: Filedescriptor 14-16 open Expected results: Not open Additional info: The bug seems to be introduced by Patch3 in the .spec-File, http://email.uoa.gr/download/cyrus/cyrus-imapd-2.2.7/cyrus-imapd-2.2.7-rmquota+deletemailbox-0.1.diff I've build my own version without this Patch and everything works fine. Looking at http://email.uoa.gr/projects/cyrus/quota-patches/deletemailbox/ shows a newer patch for cyrus 2.2.12 but I did not try it out because I do not need this functionallity.
I can see the same problem on RHEL 5 with cyrus-imapd-2.3.7-1.1.el5 As before, removing Patch3 solves the problem.
I've checked new version of the patch and it does not fix this problem
I'm sorry for not addressing the issue in RHEL-4. As cyrus-imapd is not scheduled for update in RHEL-4.9, I'm closing that bugzilla WONTFIX. If you are still experiencing the issue with RHEL-5, feel free to reopen it against RHEL-5.