Hi Timo,
I'm glad to tell that dovecot is in prod on Unixware since yesterday.
See below...
Many thanks for your help. On Sun, 5 Feb 2006, Timo Sirainen wrote:
Date: Sun, 05 Feb 2006 14:15:34 +0200 From: Timo Sirainen <tss@iki.fi> To: ohp@pyrenet.fr Cc: dovecot@dovecot.org Subject: Re: [Dovecot] nearly there
On Mon, 2006-01-30 at 18:05 +0100, ohp@pyrenet.fr wrote:
Hi Timo et all. At last I found with unix socket wouldn't connect and it works now.
So the earlier problems are gone? How did you get it fixed?
You fixed the earlier problems when connected on my machine, then I put net_set_nonblock() AFTER the connect in net_connect_unix() to avoid the EINPROGRESS race condition I talked about in my previous mail.
However after auth, imap crashes with signal 6. This happens on 1 machine, the other (unixware too) work fine. The stack trace doesn't make much sense here it is anway...
Core image of imap (process p1) created CORE FILE [makedev in cmd-status.c@sys/mkdev.h] SIGNALED 8 (fpe code[FPE_INTDIV] address[0x804e38b]) in p1 76: return __makedev(ver, maj, min); debug> Stack Trace for p1, Program imap *[0] makedev(maj=16, min=1, presumed: 0x8094258) [cmd-status.c@sys/mkdev.h@76] [1] cmd_store(cmd=0x0, presumed: 0x1, 0x80947a0) [cmd-store.c@139] [2] _cmd_select_full(cmd=0x8072498, readonly=false) [cmd-select.c@84] [3] cmd_store(cmd=0x10, presumed: 0x807d184, 0x8047cac) [cmd-store.c@74] [4] minor(dev=134511756, presumed: 0x8055266, 0x8047cac) [cmd-subscribe.c@sys/mkdev.h@112] [5] imap_search_args_build(pool=0x8047cac, box=0x8047cb4, args=0x8047ca0, error_r=0x804ebc1) [imap-search.c@416] [6] imap_search_get_uidset_arg(pool=0x1, box=0x8047cac, uidset="\215}\004\b\235}\004\b\245}\004\b\020\220\b\b\313}\004\b\335}\004\b\357}\004\b", arg_r=0x0, error_r=0x0, 0x1) [imap-search.c@447] [7] cmd_append_cancel(ctx=0x8047cb4, nonsync=true, presumed: 0) [cmd-append.c@158] [8] ?() [0] debug>
Well, that really doesn't make any sense. It just can't happen, so those function names were looked up wrong.
The log says Trying to allocate 0 bytes and imap gets killed.
Hmm. There are quite a many ways for the code to get here. I tried looking if I could find some way to cause this myself, but didn't succeed. So pretty difficult to get fixed without a correct backtrace..
This one took me ages to find what happened. I was first supprised that it only occured on one machine that hadn't the latest unixware patch.
Alas applying this patch crashed the machine but that's another storry.
Anyway it turns out that the imap crash was caused by a bad ns.so library (yes this machine use NIS+) and each time the "standard" userdb was checked imap crashed.
I hav'nt yet analyzed why (other calls to getpwnam, getspnam work corectly), but I made it work by commenting userdb passwd and enabling userdb passwd-file with /etc/passwd as passwd file.
Now I wonder what kind of magic you do when checking passwd... :)
In any case, it works for me now!
Regards,
Olivier PRENANT Tel: +33-5-61-50-97-00 (Work) 15, Chemin des Monges +33-5-61-50-97-01 (Fax) 31190 AUTERIVE +33-6-07-63-80-64 (GSM) FRANCE Email: ohp@pyrenet.fr
Make your life a dream, make your dream a reality. (St Exupery)