Samba 4 provision error in recent git

Charles Tryon charles.tryon at
Mon Feb 27 13:35:28 MST 2012

Ugh....  I'm seeing the same error, only I'm doing a samba3upgrade using
the default bind9.8 DNS backend.

/usr/local/samba/bin/samba-tool domain samba3upgrade \
--verbose -d 255 \
--dbdir=/etc/samba3 \
--use-xattrs=yes \ \

INFO: Current debug levels:
  all: 255
  tdb: 255
  printdrivers: 255
  lanman: 255
  smb: 255
  rpc_parse: 255
  rpc_srv: 255
  rpc_cli: 255
  passdb: 255
  sam: 255
  auth: 255
  winbind: 255
  vfs: 255
  idmap: 255
  quota: 255
  acls: 255
  locking: 255
  msdfs: 255
  dmapi: 255
  registry: 255
no talloc stackframe around, leaking memory
Reading smb.conf
lp_load_ex: refreshing parameters
Initialising global parameters
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
params.c:pm_process() - Processing configuration file "/etc/samba3/smb.conf"
Processing section "[global]"
doing parameter wins support = yes
doing parameter dns proxy = yes
doing parameter message command = bash -c 'cat %s | logger -t %f' &
doing parameter name resolve order = wins bcast
doing parameter security = user
doing parameter time server = yes
doing parameter server string = ""
doing parameter interfaces =
doing parameter username map = /etc/samba/smbusermap
doing parameter printing = lprng
doing parameter load printers = yes
doing parameter printcap = /etc/printcap
doing parameter cups options = "raw"
doing parameter printer admin = @dom_admin
WARNING: The "printer admin" option is deprecated
doing parameter print command = /usr/bin/lpr -P%p -Ccut.no_ff %s; rm %s
doing parameter socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE
doing parameter read raw = no
doing parameter large readwrite = yes
doing parameter kernel oplocks = yes
doing parameter veto oplock files = /*.mdb/*.MDB/*.dbf/*.DBF
doing parameter smb ports = 139 445
doing parameter force create mode = 660
doing parameter directory mask = 2770
doing parameter force directory mode = 2000
doing parameter dos filetimes = yes
doing parameter min print space = 2048
doing parameter veto files = lost+found/proc/dev
doing parameter read only = no
doing parameter dos filetime resolution = yes
doing parameter passdb backend = tdbsam guest
doing parameter encrypt passwords = yes
doing parameter unix password sync = yes
doing parameter passwd program = /usr/local/sbin/
doing parameter passwd chat = *new*password* %n\n *changed*
doing parameter passdb backend = tdbsam
doing parameter add machine script = /usr/sbin/adduser -n -g machines -c
Machine -d /dev/null -s /bin/false %u
doing parameter logon drive = N:
doing parameter logon home = \\%L\%U
doing parameter logon path =
doing parameter netbios name = ADAM2
doing parameter netbios aliases = NTINSTALL
doing parameter name cache timeout = 60
doing parameter workgroup = OMUSA
doing parameter dos charset = CP850
doing parameter debug level = 1
WARNING: The "null passwords" option is deprecated
WARNING: The "password level" option is deprecated
WARNING: The "idmap uid" option is deprecated
WARNING: The "idmap gid" option is deprecated
WARNING: The "share modes" option is deprecated
WARNING: The "share modes" option is deprecated
Exporting account policy
Exporting groups
Exporting users
  Skipping wellknown rid=501 (for username=nobody)
  Skipping inter-domain trust from domain somebodyelse, this trust must be
re-created as an AD trust
Next rid = 3583
ERROR(<type 'exceptions.KeyError'>): uncaught exception - 'state directory'
line 162, in _run
    return*args, **kwargs)
"/usr/local/samba/lib/python2.6/site-packages/samba/netcmd/", line
925, in run
  File "/usr/local/samba/lib/python2.6/site-packages/samba/",
line 645, in upgrade_from_samba3
    useeadb=useeadb, dns_backend=dns_backend)
line 1663, in provision
    eadb=useeadb, lp=lp, server_services=server_services)
line 648, in make_smbconf
    shares["sysvol"] = os.path.join(global_settings["state directory"],

On Mon, Feb 27, 2012 at 7:33 AM, Kev Latimer <klatimer at> wrote:

> Hi all,
> Did a dummy run of a production samba 4 install this weekend using a git
> pull from Saturday morning (didn't make a note of the version though but
> about 10am GMT) and although I hit some issues with running bind_dlz
> alongside our current DNS I had 6 geographically dispersed (over WAN) samba
> 4 DC's playing nicely and replicating happily.  Huge kudos to the team for
> what is a fantastic achievement so far.
> Decided to to have a play using bind9 flat file DNS in a test environment
> this morning, by wiping and re-provisioning the initial DC.  As always, did
> a git pull and recompile and then ran a provision (as it happens, I've only
> just noticed the HOWTO refers to provision in /usr/local/samba/sbin rather
> than /usr/src/samba-master/source4/**setup now, although I tried both)
> and got the following result:
> root at mydc:/# /usr/local/samba/sbin/**provision --realm=mydomain.local
> --domain=MYDOMAIN--adminpass=**password --server-role=dc
> --dns-backend=BIND9_FLATFILE
> Traceback (most recent call last):
>  File "/usr/local/samba/sbin/**provision", line 262, in <module>
>    useeadb=eadb, next_rid=opts.next_rid, lp=lp)
>  File "/usr/local/samba/lib/python2.**6/site-packages/samba/**provision/",
> line 1663, in provision
>    eadb=useeadb, lp=lp, server_services=server_**services)
>  File "/usr/local/samba/lib/python2.**6/site-packages/samba/**provision/",
> line 648, in make_smbconf
>    shares["sysvol"] = os.path.join(global_settings["**state directory"],
> KeyError: 'state directory'
> I also tried it without the --dns-backend option but same result.  Version
> I have is "Version 4.0.0alpha19-GIT-b6fcac6".
> I'm going to hazard a guess it's expecting an option regarding where to
> put sysvol and there's no default in this version of provision but I can't
> seem to spot how to pass it to provision.  My python is about as good as my
> Mandarin Chinese I'm afraid, so I'm fumbling a bit....  Any ideas?
> Cheers,
> Kev
> --
> Kevin Latimer
> _Network Manager_
> *Tolent Construction Ltd*
> Ravensworth House
> 5th Avenue Business Park, Team Valley
> Gateshead, Tyne & Wear, NE11 0HF
> Tel: +44 (0)191 4870505
> Fax: +44 (0)191 4872990
> Website: <>
> This message is intended only for the use of the person(s) ('the intended
> recipient(s) ') to whom it is addressed.
> It may contain information which is privileged and confidential within the
> meaning of applicable law.
> If you have received it in error, please delete it from your system.
> Do not use, copy or disclose the information in any way nor act in
> reliance on it and notify the sender immediately.
> *The views expressed in this communication may not necessarily be the
> views held by the Company.*
> Registered office: Ravensworth House, 5th Avenue Business Park, Team
> Valley, Gateshead, Tyne & Wear, NE11 0HF.
> Registered in England No. 2450574
> *Please note Tolent Plc monitors email sent or received. Further
> communication will signify your consent to this.*

    Charles Tryon
  “Risks are not to be evaluated in terms of the probability of success,
but in terms of the value of the goal.”
                - Ralph D. Winter

More information about the samba-technical mailing list