[Dovecot] fdatasync -- Error -- bad file descriptor

Vijay Rajah vijayrajah at gmail.com
Fri Sep 6 10:08:59 EEST 2013


Hello list,

I have a dovecot 2.2.5 instance configured to use mdbox as mailbox format.
I configured to use separate storage attachments and use SIS.. (doveconf -n
below)

I get this error

Sep  6 12:29:52 vrajah.mydomain.tld dovecot: lmtp(14258, email at mydomain.tld):
Error:
fdatasync(/apps/mail/mailbox/attachments/23/12/2312039008db057a1c75-2efc2d00687d2952b2370000f89409f1)
failed: Bad file descriptor

I'm using centos 6.4 on a KVM with ext4 as fs.

Can someone tell me why i'm getting this error? and how to fix this?

-Thanks in advance
Vijay


##########doveconf -n

# 2.2.5: /apps/mail/dovecot/2.2.5/etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-358.14.1.el6.x86_64 x86_64 CentOS release 6.4 (Final)
ext4
auth_mechanisms = plain login digest-md5 cram-md5
auth_socket_path = /apps/mail/var/dovecot/run/auth-userdb
base_dir = /apps/mail/var/dovecot/run/
debug_log_path = /var/log/dovecot-debug.log
dict {
  sqlquota =
mysql:/apps/mail/dovecot/2.2.5/etc/dovecot/conf.d/sqlquota.dict.ext
}
hostname = mail1 at mydomain.tldmydomain.tld
mail_attachment_dir = /apps/mail/mailbox/attachments
mail_attachment_hash = %{sha256:80}
mail_debug = yes
mail_location = mdbox:/apps/mail/mailbox/%d/%n/mdbox
mail_plugin_dir = /apps/mail/dovecot/2.2.5/lib/dovecot/
mail_plugins = " virtual quota zlib"
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags
copy include variables body enotify environment mailbox date ihave
mbox_write_locks = fcntl dotlock
mdbox_rotate_size = 1 M
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Spam {
    auto = subscribe
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix =
  separator = /
  type = private
}
passdb {
  args = /apps/mail/dovecot/2.2.5/etc/dovecot/conf.d/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  mail_log_events = delete undelete expunge copy mailbox_delete
mailbox_rename
  mail_log_fields = uid box msgid size
  quota = dict:User quota::proxy::sqlquota
  quota_grace = 10%%
  quota_rule = *:storage=1GB
  quota_rule2 = Trash:storage=+10%%
  quota_rule3 = Spam:storage=+20%%
  quota_status_nouser = DUNNO
  quota_status_overquota = 450 4.2.2 Mailbox is full. Try again later
  quota_status_success = DUNNO
  quota_warning = storage=95%% quota-warning 95 %u
  quota_warning2 = storage=80%% quota-warning 80 %u
  quota_warning3 = -storage=100%% quota-warning below %u
  sieve = ~/.dovecot.sieve
  sieve_before = /apps/mail/var/dovecot/sieve/
  sieve_dir = ~/sieve
  sieve_global_dir = /apps/mail/var/dovecot/sieve
  zlib_save = bz2
  zlib_save_level = 9
}
protocols = imap lmtp sieve
service auth {
  unix_listener /apps/mail/var/postfix/dovecot-auth {
    group = postfix
    mode = 0660
    user = postfix
  }
}
service dict {
  unix_listener dict {
    group = vmail
    mode = 0600
    user = vmail
  }
}
service imap-login {
  inet_listener imap {
    port = 143
  }
}
service lmtp {
  unix_listener /apps/mail/var/postfix/dovecot-lmtp {
    group = postfix
    mode = 0660
    user = postfix
  }
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  service_count = 10
  vsz_limit = 64 M
}
service managesieve {
  process_limit = 1024
}
service quota-status {
  client_limit = 1
  executable = quota-status -p postfix
  inet_listener {
    port = 12340
  }
}
service quota-warning {
  executable = script
/apps/mail/dovecot/2.2.5/etc/dovecot/conf.d/quota-warning.sh
  unix_listener quota-warning {
    group = vmail
    mode = 0660
    user = vmail
  }
  user = vmail
}
shutdown_clients = no
ssl_ca = </apps/mail/dovecot/2.2.5/etc/dovecot/ssl/mayca.crt.pem
ssl_cert = </apps/mail/dovecot/2.2.5/etc/dovecot/ssl/mail1.mydomain.tld.pem
ssl_key = </apps/mail/dovecot/2.2.5/etc/dovecot/ssl/mail1.mydomain.tld.key
ssl_parameters_regenerate = 30 hours
submission_host = 127.0.0.1:587
userdb {
  driver = prefetch
}
userdb {
  args = /apps/mail/dovecot/2.2.5/etc/dovecot/conf.d/dovecot-sql.conf.ext
  driver = sql
}
protocol lda {
  mail_plugins = " virtual quota zlib sieve zlib"
}
protocol imap {
  mail_plugins = " virtual quota zlib imap_quota imap_zlib"
}
protocol lmtp {
  debug_log_path = /var/log/dovecot-lmtp-debg.log
  mail_plugins = " virtual quota zlib sieve zlib"
}


More information about the dovecot mailing list