Re: sessionid.tdb Corruption

2002-05-15 Thread Jeremy Allison

On Wed, May 15, 2002 at 04:30:13PM +0930, [EMAIL PROTECTED] wrote:
> 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.

Hmmm. There have actually been several fixes to the tdb code and
the tdb database code between 2.2.2 and 2.2.4. I would seriously
recommend upgrading if at all possible.

Jeremy




sessionid.tdb Corruption

2002-05-14 Thread Martin . Sheppard

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.