Hello,
after an upgrade from alpha5 to beta3, every operation after login from an MUA returns
ERROR: Could not complete request.
Query: COPY 9 "Trash"
Reason Given: (null)
Both were built with
./configure --prefix=/usr/local \
--disable-ipv6 \
--with-passwd \
--with-passwd-file \
--with-ldap \
--with-ssl=openssl \
--with-ssldir=/etc/dovecot/ssl \
--localstatedir=/var \
--sysconfdir=/etc/dovecot \
--with-mysql \
--without-deliver \
--with-moduledir=/usr/local/lib/dovecot
Just before `make install' on beta3, I removed content of /usr/local/lib/dovecot to ensure a clean install of the modules.
My dovecot.conf contains
base_dir = /var/run/dovecot/ protocols = imaps imap listen = * ssl_disable = no ssl_cert_file = /etc/dovecot/ssl/net.crt ssl_key_file = /etc/dovecot/ssl/net.key ssl_ca_file = /etc/dovecot/ssl/chain.pem ssl_cipher_list = ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM:!SSLv2 disable_plaintext_auth = yes syslog_facility = mail login_user = dovecot login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c verbose_proctitle = yes mail_debug = no default_mail_env = maildir:%h/Maildir namespace private { separator = / prefix = inbox = yes } mail_full_filesystem_access = no mail_log_prefix = "%Us %p %r [%u]: "
protocol imap { mail_use_modules = yes mail_modules = /usr/local/lib/dovecot/imap login_greeting_capability = no }
protocol pop3 { } auth_executable = /usr/local/libexec/dovecot/dovecot-auth auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@ auth_verbose = yes auth_debug = yes
auth default_with_listener { mechanisms = plain user = root passdb ldap { args = /etc/dovecot/dovecot-ldap.conf }
userdb ldap { args = /etc/dovecot/dovecot-ldap.conf } socket listen { master { path = /var/run/dovecot-auth-client/sock mode = 0666 } } }
Can someone please help me?
Thank & regards, -JP
On Mon Feb 13 2006 at 13:07:41 CET, Jan-Piet Mens wrote:
after an upgrade from alpha5 to beta3, every operation after login from an MUA returns
ERROR: Could not complete request. Query: COPY 9 "Trash" Reason Given: (null)
Setting `maildir_copy_with_hardlinks = yes' in dovecot.conf solves the issue...
-JP
On Tue, 2006-02-14 at 12:26 +0100, Jan-Piet Mens wrote:
On Mon Feb 13 2006 at 13:07:41 CET, Jan-Piet Mens wrote:
after an upgrade from alpha5 to beta3, every operation after login from an MUA returns
ERROR: Could not complete request. Query: COPY 9 "Trash" Reason Given: (null)
Setting `maildir_copy_with_hardlinks = yes' in dovecot.conf solves the issue...
Weren't there any errors printed to log file?
On Tue Feb 14 2006 at 15:26:32 CET, Timo Sirainen wrote:
Weren't there any errors printed to log file?
No. Unfortunately, I can't seem to get mail_debug to work either. I'd have though that setting it to 'yes' would print whatever debugging to syslog(). The only thing I got though was a "Sending log messages too fast, throttling.."
What do I have to do to get the debugging you desire?
-JP
On Tue, 2006-02-14 at 15:35 +0100, Jan-Piet Mens wrote:
On Tue Feb 14 2006 at 15:26:32 CET, Timo Sirainen wrote:
Weren't there any errors printed to log file?
No. Unfortunately, I can't seem to get mail_debug to work either. I'd have though that setting it to 'yes' would print whatever debugging to syslog(). The only thing I got though was a "Sending log messages too fast, throttling.."
What do I have to do to get the debugging you desire?
Debugging messages are written using "info" logging level. Perhaps they're written to different log file? Or have you changed info_log_path?
Anyway, mail_debug doesn't really help in figuring out what's wrong in this case. It really should always print the error message to log if it didn't succeed. I'm also not aware of any bugs in non-hardlink-copying..
On Tue Feb 14 2006 at 15:41:41 CET, Timo Sirainen wrote:
I'd have though that setting it to 'yes' would print whatever debugging to syslog(). The only thing I got though was a "Sending log messages too fast, throttling.."
Debugging messages are written using "info" logging level. Perhaps they're written to different log file? Or have you changed info_log_path?
No. It isn't set at all. What is the trottling stuff?
Anyway, mail_debug doesn't really help in figuring out what's wrong in this case. It really should always print the error message to log if it didn't succeed. I'm also not aware of any bugs in non-hardlink-copying..
Is there any disadvantage at leaving with with hardlink-copying ?
On Tue, 2006-02-14 at 15:44 +0100, Jan-Piet Mens wrote:
On Tue Feb 14 2006 at 15:41:41 CET, Timo Sirainen wrote:
I'd have though that setting it to 'yes' would print whatever debugging to syslog(). The only thing I got though was a "Sending log messages too fast, throttling.."
Debugging messages are written using "info" logging level. Perhaps they're written to different log file? Or have you changed info_log_path?
No. It isn't set at all. What is the trottling stuff?
It means that lines are being written to log files too fast, and Dovecot started delaying so that the logs won't get filled. That by itself means that Dovecot is writing the debug lines somewhere. Maybe your syslog configuration just puts them to /dev/null or something. You could try grepping for dovecot in /var/log/*..
Anyway, mail_debug doesn't really help in figuring out what's wrong in this case. It really should always print the error message to log if it didn't succeed. I'm also not aware of any bugs in non-hardlink-copying..
Is there any disadvantage at leaving with with hardlink-copying ?
Currently it doesn't update index files immediately when it's enabled, but the saved disk I/O in hardlinking probably outweights it, so it's probably a good idea to do in any case. :)
Perhaps after it updates index files also (in a couple of weeks BTW) I should even make it enabled by default..
On Tue, 2006-02-14 at 15:44 +0100, Jan-Piet Mens wrote:
Anyway, mail_debug doesn't really help in figuring out what's wrong in this case. It really should always print the error message to log if it didn't succeed. I'm also not aware of any bugs in non-hardlink-copying..
Is there any disadvantage at leaving with with hardlink-copying ?
Forgot to mention in last mail: Even though hardlink-copying fixes this, there still seems to be some bug which doesn't happen to all that many people. The normal-copying code is used also while saving messages in general, so it's possible that the same bug could happen to you while messages are being saved (eg. to Sent Messages).
On Tue Feb 14 2006 at 15:59:03 CET, Timo Sirainen wrote:
Forgot to mention in last mail: Even though hardlink-copying fixes this, there still seems to be some bug which doesn't happen to all that many people. The normal-copying code is used also while saving messages in general, so it's possible that the same bug could happen to you while messages are being saved (eg. to Sent Messages).
You are right: I hadn't tested that. I'm now back to square one. I've reset hardlinking to NO. In order to avoid syslog (BTW, the messages really don't show up there: I have mail.* logging to /var/log/maillog), I've set
info_log_path = /tmp/dov
No further debugging (except the authentication stuff) shows up in there either:
dovecot: Feb 14 16:33:39 Info: imap-login: Login: user=<jpm>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured dovecot: Feb 14 16:33:39 Info: imap 2365 127.0.0.1 [jpm]: Effective uid=8000, gid=8000 dovecot: Feb 14 16:33:39 Info: imap 2365 127.0.0.1 [jpm]: Loading modules from directory: /usr/local/lib/dovecot/imap dovecot: Feb 14 16:33:39 Info: imap 2365 127.0.0.1 [jpm]: Module loaded: /usr/local/lib/dovecot/imap/lib01_convert_plugin.s o dovecot: Feb 14 16:33:39 Info: imap 2365 127.0.0.1 [jpm]: Module loaded: /usr/local/lib/dovecot/imap/lib01_quota_plugin.so dovecot: Feb 14 16:33:39 Info: imap 2365 127.0.0.1 [jpm]: dirsize quota path = /shared/homes/rscweb.net/jpm/Maildir/ dovecot: Feb 14 16:33:39 Info: imap 2365 127.0.0.1 [jpm]: dirsize quota limit = 512000kB dovecot: Feb 14 16:33:39 Info: imap 2365 127.0.0.1 [jpm]: Module loaded: /usr/local/lib/dovecot/imap/lib02_imap_quota_plugi n.so dovecot: Feb 14 16:33:39 Info: imap 2365 127.0.0.1 [jpm]: Module loaded: /usr/local/lib/dovecot/imap/lib01_zlib_plugin.so dovecot: Feb 14 16:33:39 Info: imap 2365 127.0.0.1 [jpm]: Namespace: type=private, prefix=, sep=/, inbox=yes, hidden=no, su bscriptions=no dovecot: Feb 14 16:33:39 Info: imap 2365 127.0.0.1 [jpm]: maildir: data=/shared/homes/rscweb.net/jpm/Maildir dovecot: Feb 14 16:33:39 Info: imap 2365 127.0.0.1 [jpm]: maildir: root=/shared/homes/rscweb.net/jpm/Maildir, index=/shared /homes/rscweb.net/jpm/Maildir, control=, inbox=
That is it!
What else can I change? -JP
On Tue Feb 14 2006 at 16:34:47 CET, Jan-Piet Mens wrote:
You are right: I hadn't tested that. I'm now back to square one. I've reset hardlinking to NO. In order to avoid syslog (BTW, the messages really don't show up there: I have mail.* logging to /var/log/maillog), I've set
info_log_path = /tmp/dov
No further debugging (except the authentication stuff) shows up in there either:
Timo,
if I comment out the modules (mail_use_modules = no) it works.
But I absolutely need the quota module.
Is there anything else I can debug for you?
-JP
On Tue, 2006-02-14 at 17:10 +0100, Jan-Piet Mens wrote:
if I comment out the modules (mail_use_modules = no) it works.
But I absolutely need the quota module.
How exactly do you want the quota to work? Because the quota module might not yet do what you want it to do..
On Tue Feb 14 2006 at 18:02:29 CET, Timo Sirainen wrote:
How exactly do you want the quota to work? Because the quota module might not yet do what you want it to do..
I only need it for display purposes. As you suggested some time ago, I've added "QUOTA" to CAPABILITY_STRING in config.h and the quota is (well was, until I had to disable the modules) correctly displayed in the MUA (Thunderbird & Squirrelmail).
I don't expect quota enforcement at the moment.
I've tried removing the modules (*.so) from /usr/local/lib/dovecot/imap/* one by one, but either the modules are then not correctly loaded due to dependencies, or the error on COPY crops back up.
Can you please give me a hint on how to proceed?
-JP
On Tue, 2006-02-14 at 18:06 +0100, Jan-Piet Mens wrote:
On Tue Feb 14 2006 at 18:02:29 CET, Timo Sirainen wrote:
How exactly do you want the quota to work? Because the quota module might not yet do what you want it to do..
I only need it for display purposes. As you suggested some time ago, I've added "QUOTA" to CAPABILITY_STRING in config.h and the quota is (well was, until I had to disable the modules) correctly displayed in the MUA (Thunderbird & Squirrelmail).
I don't expect quota enforcement at the moment.
I've tried removing the modules (*.so) from /usr/local/lib/dovecot/imap/* one by one, but either the modules are then not correctly loaded due to dependencies, or the error on COPY crops back up.
Can you please give me a hint on how to proceed?
Looks like dirsize quota plugin doesn't work properly with maildir. And in any case it's horribly slow, so it would be a bad idea to use it..
On Tue Feb 14 2006 at 18:30:28 CET, Timo Sirainen wrote:
Looks like dirsize quota plugin doesn't work properly with maildir. And in any case it's horribly slow, so it would be a bad idea to use it..
It has worked well for us in alpha5.
What alternatives do I have?
On Tue, 2006-02-14 at 18:33 +0100, Jan-Piet Mens wrote:
On Tue Feb 14 2006 at 18:30:28 CET, Timo Sirainen wrote:
Looks like dirsize quota plugin doesn't work properly with maildir. And in any case it's horribly slow, so it would be a bad idea to use it..
It has worked well for us in alpha5.
What alternatives do I have?
Filesystem quotas or dictionary quota. Currently the only dictionary implementation is for MySQL.
dict quota hasn't been tested much yet though, and actually now that I think of it, it would need some kind of quota recalculation feature. Otherwise it's kind of difficult to start using it..
On Tue Feb 14 2006 at 21:06:42 CET, Timo Sirainen wrote:
It has worked well for us in alpha5.
What alternatives do I have?
Filesystem quotas or dictionary quota. Currently the only dictionary implementation is for MySQL.
dict quota hasn't been tested much yet though, and actually now that I think of it, it would need some kind of quota recalculation feature. Otherwise it's kind of difficult to start using it..
Can I read somewhere on how dict quota works and how it is set up? I am very keen on getting quota display to work again. How difficult would it be to implement quota by reading the content of a single file (one line with the number of octets the user currently has?) That file in the user's directory could be update in batch periodically. You see, I am desperate ;-)
Timo,
I've turned on rawlogging, and this is the result:
A002 SELECT "gmail" A003 EXPUNGE A004 LIST "" "Trash" A005 UID COPY 2 "Trash"
- OK [RAWLOG TIMESTAMP] 2006-02-15 14:53:24
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft unknown-0 unknown-1)
- OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft unknown-0 unknown-1 \*)] Flags permit ted.
- 1 EXISTS
- 0 RECENT
- OK [UIDVALIDITY 1139932177] UIDs valid
- OK [UIDNEXT 3] Predicted next UID A002 OK [READ-WRITE] Select completed. A003 OK Expunge completed.
- LIST (\HasNoChildren) "/" "Trash" A004 OK List completed. A005 NO (null)
That last one (A005) contains the "(null)" that the MUA sees. Where does that come from?
-JP
participants (2)
-
Jan-Piet Mens
-
Timo Sirainen