Your message dated Mon, 27 Feb 2006 07:40:26 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#353918: mount: mounted wrong filesystem
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: mount
Version: 2.12r-6
Severity: grave
Justification: could lead to unexpected data loss or corruption

My daily locate cronjob started giving me funny warnings:

/usr/bin/find: Filesystem loop detected; `//burnside-unstable' has the
same device number and inode as a directory which is 1 level higher in
the filesystem hierarchy.

Weird.

So I investigated further.  I had just upgraded mount from version
2.12p-8 to 2.12r-6.

My /etc/fstab reads as follows (unedited in case this is important):

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/hda3       /               ext3    defaults,errors=remount-ro 0       1
/dev/hda5       none            swap    sw              0       0
/dev/hdd        /media/cdrom0   iso9660 ro,user,noauto  0       0
/dev/hdc        /media/dvd      iso9660 ro,user,noauto  0       0
/dev/hdc        /media/dvdudf   udf     ro,user,noauto  0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0
/dev/hda2       /burnside-unstable   ext3    defaults        0       2
/dev/hda1       /ntfs           ntfs    ro,umask=0222   0       0
192.168.0.3:/   /polya          nfs     defaults,noauto 0       0
proc-sid /chroot/unstable/proc proc none 0 0
/dev/sda1       /mnt/memstick   vfat    rw,user,noauto  0       0



I ran the following commands:

burnside:~ # ls -l /etc/apt/sources.list
-rw-r--r-- 1 root root 916 Dec  8 23:30 /burnside-unstable/etc/apt/sources.list
burnside:~ # umount /burnside-unstable/
burnside:~ # strace -f mount /burnside-unstable/ > /tmp/mount.fstab 2>&1
burnside:~ # ls -l /burnside-unstable/etc/apt/sources.list
-rw-r--r--  1 root root 916 Dec  8 23:30 /burnside-unstable/etc/apt/sources.list
burnside:~ # umount /burnside-unstable/
burnside:~ # strace -f mount -t ext3 /dev/hda2 /burnside-unstable > 
/tmp/mount.cmd 2>&1
burnside:~ # ls -l /burnside-unstable/etc/apt/sources.list
-rw-r--r-- 1 root root 916 Dec  8 23:30 /burnside-unstable/etc/apt/sources.list
burnside:~ # mount
/dev/hda3 on / type ext3 (rw,errors=remount-ro)
/dev/hda1 on /ntfs type ntfs (ro,umask=0222)
proc-sid on /chroot/unstable/proc type proc (rw,none)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
tmpfs on /dev type tmpfs (rw,size=10M,mode=0755)
/dev/hda2 on /burnside-unstable type ext3 (rw)
burnside:~ # perl -e 'print 
join(":",stat("/burnside-unstable/etc/apt/sources.list")),"\n"'
770:2883606:33188:1:0:0:0:916:1140557993:1134084657:1134084657:4096:8
burnside:~ # perl -e 'print join(":",stat("/etc/apt/sources.list")),"\n"'
770:2883606:33188:1:0:0:0:916:1140557993:1134084657:1134084657:4096:8

So even though /dev/hda2 and /dev/hda3 are different devices, mount is
ending up mounting /dev/hda3 instead of /dev/hda2.

The strace output is included.  The output of cfdisk -P s is:

Partition Table for /dev/hda

               First       Last
 # Type       Sector      Sector   Offset    Length   Filesystem Type (ID) Flag
-- ------- ----------- ----------- ------ ----------- -------------------- ----
 1 Primary           0    51199154     63    51199155 HPFS/NTFS (07)       Boot
 2 Primary    51199155   119555729      0    68356575 Linux (83)           None
   None      119555730   135171791*     0    15616062*Unusable             None
 3 Primary   135171792*  155252159      0    20080368*Linux (83)           None
 4 Primary   155252160   156296384      0     1044225 W95 Ext'd (LBA) (0F) None
 5 Logical   155252160   156296384     63     1044225 Linux swap / So (82) None


$ uname -a
Linux burnside 2.6.15-1-k7 #1 Fri Feb 10 16:09:44 UTC 2006 i686 GNU/Linux

It's also slightly sporadic: I managed to mount /dev/hda2 correctly
from a command line once this evening, but it failed every other time
with exactly the same error.

Mystified,

   Julian
execve("/bin/mount", ["mount", "/burnside-unstable/"], [/* 11 vars */]) = 0
uname({sys="Linux", node="burnside", ...}) = 0
brk(0)                                  = 0x805a000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=92674, ...}) = 0
old_mmap(NULL, 92674, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f13000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libblkid.so.1", O_RDONLY)    = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\36\0\000"..., 512) = 
512
fstat64(3, {st_mode=S_IFREG|0644, st_size=28556, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7f12000
old_mmap(NULL, 31576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0xb7f0a000
old_mmap(0xb7f11000, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0xb7f11000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libuuid.so.1", O_RDONLY)     = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\n\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=8696, ...}) = 0
old_mmap(NULL, 11680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0xb7f07000
old_mmap(0xb7f09000, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xb7f09000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260O\1"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1262704, ...}) = 0
old_mmap(NULL, 1268668, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0xb7dd1000
old_mmap(0xb7efd000, 32768, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12c000) = 0xb7efd000
old_mmap(0xb7f05000, 7100, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f05000
close(3)                                = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7dd0000
mprotect(0xb7efd000, 20480, PROT_READ)  = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7dd06c0, limit:1048575, 
seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, 
useable:1}) = 0
munmap(0xb7f13000, 92674)               = 0
brk(0)                                  = 0x805a000
brk(0x807b000)                          = 0x807b000
umask(022)                              = 022
open("/dev/null", O_RDWR|O_LARGEFILE)   = 3
close(3)                                = 0
getuid32()                              = 0
geteuid32()                             = 0
getgid32()                              = 0
getegid32()                             = 0
prctl(0x3, 0, 0, 0, 0)                  = 1
open("/etc/blkid.tab", O_RDONLY)        = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=72, ...}) = 0
fcntl64(3, F_GETFL)                     = 0 (flags O_RDONLY)
fstat64(3, {st_mode=S_IFREG|0644, st_size=72, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7f29000
_llseek(3, 0, [0], SEEK_CUR)            = 0
read(3, "<device DEVNO=\"0x0305\" TIME=\"113"..., 4096) = 72
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xb7f29000, 4096)                = 0
getuid32()                              = 0
geteuid32()                             = 0
lstat64("/etc/mtab", {st_mode=S_IFREG|0644, st_size=325, ...}) = 0
readlink("/burnside-unstable", 0xbff3a5fb, 4096) = -1 EINVAL (Invalid argument)
umask(077)                              = 022
open("/etc/fstab", O_RDONLY|O_LARGEFILE) = 3
umask(022)                              = 077
fstat64(3, {st_mode=S_IFREG|0644, st_size=887, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7f29000
read(3, "# /etc/fstab: static file system"..., 4096) = 887
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xb7f29000, 4096)                = 0
stat64("/sbin/mount.ext3", 0xbff3c40c)  = -1 ENOENT (No such file or directory)
rt_sigprocmask(SIG_BLOCK, ~[TRAP SEGV RTMIN RT_1], NULL, 8) = 0
mount("/dev/hda2", "/burnside-unstable", "ext3", 
MS_POSIXACL|MS_ACTIVE|MS_NOUSER|0xec0000, 0x805a300) = 0
readlink("/dev", 0xbff3a46b, 4096)      = -1 EINVAL (Invalid argument)
readlink("/dev/hda2", 0xbff3a46b, 4096) = -1 EINVAL (Invalid argument)
readlink("/burnside-unstable", 0xbff3a46b, 4096) = -1 EINVAL (Invalid argument)
open("/etc/mtab", O_RDWR|O_CREAT|O_LARGEFILE, 0644) = 3
close(3)                                = 0
rt_sigaction(SIGHUP, {0x804ddfe, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGINT, {0x804ddfe, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {0x804ddfe, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGILL, {0x804ddfe, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGTRAP, {0x804ddfe, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGABRT, {0x804ddfe, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGBUS, {0x804ddfe, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGFPE, {0x804ddfe, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGKILL, {0x804ddfe, ~[RTMIN RT_1], 0}, NULL, 8) = -1 EINVAL 
(Invalid argument)
rt_sigaction(SIGUSR1, {0x804ddfe, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGSEGV, {0x804ddfe, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGUSR2, {0x804ddfe, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGPIPE, {0x804ddfe, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGALRM, {0x804de1e, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGTERM, {0x804ddfe, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGSTKFLT, {0x804ddfe, ~[RTMIN RT_1], 0}, NULL, 8) = 0
getpid()                                = 23368
open("/etc/mtab~23368", O_WRONLY|O_CREAT|O_LARGEFILE, 0600) = 3
close(3)                                = 0
link("/etc/mtab~23368", "/etc/mtab~")   = 0
unlink("/etc/mtab~23368")               = 0
open("/etc/mtab~", O_WRONLY|O_LARGEFILE) = 3
fcntl64(3, F_SETLK64, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}, 
0xbff3c400) = 0
close(3)                                = 0
umask(077)                              = 022
open("/etc/mtab", O_RDWR|O_APPEND|O_CREAT|O_LARGEFILE, 0666) = 3
umask(022)                              = 077
fstat64(3, {st_mode=S_IFREG|0644, st_size=325, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7f29000
fstat64(3, {st_mode=S_IFREG|0644, st_size=325, ...}) = 0
_llseek(3, 0, [0], SEEK_SET)            = 0
read(3, "/dev/hda3 / ext3 rw,errors=remou"..., 325) = 325
write(3, "/dev/hda2 /burnside-unstable ext"..., 41) = 41
close(3)                                = 0
munmap(0xb7f29000, 4096)                = 0
unlink("/etc/mtab~")                    = 0
rt_sigprocmask(SIG_UNBLOCK, ~[TRAP SEGV RTMIN RT_1], NULL, 8) = 0
exit_group(0)                           = ?

--- End Message ---
--- Begin Message ---
On Sun, Feb 26, 2006 at 06:24:44PM -0700, LaMont Jones wrote:
> On Sun, Feb 26, 2006 at 10:32:55PM +0000, Julian Gilbey wrote:
> > On Fri, Feb 24, 2006 at 10:59:05AM -0700, LaMont Jones wrote:
> > > tag 353918 + unreproducible
> > I understand that you can't reproduce it!  It's really weird, but it's
> > now happening consistently on my machine.  Is there anything I can do
> > to help you track this one down?  Would you like a login on my machine
> > so you can poke around?
> 
> Does downgrading the kernel help?
> 
> lamont

No, but installing grub correctly does.  If one has grub thinking it's
installing from the wrong partition, and not matching /etc/fstab or
anything else, strange things happen....

Closing this report, sorry for the noise...

   Julian

--- End Message ---

Reply via email to