TDB hash issues ? Re: upgradeprovision --full locking issue

Matthieu Patou mat at samba.org
Wed Apr 18 17:10:21 MDT 2012


Hello,
On 04/18/2012 04:06 PM, a.key wrote:
> Hi.
> We've been running samba4 based AD since around alpha11/12 
> continuously upgrading with upgradeprovision. our AD is based on two 
> samba4 DCs installed on fairly up to date Debian Squeeze.
>
> Quite recently we discovered that we are no longer able to create 
> Group Policies as users from domain admin group so we thought that we 
> may require upgradeprovision.
> The domain and forest are on 2008R2 level.
>
> When trying upgradeprovision --full at the end we get this:
>
> ltdb: tdb(/usr/local/samba/private/sam.ldb): Locking error: 
> tdb_allrecord_upgrade failed: count 0 too high
> ltdb: tdb(/usr/local/samba/private/sam.ldb): Locking error: 
> tdb1_transaction_prepare_commit: failed to upgrade hash locks
Looks like a tdb issue when trying to do some commit.
Maybe some TDB guru

> ltdb: 
> tdb(/usr/local/samba/private/sam.ldb.d/CN=SCHEMA,CN=CONFIGURATION,DC=HQ,DC=JADU,DC=NET.ldb): 
> Invalid parameter: tdb1_transaction_cancel: no transaction
> ltdb: 
> tdb(/usr/local/samba/private/sam.ldb.d/CN=CONFIGURATION,DC=HQ,DC=JADU,DC=NET.ldb): 
> Invalid parameter: tdb1_transaction_cancel: no transaction
> ltdb: 
> tdb(/usr/local/samba/private/sam.ldb.d/DC=DOMAINDNSZONES,DC=HQ,DC=JADU,DC=NET.ldb): 
> Invalid parameter: tdb1_transaction_cancel: no transaction
> ltdb: 
> tdb(/usr/local/samba/private/sam.ldb.d/DC=FORESTDNSZONES,DC=HQ,DC=JADU,DC=NET.ldb): 
> Invalid parameter: tdb1_transaction_cancel: no transaction
> ltdb: 
> tdb(/usr/local/samba/private/sam.ldb.d/DC=HQ,DC=JADU,DC=NET.ldb): 
> Invalid parameter: tdb1_transaction_cancel: no transaction
> partition del transaction mismatch
>
>
>
> I thought that strace against upgradeprovision will reveal more but 
> nothing that I could use to fix:
>
> ---SNIP---
> fcntl64(5, F_SETLKW64, {type=F_WRLCK, whence=SEEK_SET, start=168, 
> len=0}, 0xbfff6244) = 0
> fcntl64(5, F_SETLKW64, {type=F_WRLCK, whence=SEEK_SET, start=0, 
> len=1}, 0xbfff6234) = 0
> mmap2(NULL, 2469888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 
> -1, 0) = 0xb0399000
> fdatasync(5)                            = 0
> msync(0xb5483000, 2466532, MS_SYNC)     = 0
> munmap(0xb0399000, 2469888)             = 0
> fdatasync(5)                            = 0
> msync(0xb5483000, 24, MS_SYNC)          = 0
> write(2, "ltdb: tdb(/usr/local/samba/priva"..., 106ltdb: 
> tdb(/usr/local/samba/private/sam.ldb): Locking error: 
> tdb_allrecord_upgrade failed: count 0 too high) = 106
> write(2, "\n", 1
> )                       = 1
> write(2, "ltdb: tdb(/usr/local/samba/priva"..., 121ltdb: 
> tdb(/usr/local/samba/private/sam.ldb): Locking error: 
> tdb1_transaction_prepare_commit: failed to upgrade hash locks) = 121
> write(2, "\n", 1
> )                       = 1
> fcntl64(11, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=168, 
> len=0}, 0xbfff6264) = 0
> fcntl64(11, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=8, 
> len=1}, 0xbfff6264) = 0
> fdatasync(8)                            = 0
> msync(0xb29a6000, 24, MS_SYNC)          = 0
> fcntl64(8, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=168, 
> len=0}, 0xbfff6234) = 0
> fcntl64(8, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=8, 
> len=1}, 0xbfff6234) = 0
> fcntl64(8, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=0, 
> len=1}, 0xbfff6234) = 0
> fdatasync(6)                            = 0
> msync(0xb484c000, 24, MS_SYNC)          = 0
> fcntl64(6, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=168, 
> len=0}, 0xbfff6234) = 0
> fcntl64(6, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=8, 
> len=1}, 0xbfff6234) = 0
> fcntl64(6, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=0, 
> len=1}, 0xbfff6234) = 0
> fdatasync(9)                            = 0
> msync(0xb1b7d000, 24, MS_SYNC)          = 0
> fcntl64(9, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=168, 
> len=0}, 0xbfff6234) = 0
> fcntl64(9, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=8, 
> len=1}, 0xbfff6234) = 0
> fcntl64(9, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=0, 
> len=1}, 0xbfff6234) = 0
> fdatasync(10)                           = 0
> msync(0xb17f3000, 24, MS_SYNC)          = 0
> fcntl64(10, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=168, 
> len=0}, 0xbfff6234) = 0
> fcntl64(10, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=8, 
> len=1}, 0xbfff6234) = 0
> fcntl64(10, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=0, 
> len=1}, 0xbfff6234) = 0
> brk(0xcfc9000)                          = 0xcfc9000
> fdatasync(5)                            = 0
> msync(0xb5483000, 24, MS_SYNC)          = 0
> fcntl64(5, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=168, 
> len=0}, 0xbfff6234) = 0
> fcntl64(5, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=8, 
> len=1}, 0xbfff6234) = 0
> fcntl64(5, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=0, 
> len=1}, 0xbfff6234) = 0
> fcntl64(4, F_SETLKW64, {type=F_UNLCK, whence=SEEK_SET, start=8, 
> len=1}, 0xbfff6234) = 0
> write(2, "ltdb: tdb(/usr/local/samba/priva"..., 157ltdb: 
> tdb(/usr/local/samba/private/sam.ldb.d/CN=SCHEMA,CN=CONFIGURATION,DC=HQ,DC=JADU,DC=NET.ldb): 
> Invalid parameter: tdb1_transaction_cancel: no transaction) = 157
> write(2, "\n", 1
> )                       = 1
> write(2, "ltdb: tdb(/usr/local/samba/priva"..., 147ltdb: 
> tdb(/usr/local/samba/private/sam.ldb.d/CN=CONFIGURATION,DC=HQ,DC=JADU,DC=NET.ldb): 
> Invalid parameter: tdb1_transaction_cancel: no transaction) = 147
> write(2, "\n", 1
> )                       = 1
> write(2, "ltdb: tdb(/usr/local/samba/priva"..., 148ltdb: 
> tdb(/usr/local/samba/private/sam.ldb.d/DC=DOMAINDNSZONES,DC=HQ,DC=JADU,DC=NET.ldb): 
> Invalid parameter: tdb1_transaction_cancel: no transaction) = 148
> write(2, "\n", 1
> )                       = 1
> write(2, "ltdb: tdb(/usr/local/samba/priva"..., 148ltdb: 
> tdb(/usr/local/samba/private/sam.ldb.d/DC=FORESTDNSZONES,DC=HQ,DC=JADU,DC=NET.ldb): 
> Invalid parameter: tdb1_transaction_cancel: no transaction) = 148
> write(2, "\n", 1
> )                       = 1
> write(2, "ltdb: tdb(/usr/local/samba/priva"..., 130ltdb: 
> tdb(/usr/local/samba/private/sam.ldb.d/DC=HQ,DC=JADU,DC=NET.ldb): 
> Invalid parameter: tdb1_transaction_cancel: no transaction) = 130
> write(2, "\n", 1
> )                       = 1
> fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
> 0) = 0xb05f3000
> _llseek(2, 0, 0xbfff6010, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
> write(2, "partition del transaction mismat"..., 35partition del 
> transaction mismatch
> ) = 35
> munmap(0xb05f3000, 4096)                = 0
> close(-1)                               = -1 EBADF (Bad file descriptor)
>
> ---SNIP---
>
>
> I would be grateful for help.
> Regards Arek.
>
>
>


-- 
Matthieu Patou
Samba Team
http://samba.org



More information about the samba-technical mailing list