[Logwatch] logwatch is DOA - strace -f output included from test.pl

MrC lists-logwatch at cappella.us
Thu Oct 2 14:23:31 MST 2008



Dale Morin wrote:
> Bjorn,
> 
> As you requested -
> 
> The script you provided does in fact hang, and it appears to hang at the 
> same place as logwatch.pl does.  Here is the "strace -f" output:
> 
> 
> 0> strace -f ./test.pl
...

> stat64("/usr/share/logwatch/default.conf/services", 
> {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> open("/usr/share/logwatch/default.conf/services", 
> O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|0x80000) = 3

The directory /usr/share/logwatch/default.conf/services is opened...

> fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> fcntl64(3, F_GETFD)                     = 0
> fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
> getdents64(3, /* 93 entries */, 4096)   = 3280

and 93 entries are read.

...

Later, another attempt to read another 4k buffer hangs and doesn't
return (until you Ctrl

> getdents64(3, /* 0 entries */, 4096)    = 0
> 

How many actual entries are in that directory including . and .. ?

This could be caused by a corrupted file system.  Have you force fsck'd
that file system?

If clean, it could also be a bug somewhere in the getdents64() call path
down to the file system-specific code.  There have been numerous reports
over the years of getdnents* hangs.  Which file system type is
/usr/share/logwatch/default.conf/services ?

MrC


More information about the Logwatch mailing list