if winbindd is started with the -B option, the "first" daemon tries to open the idmap.tdb twice and fails. the second daemon leaves as a zombie. dual mode works fine though in HEAD (there the corresponding sam/idmap.c:idmap_init opens the idmap.tdb just once) from 3_0 CVS log.winbindd: [2003/05/03 00:56:54, 3, pid=15673] nsswitch/winbindd_idmap.c:winbindd_idmap_init(64) winbindd_idmap_init: using 'tdb' as backend [2003/05/03 00:56:54, 3, pid=15673] nsswitch/winbindd_idmap.c:winbindd_idmap_init(78) winbind_idmap_init: returning true [2003/05/03 00:56:54, 2, pid=15673] lib/interface.c:add_interface(79) added interface ip=127.0.0.1 bcast=127.255.255.255 nmask=255.0.0.0 [2003/05/03 00:56:54, 2, pid=15673] lib/interface.c:add_interface(79) added interface ip=192.168.44.1 bcast=192.168.44.255 nmask=255.255.255.0 [2003/05/03 00:56:54, 5, pid=15673] libsmb/namecache.c:namecache_enable(58) namecache_enable: enabling netbios namecache, timeout 660 seconds [2003/05/03 00:56:54, 3, pid=15673] nsswitch/winbindd_idmap.c:winbindd_idmap_init(64) winbindd_idmap_init: using 'tdb' as backend [2003/05/03 00:56:54, 2, pid=15673] tdb/tdbutil.c:tdb_log(724) tdb(unnamed): tdb_open_ex: /var/lib/samba/idmap.tdb (770,0) is already open in this process [2003/05/03 00:56:54, 0, pid=15673] nsswitch/winbindd_idmap_tdb.c:tdb_idmap_init(307) winbindd_idmap_init: Unable to open idmap database [2003/05/03 00:56:54, 3, pid=15673] nsswitch/winbindd_idmap.c:winbindd_idmap_init(78) winbind_idmap_init: returning false
I've moved all the initialisation to before the dual daemon fork which fixes this problem.
done
originally reported against 3.0alpha23. Bugzilla spring cleaning.