I think you've hit the bug I mailed in on 19th April (Subject: deliver -E
(Solaris, 1.6.24 without DB). In part it read...
---
On Solaris platforms which don't have DB available, deliver -E fails to
prune anything, ever. The problem starts in deliver.c, in the
_prune_actual_db routine. In it, there's a call to...
checkdelivered("", 0, "", 0);
(only called when DB not available)
Within checkdelivered, a call is then made to _get_db_name which will
then end up with it (_get_db_name) always returning .../deliverdb/deliver-q
to checkdelivered (which in itself is disastrous if you actually have real
entries in the "q" database).
---
Note the bit "which in itself is disastrous if you actually have real
entries in the "q" database".
I'm afraid that I can't offer you any solution.
Cheers...
On Fri, 27 Apr 2001 11:22:10 +0200 [EMAIL PROTECTED] wrote:
> Hello,
>
>
> I'm running Cyrus IMAP4 v1.6.24 for
> several months under solaris
> and since yesterday
> deliver -E 2 doesn't work any more
>
> /usr/local/imap/imapd/bin/deliver -E 2
> Bus Error - core dumped
>
>
>
> I've tried to analyse why and made
> a truss of /usr/local/imap/imapd/bin/deliver -E 2
>
> I've got this:
>
>
>
> stat("/export/bases/imap/imapd/bin/deliver", 0xFFBEFB00) = 0
> [stuff deleted]
> open("/var/imap/mailboxes", O_RDWR) = 3
> fstat(3, 0xFFBEFB48) = 0
> mmap(0x00000000, 14789, PROT_READ, MAP_SHARED, 3, 0) = 0xFF250000
> umask(077) = 077
> brk(0x001538E8) = 0
> brk(0x001578E8) = 0
> getuid() = 6131 [6131]
> time() = 988358704
> fstat(-1, 0xFFBEDFF8) Err#9 EBADF
> open("/dev/conslog", O_WRONLY) = 4
> fcntl(4, F_SETFD, 0x00000001) = 0
> fstat(4, 0xFFBEDFF8) = 0
> fstat(4, 0xFFBEEA58) = 0
> time() = 988358704
> open("/usr/share/lib/zoneinfo/MET", O_RDONLY) = 5
> read(5, "\0\0\0\0\0\0\0\0\0\0\0\0".., 8192) = 758
> close(5) = 0
> getpid() = 20945 [20944]
> putmsg(4, 0xFFBEE110, 0xFFBEE104, 0) = 0
> open("/etc/.syslog_door", O_RDONLY) = 5
> door_info(5, 0xFFBEE048) = 0
> getpid() = 20945 [20944]
> door_call(5, 0xFFBEE030) = 0
> close(5) = 0
> open("/var/imap/deliverdb/deliver-a.lock", O_RDWR|O_CREAT, 0666) = 5
> fcntl(5, F_SETLKW, 0xFFBEDC08) = 0
> open("/var/imap/deliverdb/deliver-q.lock", O_RDWR|O_CREAT, 0666) = 6
> fcntl(6, F_SETLKW, 0xFFBECAF0) = 0
> brk(0x001578E8) = 0
> brk(0x001598E8) = 0
> open64("/var/imap/deliverdb/deliver-q.db.pag", O_RDWR|O_CREAT, 0666) = 7
> open64("/var/imap/deliverdb/deliver-q.db.dir", O_RDWR|O_CREAT, 0666) = 8
> fstat64(8, 0xFFBEDB00) = 0
> llseek(7, 0, SEEK_SET) = 0
> read(7, "\01203D203CE03A0039C03 n".., 1024) = 1024
> close(6) = 0
> Incurred fault #5, FLTACCESS %pc = 0x00025634
> siginfo: SIGBUS BUS_ADRALN addr=0x00156E49
> Received signal #10, SIGBUS [default]
> siginfo: SIGBUS BUS_ADRALN addr=0x00156E49
> *** process killed ***
>
>
>
>
> It seems to stop when processing /var/imap/deliverdb/deliver-q.db.*
> It's maybe a coincidence but I've got only one user whose mailbox
> begins with "q" and I've created it yesterday....
>
> Why does it processes deliver-q just after processing deliver-a ?
> I'd have expected first a, then b, the c ..
>
>
>
> If I remove /var/imap/deliverdb/deliver-q.db.*
>
> rm /var/imap/deliverdb/deliver-q.db.*
>
> deliver seems to work again but if I truss it, I notice
> that it opens /var/imap/deliverdb/deliver-q.lock very often !!!!
>
>
>
> open("/var/imap/deliverdb/deliver-a.lock", O_RDWR|O_CREAT, 0666) = 5
> fcntl(5, F_SETLKW, 0xFFBEDC08) = 0
> open("/var/imap/deliverdb/deliver-q.lock", O_RDWR|O_CREAT, 0666) = 6
> fcntl(6, F_SETLKW, 0xFFBECAF0) = 0
> brk(0x001578E8) = 0
> brk(0x001598E8) = 0
> open64("/var/imap/deliverdb/deliver-q.db.pag", O_RDWR|O_CREAT, 0666) = 7
> open64("/var/imap/deliverdb/deliver-q.db.dir", O_RDWR|O_CREAT, 0666) = 8
> fstat64(8, 0xFFBEDB00) = 0
> llseek(7, 0, SEEK_SET) = 0
> read(7, 0x00156B80, 1024) = 0
> close(6) = 0
> close(8) = 0
> close(7) = 0
> close(5) = 0
> open("/var/imap/deliverdb/deliver-b.lock", O_RDWR|O_CREAT, 0666) = 5
> fcntl(5, F_SETLKW, 0xFFBEDC08) = 0
> open("/var/imap/deliverdb/deliver-q.lock", O_RDWR|O_CREAT, 0666) = 6
> fcntl(6, F_SETLKW, 0xFFBECAF0) = 0
> close(6) = 0
> close(8) Err#9 EBADF
> close(7) Err#9 EBADF
> close(5) = 0
> open("/var/imap/deliverdb/deliver-c.lock", O_RDWR|O_CREAT, 0666) = 5
> fcntl(5, F_SETLKW, 0xFFBEDC08) = 0
> open("/var/imap/deliverdb/deliver-q.lock", O_RDWR|O_CREAT, 0666) = 6
> fcntl(6, F_SETLKW, 0xFFBECAF0) = 0
> close(6) = 0
> close(8) Err#9 EBADF
> close(7) Err#9 EBADF
> close(5) = 0
> open("/var/imap/deliverdb/deliver-d.lock", O_RDWR|O_CREAT, 0666) = 5
> fcntl(5, F_SETLKW, 0xFFBEDC08) = 0
> open("/var/imap/deliverdb/deliver-q.lock", O_RDWR|O_CREAT, 0666) = 6
> fcntl(6, F_SETLKW, 0xFFBECAF0) = 0
> close(6) = 0
> close(8) Err#9 EBADF
> close(7) Err#9 EBADF
> close(5) = 0
> open("/var/imap/deliverdb/deliver-e.lock", O_RDWR|O_CREAT, 0666) = 5
> fcntl(5, F_SETLKW, 0xFFBEDC08) = 0
> open("/var/imap/deliverdb/deliver-q.lock", O_RDWR|O_CREAT, 0666) = 6
>
> [stuff deleted]
>
>
> open("/var/imap/deliverdb/deliver-y.lock", O_RDWR|O_CREAT, 0666) = 5
> fcntl(5, F_SETLKW, 0xFFBEDC08) = 0
> open("/var/imap/deliverdb/deliver-q.lock", O_RDWR|O_CREAT, 0666) = 6
> fcntl(6, F_SETLKW, 0xFFBECAF0) = 0
> close(6) = 0
> close(8) Err#9 EBADF
> close(7) Err#9 EBADF
> close(5) = 0
> open("/var/imap/deliverdb/deliver-z.lock", O_RDWR|O_CREAT, 0666) = 5
> fcntl(5, F_SETLKW, 0xFFBEDC08) = 0
> open("/var/imap/deliverdb/deliver-q.lock", O_RDWR|O_CREAT, 0666) = 6
> [...]
>
>
>
>
>
> Then, if I send another mail to the user whose name
> begins with q
> deliver -E 2 no longer works.
>
> /usr/local/imap/imapd/bin/deliver -E 2
> Bus Error (core dumped)
>
>
>
> Regards,
>
> Nicolas
>
Richard Hopkins,
Information Services,
Computer Centre,
University of Bristol,
Bristol, BS8 1UD, UK
Tel +44 117 928 7859
Fax +44 117 929 1576
RFC-822: [EMAIL PROTECTED]