Timo Sirainen wrote:
It can't be the passwd-file format directly. I'm rather guessing that OpenBSD doesn't like your UID to be as high as 20000. Try with a lower one. If it works, it's an OpenBSD bug.
Lower ones behave in the same way :)
I did a bit of a ktrace though. This is what happens:
- imap process creates .temp file (descriptor 0x7 is returned)
- hardlink is created to that .temp file, as dovecot.index.log.newlock
- .temp file is removed
- attempt to open dovecot.index.log is being made (file doesn't exist)
- imap writes some data to 0x7
- dovecot.index.log.newlock is renamed to dovecot.index.log
- 0x7 is flocked
- dovecot.index.log is opened (descriptor 0x8)
- attempt to flock 0x8 is made, blocking imap forever
Below is the relevant fragment of ktrace:
27588 imap NAMI "/home/regular/test/Maildir/dovecot.index.log.newlock" 27588 imap RET lstat -1 errno 2 No such file or directory 27588 imap CALL stat(0x896af328,0xcfbcd710) 27588 imap NAMI "/home/regular/test/Maildir/.temp.rasengan.ppgk.com.pl.27588.7edf2cf58afb1871" 27588 imap RET stat -1 errno 2 No such file or directory 27588 imap CALL open(0x896af328,0xa02,0x1b6) 27588 imap NAMI "/home/regular/test/Maildir/.temp.rasengan.ppgk.com.pl.27588.7edf2cf58afb1871" 27588 imap RET open 7 27588 imap CALL link(0x896af328,0x896af2c0) 27588 imap NAMI "/home/regular/test/Maildir/.temp.rasengan.ppgk.com.pl.27588.7edf2cf58afb1871" 27588 imap NAMI "/home/regular/test/Maildir/dovecot.index.log.newlock" 27588 imap RET link 0 27588 imap CALL unlink(0x896af328) 27588 imap NAMI "/home/regular/test/Maildir/.temp.rasengan.ppgk.com.pl.27588.7edf2cf58afb1871" 27588 imap RET unlink 0 27588 imap CALL fstat(0x7,0xcfbcd810) 27588 imap RET fstat 0 27588 imap CALL umask(0x3f) 27588 imap RET umask 54/0x36 27588 imap CALL open(0x8b975280,0x2,0x2d) 27588 imap NAMI "/home/regular/test/Maildir/dovecot.index.log" 27588 imap RET open -1 errno 2 No such file or directory 27588 imap CALL write(0x7,0xcfbcd8f0,0x18) 27588 imap GIO fd 7 wrote 24 bytes "\^A\0\^X\0\M-PD\M-yE\^A\0\0\0\0\0\0\0\0\0\0\0\M-PD\M-yE" 27588 imap RET write 24/0x18 27588 imap CALL rename(0x8b975340,0x8b975300) 27588 imap NAMI "/home/regular/test/Maildir/dovecot.index.log.newlock" 27588 imap NAMI "/home/regular/test/Maildir/dovecot.index.log" 27588 imap RET rename 0 27588 imap CALL gettimeofday(0xcfbcda88,0) 27588 imap RET gettimeofday 0 27588 imap CALL sigprocmask(0x1,0xffffffff) 27588 imap RET sigprocmask 0 27588 imap CALL mprotect(0x3c0ec000,0x1000,0x3) 27588 imap RET mprotect 0 27588 imap CALL mprotect(0x3c0ec000,0x1000,0x1) 27588 imap RET mprotect 0 27588 imap CALL sigprocmask(0x3,0) 27588 imap RET sigprocmask -65793/0xfffefeff 27588 imap CALL sigprocmask(0x1,0xffffffff) 27588 imap RET sigprocmask 0 27588 imap CALL mprotect(0x29a80000,0x2000,0x3) 27588 imap RET mprotect 0 27588 imap CALL mprotect(0x29a80000,0x2000,0x1) 27588 imap RET mprotect 0 27588 imap CALL sigprocmask(0x3,0) 27588 imap RET sigprocmask -65793/0xfffefeff 27588 imap CALL setitimer(0,0xcfbcd9a0,0xcfbcd990) 27588 imap RET setitimer 0 27588 imap CALL sigprocmask(0x1,0xffffffff) 27588 imap RET sigprocmask 0 27588 imap CALL mprotect(0x3c0ec000,0x1000,0x3) 27588 imap RET mprotect 0 27588 imap CALL mprotect(0x3c0ec000,0x1000,0x1) 27588 imap RET mprotect 0 27588 imap CALL sigprocmask(0x3,0) 27588 imap RET sigprocmask -65793/0xfffefeff 27588 imap CALL flock(0x7,0x2) 27588 imap RET flock 0 27588 imap CALL setitimer(0,0xcfbcd9a0,0xcfbcd990) 27588 imap RET setitimer 0 27588 imap CALL stat(0x896af2c0,0xcfbcd9c0) 27588 imap NAMI "/home/regular/test/Maildir/dovecot.index.log" 27588 imap RET stat 0 27588 imap CALL open(0x896af2c0,0x2,0) 27588 imap NAMI "/home/regular/test/Maildir/dovecot.index.log" 27588 imap RET open 8 27588 imap CALL fstat(0x8,0xcfbcd8c0) 27588 imap RET fstat 0 27588 imap CALL sigprocmask(0x1,0xffffffff) 27588 imap RET sigprocmask 0 27588 imap CALL mprotect(0x3c0ec000,0x1000,0x3) 27588 imap RET mprotect 0 27588 imap CALL mprotect(0x3c0ec000,0x1000,0x1) 27588 imap RET mprotect 0 27588 imap CALL sigprocmask(0x3,0) 27588 imap RET sigprocmask -65793/0xfffefeff 27588 imap CALL pread(0x8,0x82d1f33c,0x18,0,0,0) 27588 imap GIO fd 8 read 24 bytes "\^A\0\^X\0\M-PD\M-yE\^A\0\0\0\0\0\0\0\0\0\0\0\M-PD\M-yE" 27588 imap RET pread 24/0x18 27588 imap CALL setitimer(0,0xcfbcd9a0,0xcfbcd990) 27588 imap RET setitimer 0 27588 imap CALL flock(0x8,0x2)