Mario Nigrovic-rvvk40
2006-Jun-01 17:59 UTC
[Dovecot] Help! Uidlist files are gone and won't come back; imap keeps coredumping!
Folks - Some time ago as I migrated to dovecot 1.0, I ran into all sorts of problems with file locks, and I tried various solutions. Apparently, in the process, I got a bit careless and removed all my dovecot-uidlist files. They're gone. My understanding, however, is that they should come back, but this doesn't happen. I've been forced to run with index=MEMORY in 1.0 for the entire time I've been using it, but I would really like to get back to a more standard configuration. Yet, anything I do to try and actually use index files, whether (locally) on /var or (via NFS) in /home, I run into problems. The log files say: dovecot: Jun 01 07:36:36 Info: imap-login: Login: user=<rvvk40>, method=plain, rip=10.69.75.131, lip=172.16.26.151 dovecot: Jun 01 07:36:36 Info: IMAP(rvvk40): Effective uid=10019173, gid=21 dovecot: Jun 01 07:36:36 Info: IMAP(rvvk40): maildir: data=/home/mario/.mail/Maildir dovecot: Jun 01 07:36:36 Info: IMAP(rvvk40): maildir: root=/home/mario/.mail/Maildir, index=/home/mario/.mail/Maildir, control=, inboxdovecot: Jun 01 07:36:36 Error: child 21207 (imap) killed with signal 11 dovecot: Jun 01 07:36:36 Error: child 21208 (imap) killed with signal 11 dovecot: Jun 01 07:36:36 Error: child 21211 (imap) killed with signal 11 dovecot: Jun 01 07:36:36 Error: child 21212 (imap) killed with signal 11 and a truss says: 29146: execve("/home/mario/tools/SunOS/libexec/dovecot/imap", 0x000407D8, 0x00052850) argc = 1 29146: argv: imap ... 29146: write(1, " * 1 2 4 5 F E T C H".., 2091) = 2091 29146: write(1, " * 1 2 9 5 F E T C H".., 2059) = 2059 29146: write(1, " * 1 3 4 6 F E T C H".., 2056) = 2056 29146: poll(0x000AEC90, 3, 9912) = 1 29146: read(0, " 4 U I D f e t c h ".., 4037) = 173 29146: open64("/home/mario/.mail/Maildir/.Freescale.ATIC.CMOS65/dovecot-uidlist", O_RDONLY) Err#2 ENOENT 29146: Incurred fault #6, FLTBOUNDS %pc = 0xFF133218 29146: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000 29146: Received signal #11, SIGSEGV [default] 29146: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000 29146: *** process killed *** Some background info: dovecot is running only for me, so it runs under my UID, from my home directory. % tools/SunOS/sbin/dovecot --version 1.0.beta8 % tools/SunOS/sbin/dovecot --build-options Build options: ioloop=poll openssl Passdb: checkpassword pam passwd passwd-file shadow Userdb: checkpassword passwd passwd-file static % uname -a SunOS velocity 5.8 Generic_117350-06 sun4u sparc What do I have to do to recreate the uidlist files? Mario -- I don't need a name; my number's just fine. | Mario.Nigrovic@freescale.com It's nobody else's -- just mine, all mine. | 480-413-3578 Internal Use Only
Timo Sirainen
2006-Jun-01 20:25 UTC
[Dovecot] Help! Uidlist files are gone and won't come back; imap keeps coredumping!
On Thu, 2006-06-01 at 07:59 -0700, Mario Nigrovic-rvvk40 wrote:> 29146: open64("/home/mario/.mail/Maildir/.Freescale.ATIC.CMOS65/dovecot-uidlist", O_RDONLY) Err#2 ENOENT > 29146: Incurred fault #6, FLTBOUNDS %pc = 0xFF133218 > 29146: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000The missing uidlist isn't directly the problem. Rather it crashes while trying to start maildir syncing (or something). Since this works for most other people, it's difficult to start guessing why it could crash. If you could get gdb backtrace of the crash it would help a lot in fixing it. See http://dovecot.org/bugreport.html how to do it. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 191 bytes Desc: This is a digitally signed message part Url : http://dovecot.org/pipermail/dovecot/attachments/20060601/8f5b8107/attachment.pgp
Mario Nigrovic-rvvk40
2006-Jun-19 18:03 UTC
[Dovecot] Help! Uidlist files are gone and won't come back; imap keeps coredumping!
Timo - The only behavior change that I notice is that when I exit the telnet session the truss also exits. Previously, the truss hung around until I did the "pkill dovecot", after exiting the telnet session. So, that's weird. But, hold on! Now I do seem to have a uidlist file, again! % ls -l total 308 drwx--S--- 2 rvvk40 lowv 98304 Jun 19 07:44 cur/ -rw------- 1 rvvk40 lowv 260 Jun 19 07:47 dovecot-keywords -rw------- 1 rvvk40 lowv 65752 Jun 19 07:47 dovecot-uidlist -rw------- 1 rvvk40 lowv 29560 Jun 11 08:42 dovecot.index drwx--S--- 2 rvvk40 lowv 32768 Jun 19 07:43 new/ -rw------- 1 rvvk40 lowv 1188 May 1 07:01 subscriptions drwx--S--- 2 rvvk40 lowv 61440 Jun 19 07:42 tmp/ Mario Timo Sirainen wrote:> Try if the attached patch changes anything. > > > > ------------------------------------------------------------------------ > > Index: src/lib/file-dotlock.c > ==================================================================> RCS file: /var/lib/cvs/dovecot/src/lib/file-dotlock.c,v > retrieving revision 1.38 > diff -u -r1.38 file-dotlock.c > --- src/lib/file-dotlock.c 8 Jun 2006 16:42:40 -0000 1.38 > +++ src/lib/file-dotlock.c 19 Jun 2006 12:55:51 -0000 > @@ -664,6 +664,12 @@ > } > } > > + if (dotlock->fd != -1) { > + if (close(dotlock->fd) < 0) > + i_error("close(%s) failed: %m", dotlock->path); > + dotlock->fd = -1; > + } > + > if (rename(lock_path, dotlock->path) < 0) { > i_error("rename(%s, %s) failed: %m", lock_path, dotlock->path); > file_dotlock_free(dotlock);-- I don't need a name; my number's just fine. | Mario.Nigrovic@freescale.com It's nobody else's -- just mine, all mine. | 480-413-3578 Internal Use Only