Hi all: I am seeing corrupted directory listings using BackupPC_tarCreate. One of the reported filenames has a bunch of nulls in the middle of it using BackupPC-3.1.0.
I am doing a new BackupPC install and as part of the testing phase I verify backups using: BackupPC_tarCreate -l whose output is compared against a find to see if any files are missing. I also use BackupPC_tarCreate | tar --compare to validate the data. The file that is incorrectly listed seems to verify ok as far as I can tell. While running the verification procedures for BackupPC as we move it to new box, I came across this problem: Using: sudo -u backup /tools/BackupPC/bin/BackupPC_tarCreate -h ops03.example.com \ -n -1 -l -s /var/www/html/cacti .| less I see: [normal listing] ./lib/adodb/drivers/adodb-informix72.inc.php ./lib/adodb/drivers/adodb-ldap.inc.php ./lib/adodb/drivers/adodb-mssql.inc.php ./lib/adodb/drivers/adodb-mssqlpo.inc.php ./l...@^@^...@^@^...@^@^...@^@^...@^@^...@^@^...@^@^...@^@^...@^@^...@^@^...@^@^...@^@^...@^@^...@^@^...@^@^...@^@@^...@^@^@ [a ton more null characters] ^...@^@ib/adodb/drivers/adodb-mysql.inc.php ./lib/adodb/drivers/adodb-mysqli.inc.php ./lib/adodb/drivers/adodb-mysqlt.inc.php I found this when comparing the files list produced by BackupPC against the list generated by find on the same backup share. The nulls show up in less as well as od -c. Using -L rather than -l to getthe listing has the same issue but 40 lines later: 100644 109/109 1935 ./lib/adodb/lang/adodb-pt-br.inc.php 100644 109/109 1895 ./lib/adodb/lang/adodb-ro.inc.php 100644 109/109 1954 ./lib/adodb/lang/adodb-ru1251.inc.php 100644 109/109 1828 ./lib/a...@^@^...@^@ [...] ^...@^@^...@^@^...@^@^...@^@^...@^@^...@^@^...@^@^...@^@^...@^@^...@odb/lang/adodb-sv.inc.php 100644 109/109 2002 ./lib/adodb/datadict/datadict-access.inc.php 100644 109/109 3936 ./lib/adodb/datadict/datadict-db2.inc.php 100644 109/109 3789 ./lib/adodb/datadict/datadict-firebird.inc.php 100644 109/109 2514 ./lib/adodb/datadict/datadict-generic.inc.php Looking at the first directory in question doesn't show any nulls: sudo ls /backup-pc/pc/ops03.example.com/14/f%2fvar%2fwww%2fhtml%2fcacti/flib/fadodb/fdrivers | cat -v attrib fadodb-access.inc.php fadodb-ado5.inc.php fadodb-ado_access.inc.php fadodb-ado.inc.php fadodb-ado_mssql.inc.php fadodb-borland_ibase.inc.php fadodb-csv.inc.php fadodb-db2.inc.php fadodb-fbsql.inc.php fadodb-firebird.inc.php fadodb-ibase.inc.php fadodb-informix72.inc.php fadodb-informix.inc.php fadodb-ldap.inc.php fadodb-mssql.inc.php fadodb-mssqlpo.inc.php fadodb-mysqli.inc.php fadodb-mysql.inc.php fadodb-mysqlt.inc.php fadodb-netezza.inc.php fadodb-oci805.inc.php fadodb-oci8.inc.php fadodb-oci8po.inc.php fadodb-odbc.inc.php fadodb-odbc_mssql.inc.php fadodb-odbc_oracle.inc.php fadodb-odbtp.inc.php fadodb-odbtp_unicode.inc.php fadodb-oracle.inc.php fadodb-pdo.inc.php fadodb-postgres64.inc.php fadodb-postgres7.inc.php fadodb-postgres.inc.php fadodb-proxy.inc.php fadodb-sapdb.inc.php fadodb-sqlanywhere.inc.php fadodb-sqlite.inc.php fadodb-sqlitepo.inc.php fadodb-sybase.inc.php fadodb-vfp.inc.php Using od -c in place of cat -v doesn't show any null characters either, so the listing issue isn't a result of some wierd form of filesystem corruption AFAICT. Anybody have any idea what's happening here? Anything I can flip on to get better debugging to get this fixed? This could be a 64 bit issue as all the prior backuppc installs I have done are 32 bit, but this newer box is also handling more data as as well so .... Some vital stats: OS: centos 5.2 BackupPC version: 3.1.0 uname -a: Linux ops03.example.com 2.6.18-92.1.22.el5 #1 SMP Tue Dec 16 11:57:43 EST 2008 x86_64 x86_64 x86_64 GNU/Linux filesystem: ext3 on a raid 6 array: /dev/md1 4.5T 462G 3.8T 11% /disk/md1 tune2fs -l on device: tune2fs 1.39 (29-May-2006) Filesystem volume name: <none> Last mounted on: <not available> Filesystem UUID: 83165372-7c6b-4fdf-804e-e474df128a45 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file Default mount options: (none) Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 1220968448 Block count: 1220966208 Reserved block count: 61048310 Free blocks: 1124763690 Free inodes: 1218526277 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 732 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 32768 Inode blocks per group: 1024 Filesystem created: Mon Feb 9 18:35:42 2009 Last mount time: Fri Feb 27 22:07:59 2009 Last write time: Fri Feb 27 22:07:59 2009 Mount count: 7 Maximum mount count: 21 Last checked: Mon Feb 16 18:34:36 2009 Check interval: 15552000 (6 months) Next check after: Sat Aug 15 18:34:36 2009 Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 128 Journal inode: 8 Default directory hash: tea Directory Hash Seed: 96a10d7c-0695-4ff7-a26d-e01943d03693 Journal backup: inode blocks perl -V: Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=linux, osvers=2.6.18-53.el5, archname=x86_64-linux-thread-multi uname='linux builder10.centos.org 2.6.18-53.el5 #1 smp mon nov 12 02:14:55 est 2007 x86_64 x86_64 x86_64 gnulinux ' config_args='-des -Doptimize=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Dversion=5.8.8 -Dmyhostname=localhost -dperladmin=r...@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dinstallprefix=/usr -Dprefix=/usr -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Dprivlib=/usr/lib/perl5/5.8.8 -Dsitelib=/usr/lib/perl5/site_perl/5.8.8 -Dvendorlib=/usr/lib/perl5/vendor_perl/5.8.8 -Darchlib=/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi -Dsitearch=/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi -Dvendorarch=/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi -Darchname=x86_64-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto -Dinc_version_list=5.8.7 5.8.6 5.8.5 -Dscriptdir=/usr/bin' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm', optimize='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic', cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -I/usr/include/gdbm' ccversion='', gccversion='4.1.2 20071124 (Red Hat 4.1.2-42)', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='gcc', ldflags ='' libpth=/usr/local/lib64 /lib64 /usr/lib64 libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.5' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE' cccdlflags='-fPIC', lddlflags='-shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API Built under linux Compiled at Sep 17 2008 13:37:41 @INC: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 . -- -- rouilj John Rouillard System Administrator Renesys Corporation 603-244-9084 (cell) 603-643-9300 x 111 ------------------------------------------------------------------------------ Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are powering Web 2.0 with engaging, cross-platform capabilities. Quickly and easily build your RIAs with Flex Builder, the Eclipse(TM)based development software that enables intelligent coding and step-through debugging. Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com _______________________________________________ BackupPC-users mailing list BackupPC-users@lists.sourceforge.net List: https://lists.sourceforge.net/lists/listinfo/backuppc-users Wiki: http://backuppc.wiki.sourceforge.net Project: http://backuppc.sourceforge.net/