smbclient_tar flapping

Andreas Schneider asn at samba.org
Wed Jun 22 05:29:41 UTC 2016


On Tuesday, 21 June 2016 17:14:37 CEST Jeremy Allison wrote:
> On Tue, Jun 21, 2016 at 06:09:58PM +0200, Aurélien Aptel wrote:
> > On Mon, 20 Jun 2016 16:47:31 -0700 Jeremy Allison <jra at samba.org> wrote:
> > > Needs to be repeatable before I'll believe it I'm afraid.
> > > More likely to be corruption in the testing EA store - remember
> > > the 'D' bit is stored there in the dos attributes EA.
> > 
> > I also think it might me a tdb problem as selftest uses "store dos
> > attributes = yes" and the tdb xattr VFS. I can also see this in logs when
> > smbd looks for DOS attrs:
> > 
> > [10 2016/06/17 14:32:21.501261 ../source3/lib/xattr_tdb.c:183
> > xattr_tdb_getattr]> 
> >    xattr_tdb_getattr called for file 801:10051158:0, name system.fake_uid
> > 
> > [10 2016/06/17 14:32:21.501276 ../source3/lib/xattr_tdb.c:189
> > xattr_tdb_getattr]> 
> >    xattr_tdb_fetch_attrs failed: NT_STATUS_INTERNAL_DB_CORRUPTION
> 
> Unfortunately that doesn't always mean NT_STATUS_INTERNAL_DB_CORRUPTION - it
> can just mean not found. From xattr_tdb_load_attrs():
> 
> static NTSTATUS xattr_tdb_load_attrs(TALLOC_CTX *mem_ctx,
>                                      struct db_context *db_ctx,
>                                      const struct file_id *id,
>                                      struct tdb_xattrs **presult)
> {
>         uint8_t id_buf[16];
>         NTSTATUS status;
>         TDB_DATA data;
> 
>         /* For backwards compatibility only store the dev/inode. */
>         push_file_id_16((char *)id_buf, id);
> 
>         status = dbwrap_fetch(db_ctx, mem_ctx,
>                               make_tdb_data(id_buf, sizeof(id_buf)),
>                               &data);
>         if (!NT_STATUS_IS_OK(status)) {
>                 return NT_STATUS_INTERNAL_DB_CORRUPTION;
>         }
> 	..

Is it possible that in this case it reads uninitialized memory and that's why 
we and up with random attributes?

Aurélien did you try running it with valgrind? I can show you how to do that 
on IRC ...


	-- andreas

-- 
Andreas Schneider                   GPG-ID: CC014E3D
Samba Team                             asn at samba.org
www.samba.org



More information about the samba-technical mailing list