[Dovecot] Fwd: dovecot bug report (64 bit file offsets)

Marcus Rueckert darix at opensu.se
Tue Nov 27 12:13:28 EET 2007


On 2007-11-27 11:21:16 +0200, markevich at inbox.lv wrote:
> I have found similar problem: 
> http://www.dovecot.org/list/dovecot/2007-January/018623.html 
> "After configure remove HAVE_PREAD from config.h, recompile and see
> if it works." 
> 
> I think I figured out where might be the problem. If the binary is
> compiled in the 64bit environment and you want to use 64 bit file
> offset you must use 64 bit equivalents of the function. Of course if
> you are using open/pread (which are 32 bit compatible only) the whole
> program functionality will be broken. You must use open64/pread64 etc.
> Else macros _LARGE_FILE_API should be defined in order to use large
> files in other case nothing will work (random parsing errors and dead
> indexes will appear ). As I can see there is a big issue in the
> dovecot. 
> 
> http://publib.boulder.ibm.com/iseries/v5r2/ic2924/index.htm?info/apis/pread64.htm
> 
> 
> Regards, Andris 
> ---------- Forwarded message ---------- 
> No: markevich at inbox.lv 
> Kam: tss at iki.fi 
> Reply-To: markevich at inbox.lv 
> Date: Tue, 27 Nov 2007 10:45:23 +0200 
> Temats: dovecot bug report (64 bit file offsets) 
> Hello. I found 2 issues while using dovecot in the 64-bit system.
> Before that I was using it on the Solaris 10 32bit and everything
> worked fine. 
> 
> First issue is that it's impossible to specify Openssl library
> directory, there is only possiblity to specify type gnutls/openssl.
> But if there are 2 versions of openssl installed it's hard to specify
> which one we want to use, we need to play with AUXLIBS and LD flags to
> prevent looking in un-needed locations. I'm suggesting to add new
> ./configure key like --with-ssl-dir like all other programs do (why
> dovecot hasn't it?). For example in FC8 openssl 0.9.8b is available
> in the packages but latest is 0.9.8.g, and it's impossible to compile
> dovecot with 0.9.8b because of the missing function in it which
> present in 0.9.8.g. 
> 
> Second and most serious bug is that it seems that dovecot is unable
> to use 64 file offsets correctly. First problem was that I as unable
> to launch dovecot at all - it gave a lot of configuration file
> (dovecot.conf) parsing errors (which is working perfectly on the 32
> bit Solaris). It was very strange because he complained that he is
> expecting to see '=' in the line where only comments are located.
> Deleting some lines at the start of the configuration file produced
> the error on random lines (I can't describe it in other way) but with
> the comments too. For example, first error complained that line 42 is
> incorrect (only comments are there), after deletion of 2 empty lines
> at the beginning dovecot complained that line 172 has errors but any
> way there are only comments there too. I've deleted all of the
> comments from the configuration file but still dovecot randomly is
> giving such errors. Any way dovecot is UNABLE to parse all my file, I
> can see it from dovecot -n. He is starting normally (time to time) but
> only half of the configuration file is read. Similar problems goes
> with the indexes dovecot.index.log - dovecot is able to create the
> files but is unable to read them after any access to it dovecot
> generates errors like unexpected eof found and file is corrupted.
> From all this I can assume that 64bit file offsets on a 64 bit system
> aren't working at all. 
> 
> Latest dovecot 1.0.7 (also tried 1.0.5) 
> Fedora core 8 64bit (with latest patches and updates) 
> Intel core duo 6300 (x86_64) 
> XFS (only local filesystem) 

which is funny actually as on opensuse (10.1 -> 10.3 -> factory) has no
problem with dovecot running on x86_64.

    darix

-- 
           openSUSE - SUSE Linux is my linux
               openSUSE is good for you
                   www.opensuse.org


More information about the dovecot mailing list