[Dovecot] nearly there

ohp at pyrenet.fr ohp at pyrenet.fr
Sun Feb 5 20:14:30 EET 2006


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 at iki.fi>
> To: ohp at pyrenet.fr
> Cc: dovecot at dovecot.org
> Subject: Re: [Dovecot] nearly there
>
> On Mon, 2006-01-30 at 18:05 +0100, ohp at 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 at 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 at sys/mkdev.h at 76]
> >  [1] cmd_store(cmd=0x0, presumed: 0x1, 0x80947a0)	[cmd-store.c at 139]
> >  [2] _cmd_select_full(cmd=0x8072498, readonly=false)	[cmd-select.c at 84]
> >  [3] cmd_store(cmd=0x10, presumed: 0x807d184, 0x8047cac)	[cmd-store.c at 74]
> >  [4] minor(dev=134511756, presumed: 0x8055266, 0x8047cac)	[cmd-subscribe.c at sys/mkdev.h at 112]
> >  [5] imap_search_args_build(pool=0x8047cac, box=0x8047cb4, args=0x8047ca0, error_r=0x804ebc1)	[imap-search.c at 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 at 447]
> >  [7] cmd_append_cancel(ctx=0x8047cb4, nonsync=true, presumed: 0)	[cmd-append.c at 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 at pyrenet.fr
------------------------------------------------------------------------------
Make your life a dream, make your dream a reality. (St Exupery)


More information about the dovecot mailing list