upgradeprovision --full locking issue

a.key a.key at jadu.net
Wed Apr 18 17:06:36 MDT 2012


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
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.





More information about the samba-technical mailing list