2002-12-05 18:46:54

by Justin Pryzby

[permalink] [raw]
Subject: attempt to access beyond end of device

2.4.20-ac1, Debian testing.

While running `updatedb --localuser=nobody 2>/dev/null`, I receive several pages of the following message:

Dec 5 13:43:25 perseus kernel: Directory sread (sector 0x18) failed
Dec 5 13:43:25 perseus kernel: attempt to access beyond end of device
Dec 5 13:43:25 perseus kernel: 02:00: rw=0, want=12, limit=4

Some of the numbers are different sometimes. I can post my syslog if anyone is interested, but I'm not even sure if this is a kernel issue.

Disk configuration is as follows:

pryzbyj@perseus:~$ mount
/dev/hda1 on / type ext3 (rw,errors=remount-ro)
proc on /proc type proc (rw)
/dev/hda3 on /home type ext3 (rw)
/dev/hda4 on /usr/src type ext3 (rw)

Justin


2002-12-06 05:14:02

by Justin Pryzby

[permalink] [raw]
Subject: Re: attempt to access beyond end of device

Before anyone asks, no my disk is not full:

pryzbyj@perseus:/usr/src/penguin$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda1 3.7G 1.1G 2.5G 31% /
/dev/hda3 19G 349M 18G 2% /home
/dev/hda4 14G 1.5G 12G 12% /usr/src

Sizes shouldn't have changed by more than 01% since I got the error.
Interesting: rerunning `updatedb --localuser=nobody 2>/dev/null` fails to
reproduce the error.

Is the error possibly the result of filesystem corruption? I imagine that
each directory has a pointer to the disk location of each of its member
files; if that pointer were larger than the disk size, would this error
be the result?

If this is the result of filesystem corruption, it is not necessarily a
problem with ext3 or some othersuch, as I have done some *hard* shutdowns
recently (read: control-alt-backspace on a sis motherboard).

Justin