[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Solaris 2.6 NDBM problem



On Mon, Apr 24, 2000 at 03:48:45PM -0300, Michael Smith wrote:
> Hi,
> 
> We recently installed ZMailer 2.99.52-patch1 on a Solaris 2.6 machine (gcc
> 2.8.1).

	I have an ugly feeling that gcc 2.8.1 is the root of the trouble
	here -- on SPARC.  2.7.* are ok, 2.8.* are not ok.

> Every time the router tries to check the modification time or ownership of
> an NDBM file (i.e. every lookup), it complains:
> 
> [2864] modp_ndbm: cannot fstat("/var/csuite/var/mail/db/fqdnaliases")!
> [2864] modp_ndbm: cannot fstat("/var/csuite/var/mail/db/fqdnaliases")!
> [2864] modp_ndbm: cannot fstat("/var/csuite/var/mail/db/localnames")!
> [2864] modp_ndbm: cannot fstat("/var/csuite/var/mail/db/localnames")!
> [2864] modp_ndbm: cannot fstat("/var/csuite/var/mail/db/aliases")!
> [2864] owner_ndbm: cannot fstat("/var/csuite/var/mail/db/aliases")!
> [2864] modp_ndbm: cannot fstat("/var/csuite/var/mail/db/localnames")!
> 
> The lookup (if any) still succeeds.
> 
> I stuck some code in router/libdb/ndbm.c:modp_ndbm() to check on the
> values of dbm_dirfno() (used in the fstat() call) and dbm_pagfno():
> 
> z# router michael
> <michael.interactive@phoenix.chebucto.ns.ca>: address: michael
> modp_ndbm: dirfno 1155264, pagfno 0
> modp_ndbm: cannot fstat("/var/csuite/var/mail/db/aliases")!
> modp_ndbm: dirfno 1089392, pagfno 0
> modp_ndbm: cannot fstat("/var/csuite/var/mail/db/fqdnaliases")!
> modp_ndbm: dirfno 1089392, pagfno 0
> modp_ndbm: cannot fstat("/var/csuite/var/mail/db/fqdnaliases")!
> modp_ndbm: dirfno 993000, pagfno 0
> modp_ndbm: cannot fstat("/var/csuite/var/mail/db/localnames")!
> modp_ndbm: dirfno 993000, pagfno 0
> modp_ndbm: cannot fstat("/var/csuite/var/mail/db/localnames")!
> modp_ndbm: dirfno 2021632, pagfno 0
> modp_ndbm: cannot fstat("/var/csuite/var/mail/db/routes")!
> (((smtp csuite.ns.ca michael@csuite.ns.ca g3)))
> 
> Those don't look like real file descriptors, especially since lsof
> reports:
> 
> COMMAND   PID USER   FD   TYPE     DEVICE SIZE/OFF  INODE NAME
> router  12314 root    4r  VREG     32,139    30587 620204
> /var/csuite/var/mail/db/aliases.dir
> 
> router  12314 root    6rR VREG     32,139    24832 620205
> /var/csuite/var/mail/db/fqdnaliases.pag
> 
> router  12314 root    7rR VREG     32,139    24662 620203
> /var/csuite/var/mail/db/localnames.pag
> 
> router  12314 root    8rR VREG     32,139    24576 620202
> /var/csuite/var/mail/db/routes.pag
> 
> I realize this isn't a ZMailer problem, but has anyone seen this
> before? Should ZMailer on Solaris default to btree instead of ndbm?

	Any system where BSD DB (1.* or 2.*) are found somehow
	are defaulting to BTREE.  Default selection order is:
		- BTREE
		- GDBM
		- NDBM
		- DBM (puke..)

> Thanks

-- 
/Matti Aarnio	<mea@nic.funet.fi>