Re: deliver bus error core dump

2001-04-27 Thread nicolas . bonnand

[EMAIL PROTECTED] wrote:
> 
> 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...


Thanks for your answer.

You're right, it seems to be the same bug
Does anyone know how to correct this ?

Is it corrected under 2.0.12 ?

Regards,

Nicolas

PS:
(More info) the cyrus binaries are statically built
with Berkeley DB 3.1.17



Re: deliver bus error core dump

2001-04-27 Thread Richard Hopkins


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(0x, 14789, PROT_READ, MAP_SHARED, 3, 0) = 0xFF25
> 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, 0x0001)   = 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) 

deliver bus error core dump

2001-04-27 Thread nicolas . bonnand

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(0x, 14789, PROT_READ, MAP_SHARED, 3, 0) = 0xFF25
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, 0x0001)   = 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
fc