[Dovecot] Managesieve fails to retrieve scripts > 8kB on Dovecot 1.1.16

Stephan Bosch stephan at rename-it.nl
Sun Jun 21 13:31:13 EEST 2009


Hi John,

John Marshall wrote:
> Thank you Stephan for looking at this.  I have just uninstalled 
> Dovecot 1.1.15 and re-built and installed Dovecot 1.1.16 and the 
> problem is back.
> 
>> 1) What is your exact config (i.e. dovecot -n)
> 
> # 1.1.16: /usr/local/etc/dovecot.conf # OS: FreeBSD 7.2-RELEASE i386
> 
Nothing strange here. Pretty much the same as what I use for testing.

>> 2) Do the logs say anything? Segfault perhaps (signal 11) ?
> 
> The logs show successful managesieve-login and then nothing.
Considering the fact that you have mail_debug turned on for ManageSieve,
you should have seen something like the following:

Jun 21 12:07:35 host dovecot: managesieve-login: Login: user=<test>,
method=PLAIN, rip=<ip>, lip=<ip>, TLS
Jun 21 12:07:35 host dovecot: MANAGESIEVE(test): Effective uid=2002,
gid=2002, home=/home/test
Jun 21 12:07:35 host dovecot: MANAGESIEVE(test): sieve-storage: using
active sieve script path: ~/.dovecot.sieve
Jun 21 12:07:35 host dovecot: MANAGESIEVE(test): sieve-storage: using
active sieve script path: ~/.dovecot.sieve
Jun 21 12:07:35 host dovecot: MANAGESIEVE(test): sieve-storage: using
sieve script storage directory: ~/sieve
Jun 21 12:07:35 host dovecot: MANAGESIEVE(test): sieve-storage: relative
path to sieve storage in active link: sieve/

This suggests that the managesieve daemon fails to start or that somehow
debug is not turned on after all.

>> 3) Could you provide (an anonymized version of) the script you are
>>  trying to upload? (Make sure the version you send me is
>> problematic as well)
> 
> The problem is not uploading.  The problem is downloading.  If I copy
>  my sieve script to my client (by other means) I can upload it fine.
>  The problem is that the client cannot retrieve it from the server
> for editing if it is bigger than 8kB.  Here is a sample "problem" 
> script:
> 
> # This is a sieve script file full of comments <--- snip (above line
>  repeated 200 times) ---> keep;
> 
> If I lose 26 of those 200 comment lines then I can download as well 
> as upload the script.
Somehow, this works here without incident.

>> If it truly does hang at some point, you could use the strace tool
>>  to get an idea what it the managesieve daemon doing at that time.
>>  If you are not using TLS, you can use the ngrep tool to capture
>> the TCP traffic between client and server. That may also prove
>> useful.
>> 
> 
> It doesn't "hang".  The script edit window pops up empty and 30 
> seconds later I see pop-up dialogue box: window title is "Alert"; 
> Text is "A Timeout occured".  I click OK to acknowledge the timeout 
> and then I can enter/upload a large or small script or 
> import/edit/upload a large or small script.
> 
> I don't have ngrep but if you can suggest a useful incantation for 
> tcpdump I can provide that for you.
You could obtain ngrep from FreeBSD Ports. I've never managed to do the
same with tcpdump.

To take your client out of the equation, you could also manually login
to managesieve using telnet or netcat. Just follow the instructions of
the Troubleshooting section of http://wiki.dovecot.org/ManageSieve and
apply the GETSCRIPT command on your large script. This way, you can
directly  see what the server is doing and you can make a transcript
without sniffing the traffic.

Regards,

-- 
Stephan Bosch
stephan at rename-it.nl


More information about the dovecot mailing list