From: Stelian P. <st...@po...> - 2010-12-06 15:57:10
|
Hi Kenneth, I've finally found out a few minutes to look at your reported bug, and I'm not sure what happens here: > #0 readxattr (buffer=0xbfd76bf8 "") at tape.c:1294 > 1294 if (curfile.dip->di_size > XATTR_MAXSIZE) { As you wrote in a follow-up, curfile is NULL here, exhibiting the bug. > (gdb) bt > #0 readxattr (buffer=0xbfd76bf8 "") at tape.c:1294 > #1 0x080548bc in compareattr (name=0x8069ec7 "./var/log/named/queries") > at tape.c:1731 > #2 0x0805789d in comparefile (name=0x8069ec7 "./var/log/named/queries") > at tape.c:1946 ... but it wasn't NULL at the beginning of comparefile(), so we can assume that somehow during the file extraction (getfile(), called from tape.c:1909), restore finds out an inode (in findinode()) which is NOT a TS_INODE (so curfile.dip and curfile.ino are not initialized) but which satisfies the test on line 1718: "spcl.c_flags & DR_EXTATTRIBUTES"... Are you able to reproduce the problem ? If you do, you could use gdb, based on the analysis above, to see what happens... > #3 0x0805025a in compare_entry (ep=0x18633ed0, do_compare=1) at > restore.c:694 > #4 0x0805049f in compareleaves () at restore.c:748 > #5 0x0804ed98 in main (argc=Cannot access memory at address 0x0 > ) at main.c:475 Thanks, Stelian. -- Stelian Pop <st...@po...> |