All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Toralf Förster" <toralf.foerster@gmx.de>
To: UML devel <user-mode-linux-devel@lists.sourceforge.net>
Subject: [uml-devel] fuzz tested UML hangs while using NFS files as victim files - UML issue or NFS issue ?
Date: Fri, 05 Sep 2014 17:27:40 +0200	[thread overview]
Message-ID: <5409D66C.8000509@gmx.de> (raw)

Within a 32 bit stable Gentoo user mode linux guest system I do experience sometimes that trinity don't exit after it completed the maximum number of jobs.
This might be either an UML, a trinity or a NFS issue (I use NFS victims files). Now I'm wondering where do report it ? (Or is it a trinity issue ?)

UML guest kernel is v3.17-rc3-94-gb7fece1, host is 3.16.1.


The trinity log gives :
...
child0:4020] <timed out>
[child0:4020] <timed out>
[main] Bailing main loop because Completed maximum number of operations..
[watchdog] [3628] Watchdog exiting because Completed maximum number of operations..



Within the UML guest I do see this :


trinity ~ # ps -ef | grep trinity
tfoerste  3415  3414  0 16:33 ?        00:00:12 bash -c logger "1#-1, M=/mnt/nfsv3"; cd ~; sudo su -c 'if [[ -d ./t3 ]]; then sudo chmod -R a+rwx ./t3; sudo rm -rf ./t3; fi'; mkdir ./t3; cd ./t3; if [[ -n /mnt/nfsv3 ]]; then if [[ -d /mnt/nfsv3/victims/v1 ]]; then sudo chmod -R a+rwx /mnt/nfsv3/victims/v1; sudo rm -rf /mnt/nfsv3/victims/v1 || exit; fi; mkdir -p /mnt/nfsv3/victims/v1/v2; for i in $(seq -w 0 99); do touch /mnt/nfsv3/victims/v1/v2/f$i; mkdir /mnt/nfsv3/victims/v1/v2/d$i; done; fi; MALLOC_CHECK_=2 trinity -C 2 -N 100000 -q -x mremap -V /mnt/nfsv3/victims/v1/v2
tfoerste  3627  3415  0 16:33 ?        00:00:00 trinity -C 2 -N 100000 -q -x mremap -V /mnt/nfsv3/victims/v1/v2
tfoerste  3628  3627  0 16:33 ?        00:00:04 [trinity-watchdo] <defunct>
tfoerste  3629  3627 36 16:33 ?        00:15:12 [trinity-main]
root      4083  4077  0 17:15 pts/0    00:00:00 grep --colour=auto trinity

trinity ~ # cat /proc/3629/stack                                                                                                                       
[<0805f8b4>] __switch_to+0x44/0x70                                                                                                                     
[<08503de4>] __schedule+0x2f4/0x3a0                                                                                                                    
[<08097ada>] __cond_resched+0x1a/0x30                                                                                                                  
[<08503fc1>] _cond_resched+0x31/0x50                                                                                                                   
[<080dbd92>] truncate_inode_pages_range+0x192/0x650
[<080dc2e2>] truncate_inode_pages_final+0x52/0x60
[<081ec088>] nfs_evict_inode+0x18/0x30
[<08125dfd>] evict+0xdd/0x1b0
[<08126a7d>] iput+0x16d/0x180
[<081e6e84>] nfs_dentry_iput+0x44/0x50
[<0812268a>] __dentry_kill+0x12a/0x200
[<08122eb6>] dput+0x156/0x180
[<0810eb65>] __fput+0x175/0x190
[<0810ebbb>] ____fput+0xb/0x10
[<080928f6>] task_work_run+0x76/0x90
[<0807ea6d>] do_exit+0x32d/0x940
[<0807f162>] do_group_exit+0xa2/0xf0
[<0807f1c7>] SyS_exit_group+0x17/0x20
[<08062990>] handle_syscall+0x60/0x80
[<0807473c>] userspace+0x46c/0x5e0
[<0805f720>] fork_handler+0x60/0x70
[<ffffffff>] 0xffffffff

trinity ~ # cat /proc/3628/stack
[<0805f8b4>] __switch_to+0x44/0x70
[<08503de4>] __schedule+0x2f4/0x3a0
[<08503ee5>] schedule+0x55/0x60
[<0807efde>] do_exit+0x89e/0x940
[<0807f162>] do_group_exit+0xa2/0xf0
[<0807f1c7>] SyS_exit_group+0x17/0x20
[<08062990>] handle_syscall+0x60/0x80
[<0807473c>] userspace+0x46c/0x5e0
[<0805f720>] fork_handler+0x60/0x70
[<ffffffff>] 0xffffffff

trinity ~ # cat /proc/3627/stack
[<0805f8b4>] __switch_to+0x44/0x70
[<08503de4>] __schedule+0x2f4/0x3a0
[<08503ee5>] schedule+0x55/0x60
[<0807e607>] do_wait+0x177/0x200
[<0807f62d>] SyS_wait4+0xbd/0xe0
[<0807f677>] SyS_waitpid+0x27/0x30
[<08062990>] handle_syscall+0x60/0x80
[<0807473c>] userspace+0x46c/0x5e0
[<0805f720>] fork_handler+0x60/0x70
[<ffffffff>] 0xffffffff



At the host I do see 1 linux process with 100% CPU this :

$ date; pgrep -af 'linux earlyprintk' | cut -f1 -d' ' | xargs -n1 gdb /home/tfoerste/devel/linux/linux -n -batch -ex 'thread apply all bt'
Fri Sep  5 17:21:05 CEST 2014

warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
lru_add_drain_cpu (cpu=0) at mm/swap.c:798
798     {

Thread 1 (process 5266):
#0  lru_add_drain_cpu (cpu=0) at mm/swap.c:798
#1  0x080db7a6 in lru_add_drain () at mm/swap.c:849
#2  __pagevec_release (pvec=0x8551fcb0) at mm/swap.c:968
#3  0x080dbd8d in pagevec_release (pvec=<optimized out>) at include/linux/pagevec.h:69
#4  truncate_inode_pages_range (mapping=0x8587421c, lstart=0, lend=-8840006756412162049) at mm/truncate.c:308
#5  0x080dc2e2 in truncate_inode_pages (lstart=<optimized out>, mapping=<optimized out>) at mm/truncate.c:414
#6  truncate_inode_pages_final (mapping=0x8587421c) at mm/truncate.c:460
#7  0x081ec088 in nfs_evict_inode (inode=0x85874144) at fs/nfs/inode.c:131
#8  0x08125dfd in evict (inode=0x85874144) at fs/inode.c:551
#9  0x08126a7d in iput_final (inode=<optimized out>) at fs/inode.c:1419
#10 iput (inode=0x85874144) at fs/inode.c:1437
#11 0x081e6e84 in nfs_dentry_iput (dentry=0xb8c1ec0, inode=0x85874144) at fs/nfs/dir.c:1320
#12 0x0812268a in dentry_iput (dentry=<optimized out>) at fs/dcache.c:290
#13 __dentry_kill (dentry=0x85b6b640) at fs/dcache.c:477
#14 0x08122eb6 in dentry_kill (dentry=<optimized out>) at fs/dcache.c:521
#15 dput (dentry=0x678683c0) at fs/dcache.c:617
#16 0x0810eb65 in __fput (file=0x857bf900) at fs/file_table.c:234
#17 0x0810ebbb in ____fput (work=0x857bf900) at fs/file_table.c:252
#18 0x080928f6 in task_work_run () at kernel/task_work.c:123
#19 0x0807ea6d in exit_task_work (task=<optimized out>) at include/linux/task_work.h:21
#20 do_exit (code=-2065204480) at kernel/exit.c:758
#21 0x0807f162 in do_group_exit (exit_code=0) at kernel/exit.c:886
#22 0x0807f1c7 in SYSC_exit_group (error_code=<optimized out>) at kernel/exit.c:897
#23 SyS_exit_group (error_code=0) at kernel/exit.c:895
#24 0x08062990 in handle_syscall (r=0x84ec3530) at arch/um/kernel/skas/syscall.c:35
#25 0x0807473c in handle_trap (local_using_sysemu=<optimized out>, regs=<optimized out>, pid=<optimized out>) at arch/um/os-Linux/skas/process.c:193
#26 userspace (regs=0x84ec3530) at arch/um/os-Linux/skas/process.c:426
#27 0x0805f720 in fork_handler () at arch/um/kernel/process.c:149
#28 0x5a5a5a5a in ?? ()



Now the guests is completely unresponsive while I'm running this command :

trinity ~ # gdb trinity 3629 -batch -ex 'thread apply all bt'

--
Toralf
pgp key: 0076 E94E


------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel


                 reply	other threads:[~2014-09-05 15:27 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5409D66C.8000509@gmx.de \
    --to=toralf.foerster@gmx.de \
    --cc=user-mode-linux-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.