"prepare_commit error in module tdb" importing schema

Adam Tauno Williams awilliam at whitemice.org
Wed Dec 1 07:43:47 MST 2010


On Tue, 2010-11-30 at 16:44 -0500, Adam Tauno Williams wrote: 
> Samba 4.0.0-alpha14
> I've been having very good luck porting the schema we use to Samba4.
> But now I'm stuck. Trying to import this attribute results in a
> "prepare_commit error in module tdb: Protocol error (2)".
> samba:/srv/cifs/test # /opt/ad/samba4/bin/ldbmodify -vv -H
> ldap://10.66.77.1/ --user=administrator%fred123.7a test.ldif
> ERR: (Protocol error) "LDAP error 2 LDAP_PROTOCOL_ERROR -  <del_trans
> error on CN=Schema,CN=Configuration,DC=ad,DC=mormail,DC=com:
> prepare_commit error on
> CN=Schema,CN=Configuration,DC=ad,DC=mormail,DC=com: prepare_commit error
> in module tdb: Protocol error (2)> <>" on DN
> cn=Evolution-CompanyPhone,cn=Schema,cn=Configuration,DC=AD,DC=MORMAIL,DC=COM
> Modified 0 records with 1 failures
> samba:/srv/cifs/test # 
> I've verified that an attribute of this name does not already exist.

Using the AD schema snap-in I think I've figured this one out.  It
allowed me to [by my accident] create an attribute with an
ldapDisplayName of "categories" when one already existed.  And *then*
subsequent schema modifications fail because a duplicated attribute name
exists.

> test.ldif
> ------------------------------------------
> # Attribute: companyPhone
> dn:
> cn=Evolution-CompanyPhone,cn=Schema,cn=Configuration,DC=AD,DC=MORMAIL,DC=COM
> changetype: add
> cn: Evolution-CompanyPhone
> objectClass: attributeSchema
> attributeId: 1.3.6.1.4.1.8506.1.2.17
> ldapDisplayName: companyPhone
> attributeSyntax: 2.5.5.12
> oMSyntax: 64
> dystemOnly: FALSE
> rangeUpper: 32
> The samba.log file says the following:
> [Tue Nov 30 16:39:48 2010 EST,
> 0 ../lib/ldb-samba/ldb_wrap.c:68:ldb_wrap_debug()]
> ldb: schema_load_init: dsdb_set_schema() failed: 20:Attribute or value
> exists: categories: value #1 provided more than once
> [Tue Nov 30 16:39:48 2010 EST,
> 0 ../lib/ldb-samba/ldb_wrap.c:68:ldb_wrap_debug()]
> ldb: schema_load_init: dsdb_set_schema() failed: 20:Attribute or value
> exists: categories: value #1 provided more than once
> [Tue Nov 30 16:39:49 2010 EST,
> 0 ../lib/ldb-samba/ldb_wrap.c:68:ldb_wrap_debug()]
> ldb: schema_load_init: dsdb_set_schema() failed: 20:Attribute or value
> exists: categories: value #1 provided more than once
> [Tue Nov 30 16:39:49 2010 EST,
> 1 ../lib/ldb-samba/ldb_wrap.c:68:ldb_wrap_debug()]
> ldb: ltdb:
> tdb(/opt/ad/samba4/private/sam.ldb.d/CN=SCHEMA,CN=CONFIGURATION,DC=AD,DC=MORMAIL,DC=COM.ldb): tdb_transaction_prepare_commit: transaction error pending
> [Tue Nov 30 16:39:49 2010 EST,
> 1 ../lib/ldb-samba/ldb_wrap.c:68:ldb_wrap_debug()]
> ldb: ltdb:
> tdb(/opt/ad/samba4/private/sam.ldb.d/CN=SCHEMA,CN=CONFIGURATION,DC=AD,DC=MORMAIL,DC=COM.ldb): tdb_transaction_cancel: no transaction
> [Tue Nov 30 16:39:49 2010 EST,
> 0 ../lib/ldb-samba/ldb_wrap.c:68:ldb_wrap_debug()]
> ldb: A transaction is still active in ldb context [0x3488270]
> on /opt/ad/samba4/private/sam.ldb
> 




More information about the samba-technical mailing list