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