Fabio Pietrosanti (naif)
2004-Feb-04  13:56 UTC
[Dovecot] dovecot crash on sendfilev64 on solaris 8 (32bit)
Hi,
i'm running dovecot on a SMP sparc 32bit server with solaris 8(latest patch
installed).
Dovecot with ssl.
Postfix+imap+maildrop .
Dovecot work fine with every email and folders delivered by maildrop, but now
i'm trying to move all my local folders (i'm using mutt and i'm
storing my
emails locally on my pc) to the imap server .
The upload of an entire 12000 mails folders worked fine, when i try to access
that folder i can see "fetching headers" and all it's ok but when
i attempt to
read a message dovecot imap process crash.
Dovecot crash even if i attempt to read one single email moved from my local
inbox to remote imap INBOX maildir.
Dovecot work fine on every folder created by maildrop.
I made some debugging with truss and found that he die on sendfilev64 call:
5113:      0 7   O K   S t a t u s   c o m p l e t e d .\r\n
5113:   poll(0x0008B450, 1, 204)                        = 0
5113:   poll(0x0008B450, 1, 0)                          = 0
5113:   poll(0x0008B450, 1, 999)                        = 1
5113:   time()                                          = 1075892017
5113:   read(0, 0x000925AC, 3796)                       = 35
5113:      a 0 0 0 8   U I D   F E T C H   1 2 5 1 3   B O D Y . P E E K [
5113:      ]\r\n
5113:   time()                                          = 1075892017
5113:   time()                                          = 1075892017
5113:   time()                                          = 1075892017
5113:   fcntl(4, F_SETLKW64, 0xDFFFF510)                = 0
5113:
open64("/mailboxes/pietrosanti.it/lists at
pietrosanti.it/.Cyber-Rights/cur/1075891040.P3168Q12514M511660.supertolla.itapac.net:2,S",
O_RDONLY) = 14
5113:   fstat64(14, 0xDFFFF550)                         = 0
5113:   time()                                          = 1075892017
5113:   write(1, 0x00093488, 40)                        = 40
5113:      *   1 2 5 1 3   F E T C H   ( U I D   1 2 5 1 3   B O D Y [ ]
5113:      { 1 9 5 7 }\r\n
5113:   sendfilev64(1, 1, 0xDFFFF3C0, 1, 0xDFFFF3BC)    Err#124 EAFNOSUPPORT
5113:   time()                                          = 1075892017
5113:   time()                                          = 1075892017
5113:   fcntl(4, F_SETLKW64, 0xDFFFF5F8)                = 0
5113:   close(14)                                       = 0
5113:   time()                                          = 1075892017
5113:   close(9)                                        = 0
5113:   munmap(0xDF230000, 1608)                        = 0
5113:   munmap(0xDF220000, 10264)                       = 0
5113:   close(10)                                       = 0
5113:   munmap(0xDF1A0000, 1560)                        = 0
5113:   close(12)                                       = 0
5113:   munmap(0xDF190000, 2576)                        = 0
5113:   close(13)                                       = 0
5113:   munmap(0xDF1B0000, 5)                           = 0
5113:   close(11)                                       = 0
5113:   close(4)                                        = 0
5113:   munmap(0xDF4C0000, 330120)                      = 0
5113:   munmap(0xDF240000, 2563740)                     = 0
5113:   close(5)                                        = 0
5113:   munmap(0xDF1C0000, 330072)                      = 0
5113:   close(7)                                        = 0
5113:   munmap(0xDF520000, 2576)                        = 0
5113:   close(8)                                        = 0
5113:   munmap(0xDF790000, 5)                           = 0
5113:   close(6)                                        = 0
5113:   fstat(3, 0xDFFFFAE0)                            = 0
5113:   close(3)                                        = 0
5113:   alarm(0)                                        = 16
5113:   sigaction(SIGALRM, 0xDFFFFA48, 0x00000000)      = 0
5113:   llseek(0, 0, SEEK_CUR)                          Err#29 ESPIPE
5113:   _exit(0)
I noticed that maildir files created by dovecot have the following file names
format:
1075891040.P3168Q12514M511660.supertolla.itapac.net:2,S
and maildrop one are in this other format:
1075893689.M267966P5215V01540032I001B6706_0.supertolla.itapac.net,S=1381:2,S
I'm working on SPARC 32 bit architecture with the following compile options:
    CC=gcc
     CXX=gcc
     CFLAGS="-O9 -msupersparc -mcpu=supersparc -mtune=supersparc
-fno-omit-frame-pointer -m32"
     CXXFLAGS="-O9 -msupersparc -mcpu=supersparc -mtune=supersparc
-felide-constructors -fno-exceptions -fno-rtti -m32"
     CPPFLAGS="-I/usr/local/ssl/include/
-I/data/chroot/mysql/mysql/include/mysql"
     LDFLAGS="-L/data/chroot/mysql/mysql/lib/mysql
-L/usr/local/ssl/lib"
    
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ssl/lib:/data/chroot/mysql/mysql/lib/mysql
     export CC CXX CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH
     ./configure --prefix=/dovecot --without-passwd --without-passwd-file
--without-shadow --without-pam \
      --without-ldap --without-vpopmail --without-pgsql --without-cyrus-sasl2
--with-ssl=openssl \
      --with-ssldir=/etc/ssl --without-pop3d --with-mysql --with-static-userdb
     vi config.h
     #define PASSDB_MYSQL 1
     #define USERDB_MYSQL 1
     vi src/auth/Makefile
     add -lmysqlclient to LIBS
     LIBS =  -lsocket -lnsl -lrt -lsendfile -lmysqlclient
Regards
-- 
Fabio Pietrosanti ( naif ) -  f.pietrosanti at inet.it
I.NET SpA - ( Operation Group, Network Security )
Sede: Via Darwin, 85 20019 Settimo Milanese (MI), Italy
Tel:  +39 02 32863.1 - Fax: +39 02 32863.7709
PGP Key avaiable on request
--
Free advertising: www.openbsd.org - Multiplatform Ultra-secure OS
