Running applications under GNU Screen causes the 3.18.23 kernel to stall and
the application to hang. Reverting commit af32cc7b, ie "tty: fix stall caused
by missing memory barrier in drivers/tty/n_tty.c", fixes the problem.
1. Compile 3.18.23 kernel (with specified .config [1], if necessary).
2. Boot kernel with Debian Wheezy userland.
3. Log in (console or SSH).
4. Run Screen (ie "screen").
5. Run "apt-get remove <package>".
6. Type "y<enter>" when asked "Do you want to continue [Y/n]?"
7. Observe no further application output, but eventually kernel messages:
[ 246.333488] INFO: rcu_sched detected stalls on CPUs/tasks: { 1} (detected by
0, t=5252 jiffies, g=812, c=811, q=61)
[ 246.336486] Task dump for CPU 1:
[ 246.336486] apt-get R running task 0 2040 2031 0x00000008
[ 246.336486] ffffffffffffffff ffffffff8118cabc ffff880017fec6c0
00000000a005206a
[ 246.336486] 8000000000000163 ffffc90000840000 ffff880016829028
0000c9000083ffff
[ 246.336486] ff31880016828008 ffffc90000840000 ffffc9000083ffff
ffffffff81815c98
[ 246.336486] Call Trace:
[ 246.336486] [<ffffffff8118cabc>] ? alloc_vmap_area+0x26c/0x310
[ 246.336486] [<ffffffff8109cd77>] ? select_idle_sibling+0x27/0x120
[ 246.336486] [<ffffffff8109d1d2>] ? select_task_rq_fair+0x362/0x610
[ 246.336486] [<ffffffff8101d21d>] ? native_sched_clock+0x2d/0x80
[ 246.336486] [<ffffffff8109e592>] ? enqueue_task_fair+0x512/0xac0
[ 246.336486] [<ffffffff81093b89>] ? resched_curr+0x39/0xc0
[ 246.336486] [<ffffffff81094230>] ? check_preempt_curr+0x80/0xa0
[ 246.336486] [<ffffffff81094264>] ? ttwu_do_wakeup+0x14/0xc0
[ 246.336486] [<ffffffff8109756b>] ? try_to_wake_up+0xdb/0x2f0
[ 246.336486] [<ffffffff8155d12d>] ? tty_unlock+0x1d/0x50
[ 246.336486] [<ffffffff811d520a>] ? pollwake+0x6a/0x70
[ 246.336486] [<ffffffff81097780>] ? try_to_wake_up+0x2f0/0x2f0
[ 246.336486] [<ffffffff810a81e4>] ? __wake_up_common+0x54/0x90
[ 246.336486] [<ffffffff8155b56e>] ? down_write+0xe/0x40
[ 246.336486] [<ffffffff8139b8cb>] ? tty_set_termios+0x2bb/0x390
[ 246.336486] [<ffffffff8139be70>] ? set_termios+0x190/0x270
[ 246.336486] [<ffffffff8139c116>] ? tty_mode_ioctl+0x1c6/0x540
[ 246.336486] [<ffffffff8155c692>] ? ldsem_down_read+0x32/0x210
[ 246.336486] [<ffffffff813963ee>] ? tty_ioctl+0x2ce/0xb10
[ 246.336486] [<ffffffff811d1e0c>] ? do_filp_open+0x4c/0xc0
[ 246.336486] [<ffffffff811d41e3>] ? do_vfs_ioctl+0x83/0x500
[ 246.336486] [<ffffffff81078b77>] ? recalc_sigpending+0x17/0x50
[ 246.336486] [<ffffffff81079985>] ? __set_task_blocked+0x35/0x80
[ 246.336486] [<ffffffff8107c32d>] ? __set_current_blocked+0x3d/0x70
[ 246.336486] [<ffffffff811d4701>] ? SyS_ioctl+0xa1/0xc0
[ 246.336486] [<ffffffff8107c53e>] ? SyS_rt_sigprocmask+0x8e/0xc0
[ 246.336486] [<ffffffff8155d4cd>] ? system_call_fastpath+0x16/0x1b
Running "lxc-start -n <container_name>" under Screen immediately triggers the
problem (before it outputs anything or the container is started) with similar
kernel messages:
[ 104.706102] INFO: rcu_sched detected stalls on CPUs/tasks: { 1} (detected by
0, t=5252 jiffies, g=695, c=694, q=49)
[ 104.708653] Task dump for CPU 1:
[ 104.708653] lxc-start R running task 0 2050 2047 0x00000008
[ 104.708653] ffff8800174e2000 0000000115922590 0000000000000000
ffff880016c00648
[ 104.708653] 0000000000000296 ffffffff8155b56e 0000000000000202
ffffffff8139b8cb
[ 104.708653] 00007f393d2a16a0 00000500810a8828 000000bf00000005
7f1c030000008a3b
[ 104.708653] Call Trace:
[ 104.708653] [<ffffffff8155b56e>] ? down_write+0xe/0x40
[ 104.708653] [<ffffffff8139b8cb>] ? tty_set_termios+0x2bb/0x390
[ 104.708653] [<ffffffff8139be70>] ? set_termios+0x190/0x270
[ 104.708653] [<ffffffff8139c116>] ? tty_mode_ioctl+0x1c6/0x540
[ 104.708653] [<ffffffff8155c692>] ? ldsem_down_read+0x32/0x210
[ 104.708653] [<ffffffff813963ee>] ? tty_ioctl+0x2ce/0xb10
[ 104.708653] [<ffffffff811c3319>] ? get_empty_filp+0xc9/0x1c0
[ 104.708653] [<ffffffff811c3434>] ? alloc_file+0x24/0xc0
[ 104.708653] [<ffffffff81205dd5>] ? anon_inode_getfile+0xd5/0x170
[ 104.708653] [<ffffffff811d41e3>] ? do_vfs_ioctl+0x83/0x500
[ 104.708653] [<ffffffff811dea18>] ? __fd_install+0x28/0x70
[ 104.708653] [<ffffffff81205ecc>] ? anon_inode_getfd+0x5c/0xa0
[ 104.708653] [<ffffffff811d4701>] ? SyS_ioctl+0xa1/0xc0
[ 104.708653] [<ffffffff8155d4cd>] ? system_call_fastpath+0x16/0x1b
I'm available for debugging (just tell me what to do) and testing if needed.
[1] http://pastebin.com/77tHG3wd
Corey
--
[email protected]
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html