Hello all

I have the problem, that sometimes the following remount command is
hanging:
mount / -o remount,udba=reval

Unfortunately it doesn't happen everytime. Normally I execute the
following steps in a script:
mount / -o remount,udba=notify
mount /mnt/rootfs -o remount,rw
<update some files in /mnt/rootfs>
mount /mnt/rootfs -o remount,ro
mount / -o remount,udba=reval

I can faster reproduce it with the following loop:
while true; do
  mount / -o remount,udba=notify
  mount / -o remount,udba=reval # this is the command which will hang
  sleep 1
done
(Remount of /mnt/rootfs is not necessary)

If the hanger happens, the only thing I can do is to reset the machine
(or "echo b > /proc/sysrq-trigger"). A normal reboot is not possible
anymore.

I tried to get some more information with "strace":
execve("/bin/mount", ["mount", "-i", "-n", "-t", "aufs", "-o",
"rw,remount,udba=reval", "aufs", "/"], [/* 24 vars */]) = 0
brk(0)                                  = 0x8057000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb779c000
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=21200, ...}) = 0
mmap2(NULL, 21200, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7796000
close(3)                                = 0
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\0
=\0\0004\0\0\0D"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=96380, ...}) = 0
mmap2(NULL, 99212, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0xb777d000
mmap2(0xb7793000, 12288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15) = 0xb7793000
close(3)                                = 0
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\0P\21\0\0004\0\0\0\250"..
., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=13872, ...}) = 0
mmap2(NULL, 16604, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0xb7778000
mmap2(0xb777b000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2) = 0xb777b000
close(3)                                = 0
open("/lib/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\20m\1\0004\0\0\0\24"...
, 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1437796, ...}) = 0
mmap2(NULL, 1444136, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xb7617000
mmap2(0xb7772000, 12288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15b) = 0xb7772000
mmap2(0xb7775000, 10536, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7775000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7616000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7615000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7616b60,
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb7772000, 8192, PROT_READ)   = 0
mprotect(0xb777b000, 4096, PROT_READ)   = 0
mprotect(0xb7793000, 8192, PROT_READ)   = 0
mprotect(0x8054000, 4096, PROT_READ)    = 0
mprotect(0xb77ba000, 4096, PROT_READ)   = 0
munmap(0xb7796000, 21200)               = 0
brk(0)                                  = 0x8057000
brk(0x8078000)                          = 0x8078000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1527552, ...}) = 0
mmap2(NULL, 1527552, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb74a0000
close(3)                                = 0
umask(022)                              = 022
open("/dev/null", O_RDWR|O_LARGEFILE)   = 3
close(3)                                = 0
getuid32()                              = 0
geteuid32()                             = 0
getcwd("/root"..., 4095)                = 6
readlink("/root/aufs", 0xbfc5c9df, 4096) = -1 ENOENT (No such file or
directory)
rt_sigprocmask(SIG_BLOCK, ~[TRAP SEGV RTMIN RT_1], NULL, 8) = 0
mount("aufs", "/", 0x80580b0, MS_MGC_VAL|MS_REMOUNT, "udba=reval"

I think this doesn't help a lot. :-(

I can reproducte the problem on another system as well. But
unfortunately, there are some systems, were I am unable to reproduce it!

Here are some more informations about my setup:

AUFS Mount command:
mount -v -t aufs -o
br:/rwdisk=rw:/overlay=ro:/rootfs=ro,nowarn_perm,udba=reval aufs
/realroot
(/realroot ist the later /)

# cat /proc/mounts (after hanging)
rootfs / rootfs rw 0 0
/dev/sda2 /mnt/overlay ext2 ro,noatime,errors=continue 0 0
/dev/sda3 /mnt/rootfs ext2 ro,noatime,errors=continue 0 0
/dev/sda6 /mnt/rwdisk ext3
rw,noatime,errors=continue,barrier=1,data=writeback 0 0
aufs / aufs rw,relatime,si=5094660f,udba=notify,nowarn_perm 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
udev /dev tmpfs rw,nosuid,relatime,size=10240k,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0
none /tmp tmpfs rw,relatime 0 0
none /dev/shm tmpfs rw,nosuid,nodev,noexec,relatime 0 0
usbfs /proc/bus/usb usbfs
rw,nosuid,noexec,relatime,devgid=85,devmode=664 0 0

# find /sys/module/aufs/ -type f -exec grep -H "" {} \;
/sys/module/aufs/parameters/brs:1
/sys/module/aufs/version:3.2-20120109
/sys/module/aufs/srcversion:1C0B4F37425C03DFAF96190
/sys/module/aufs/initstate:live
grep: /sys/module/aufs/uevent: Permission denied
/sys/module/aufs/refcnt:47
/sys/module/aufs/sections/.note.gnu.build-id:0xdff9efcc
/sys/module/aufs/sections/.text:0xdff83000
/sys/module/aufs/sections/.exit.text:0xdff9ef20
/sys/module/aufs/sections/.init.text:0xdffa6000
/sys/module/aufs/sections/.fixup:0xdff9ef74
/sys/module/aufs/sections/.altinstr_replacement:0xdff9ef7e
/sys/module/aufs/sections/.rodata:0xdff9f000
/sys/module/aufs/sections/.rodata.str1.1:0xdff9fb65
/sys/module/aufs/sections/__param:0xdffa02ac
/sys/module/aufs/sections/.smp_locks:0xdffa02bc
/sys/module/aufs/sections/.rodata.str1.4:0xdffa05bc
/sys/module/aufs/sections/__ex_table:0xdffa1fc4
/sys/module/aufs/sections/.altinstructions:0xdffa1fd4
/sys/module/aufs/sections/__bug_table:0xdffa210c
/sys/module/aufs/sections/.data:0xdffa2200
/sys/module/aufs/sections/.gnu.linkonce.this_module:0xdffa2880
/sys/module/aufs/sections/.bss:0xdffa29e0
/sys/module/aufs/sections/.symtab:0xdffa63c4
/sys/module/aufs/sections/.strtab:0xdffa8484
Binary file /sys/module/aufs/notes/.note.gnu.build-id matches

# find /sys/fs/aufs/ -type f -exec grep -H "" {} \;
/sys/fs/aufs/config:CONFIG_AUFS_FS=m
/sys/fs/aufs/config:CONFIG_AUFS_BRANCH_MAX_127=y
/sys/fs/aufs/config:CONFIG_AUFS_SBILIST=y
/sys/fs/aufs/config:CONFIG_AUFS_HNOTIFY=y
/sys/fs/aufs/config:CONFIG_AUFS_HFSNOTIFY=y
/sys/fs/aufs/config:CONFIG_AUFS_BR_RAMFS=y
/sys/fs/aufs/config:CONFIG_AUFS_BDEV_LOOP=y
/sys/fs/aufs/si_5094660f/xi_path:/mnt/rwdisk/.aufs.xino
/sys/fs/aufs/si_5094660f/br0:/mnt/rwdisk=rw
/sys/fs/aufs/si_5094660f/br1:/mnt/overlay=ro
/sys/fs/aufs/si_5094660f/br2:/mnt/rootfs=ro

# uname -a
Linux chgut11fw01 3.2.1-SMP #1 SMP Wed Jan 18 16:21:01 CET 2012 i686
Intel(R) Core(TM)2 Duo CPU E4600 @ 2.40GHz GenuineIntel GNU/Linux
(Vanilla kernel)

# dmesg | grep aufs
aufs 3.2-20120109

GCC on Build System:
# gcc -v
Using built-in specs.
Target: i586-pc-linux-gnu
Configured with:
/var/tmp/portage/sys-devel/gcc-4.4.4-r2/work/gcc-4.4.4/configure
--prefix=/usr --bindir=/usr/i586-pc-linux-gnu/gcc-bin/4.4.4
--includedir=/usr/lib/gcc/i586-pc-linux-gnu/4.4.4/include
--datadir=/usr/share/gcc-data/i586-pc-linux-gnu/4.4.4
--mandir=/usr/share/gcc-data/i586-pc-linux-gnu/4.4.4/man
--infodir=/usr/share/gcc-data/i586-pc-linux-gnu/4.4.4/info
--with-gxx-include-dir=/usr/lib/gcc/i586-pc-linux-gnu/4.4.4/include/g++-
v4 --host=i586-pc-linux-gnu --build=i586-pc-linux-gnu --disable-altivec
--disable-fixed-point --without-ppl --without-cloog --enable-nls
--without-included-gettext --with-system-zlib --disable-werror
--enable-secureplt --disable-multilib --enable-libmudflap
--disable-libssp --enable-libgomp
--with-python-dir=/share/gcc-data/i586-pc-linux-gnu/4.4.4/python
--enable-checking=release --disable-libgcj --with-arch=i586
--enable-languages=c,c++,fortran --enable-shared --enable-threads=posix
--enable-__cxa_atexit --enable-clocale=gnu
--with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.4.4-r2
p1.3, pie-0.4.5'
Thread model: posix
gcc version 4.4.4 (Gentoo 4.4.4-r2 p1.3, pie-0.4.5)

Please let me know, if you need more information.
Thanks for any help.

Best regards
Elmar

Attachment: config.gz
Description: config.gz

Attachment: smime.p7s
Description: S/MIME cryptographic signature

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d

Reply via email to