Re: Hdup error "No such file or directory"

Miek Gieben <[email protected]> Tue, 9 Sep 2003 11:23:39 +0200
Newsgroups gmane.comp.sysutils.backup.hdup.devel
Message-ID <[email protected]>
[On 08 Sep, @19:45, Tom wrote in "[hdup-dev] Hdup error "No such ..."]
> 
> The first attachment is the output of the Cron job trying to run Hdup.
> The second attachment is my configuration file.
> 
> The problem is that I see:
> | No such file or directory.
> 
> The system call that matches according to Strace is:
> | 856   open("/backup/nova/08-09-2003/nova.08-09-2003.daily.tar.gz", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = -1 ENOENT (No such file or directory)
> 
> Now </backup/nova/> exists just fine, but </backup/nova/08-09-2003/>
> exists not.  I thought Hdup would create the date directory by itself?
> But it didn't.

WTF? Strange indeed, all dirs should be created from within hdup. Unless there
is some error somewhere. Later today I will check the code to see if I don't
check a return status somewhere.

> One more thing... Hdup only fails from Cron, never from the interactive
> shell.  I have no idea why.

smells like buffer overrun, could you run it (from the command line) with
MALLOC_CHECK_=1 set?

> This is Hdup version 1.6.18 on Debian testing (I installed the Debian
> unstable version and "loosened" the dependency on the <libc> package.)
> 
> Some more snippets from Strace:
> | 856   --- SIGCHLD (Child exited) @ 0 (0) ---
> | 856   open("/dev/null", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOTDIR (Not a directory)

huh? weird error, but that is probably the shell doing its thing.

> | 856   open("/backup/nova/08-09-2003", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOENT (No such file or directory)
> | 856   stat64("/backup/nova/etc/inclist.weekly", {st_mode=S_IFREG|0644, st_size=459191, ...}) = 0
> | 856   fork()                            = 859
> | 856   wait4(-1,  <unfinished ...>
> | 859   execve("/bin/sh", ["sh", "-c", "/bin/cp -f /backup/nova/etc/incl"...], [/* 14 vars */]) = 0
> [ Hdup does some copying and some other stuff I can't identify ]
> | 856   open("/backup/nova/08-09-2003/nova.08-09-2003.daily.tar.gz", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = -1 ENOENT (No such file or directory)
> | 856   pipe([4, 5])                      = 0
> | 856   vfork()                           = 861
> | 856   close(5 <unfinished ...>
> | 861   close(4 <unfinished ...>
> | 856   <... close resumed> )             = 0
> | 861   <... close resumed> )             = 0
> | 856   write(2, "No such file or directory\n", 26 <unfinished ...>
> 
> Hi again.  You getting tired of me yet?  :-)

finaly a _real_ bug :)) (i was holding back any new releases of hdup)

grtz Miek