v2.3.3 rc1 - Error: sieve: !!BUG!!: Binary compiled from dovecot.sieve is still corrupt

Sami Ketola sami.ketola at dovecot.fi
Thu Sep 27 18:14:48 EEST 2018



> On 27 Sep 2018, at 16.53, James <list at xdrv.co.uk> wrote:
> 
> On 27/09/2018 13:40, Stephan Bosch wrote:
> 
>>> Address   Line  Code
>>> 00000000:       DEBUG BLOCK: 3
>>> 00000001:       EXTENSIONS [1]:
>>> 00000002:         vacation
>>> 00000004:    2: VACATION
>>> 00000007:    4:   seconds: NUM 5
>>> 00000009:         Binary is corrupt.
>>> 
>>> The line numbers differs and 86400 is read as 5.  It is like it has
>>> forgotten the size of an integer or is confused about endianness.
>>> There is something strange, like an #if that guesses wrong.  At least
>>> I have somewhere to start looking.
>>> 
>>> Thank you for checking at your end, I was worried the RC had
>>> introduced an error and your result suggests not.  RCs are for testing
>>> and I am.
>> 
>> The number is stored as a chain of bytes of which the most significant
>> bit indicates whether the next byte still belongs to the number. If this
>> bit is somehow interpreted wrong, the first byte of this number would
>> read as 5, thereby returning '5' as the result and ignoring subsequent
>> bytes (causing corruption at the next item to read).
>> 
>> Since you're using SunOS, your compiler may be doing something funky.
>> Which compiler is used anyway? Perhaps different versions for the
>> Dovecot releases that do and don't work?
> 
> It was studio cc.  gcc doesn't make it through configure and I didn't ask why.  I have some other things to do but will look at this again later.  Thank you for the byte code explanations.  The coding at this point is hard to follow with the pointers-to-functions and #defines.


Can you share a little bit more info on how did the compile (or configure even) fail with gcc on Solaris 11?

as I have no problems in compiling dovecot and pigeonhole on my Solaris 11.3 system with gcc. The version that ships with my Solaris is 4.5.2.

I also have Sun Studio 12.5 installed but I have not even tried to compile dovecot wit that yet.

Sami



More information about the dovecot mailing list