sessionid.tdb Corruption

Martin.Sheppard at csiro.au Martin.Sheppard at csiro.au
Wed May 15 00:03:02 GMT 2002


Hi,

I just experienced tdb corruption with sessionid.tdb running samba 2.2.2 on
Solaris 8 with the result that no new connections were being allowed. I
renamed the corrupt file, samba automatically created a fresh one and now it
all seems to be functioning correctly. I apologise if this has already been
fixed, but I couldn't find any reference to a fix anywhere and due to the
nature it isn't really possible for me to test this with the latest version.


I was getting messages like the following in the logs almost continuously:

[2002/05/15 16:01:13, 0] tdb/tdbutil.c:tdb_log(342)
tdb(/var/spool/samba/locks/sessionid.tdb): tdb_oob len 1684168583 beyond eof
at 16384
[2002/05/15 16:01:13, 0] tdb/tdbutil.c:tdb_log(342)
tdb(/var/spool/samba/locks/sessionid.tdb): tdb_oob len 1530015816 beyond eof
at 16384
[2002/05/15 16:01:13, 0] tdb/tdbutil.c:tdb_log(342)
tdb(/var/spool/samba/locks/sessionid.tdb): tdb_oob len 791754040 beyond eof
at 16384
[2002/05/15 16:01:13, 0] tdb/tdbutil.c:tdb_log(342)
tdb(/var/spool/samba/locks/sessionid.tdb): tdb_oob len 1530015816 beyond eof
at 16384
[2002/05/15 16:01:13, 0] tdb/tdbutil.c:tdb_log(342)
tdb(/var/spool/samba/locks/sessionid.tdb): tdb_oob len 1530015816 beyond eof
at 16384

On inspection of the tdb file I noticed that there were fragments of the log
file inside it. Here is the first part of the file. If anyone wants the
complete file then I can mail it to them.

scruvy>less connections.tdb.stuffed
TDB file
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@&^A^Ym^@^@^@<83>^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^DÜ2/05/15 15:34:50,
0] smbd/nttrans.c:call_nt_transact_ioctl(1762)
  call_nt_transact_ioctl: Currently not^@^@^Lôlemented.
[2002/05/15 15:36:25, 0] tdb/tdbutil.c:tdb_log(342)
  tdb(/var/spool/samba/locks/sessionid.tdb): tdb_o^@^@0àen 1970434685 beyond
eof at 16384
^K<84>^@^@^@^@^@^@)È^@^@^@^@^@^@3P^@^@^@^@^@^@^@^@^@^@^VT^@^@ESC°^@^@(`^@^@8
<8C>^@^@^@^@'¬^@^@^@^@^@^@0<88>^@^@4X^@
^@%<80>^@^@^X<80>^@^@^@^@^@^@^S0^@^@^@^@^@^@^NT^@^@^@^@^@^@*
^@^@^L<98>^@^@5À^@^@^O`^@^@^@^@^@^@^@^@^@^@        ^P

This seems like the cause of the corruption, but why were log messages
written into this file? Could it be a samba problem, or are we looking at
some sort of Solaris bug here? The problem happened at the same time that
our WINS server became unavailable and we ended up with samba not being able
to contact a domain controller to verify passwords, but I'm not sure that
this had anything to do with the corruption problem.

Cheers,

Martin.




More information about the samba-technical mailing list