Bug 16206 - PROBLEM: PPP and other serial port related application hangs in kernel space
PROBLEM: PPP and other serial port related application hangs in kernel space
Status: RESOLVED CODE_FIX
Product: Drivers
Classification: Unclassified
Component: Other
All Linux
: P1 normal
Assigned To: drivers_other
:
Depends on:
Blocks: 15310
  Show dependency treegraph
 
Reported: 2010-06-14 14:37 UTC by Maciej Rutecki
Modified: 2012-06-27 13:32 UTC (History)
5 users (show)

See Also:
Kernel Version: 2.6.34
Tree: Mainline
Regression: Yes


Attachments

Description Maciej Rutecki 2010-06-14 14:37:16 UTC
Subject    : PROBLEM: PPP and other serial port related application hangs in kernel space
Submitter  : Ales Teska <ales.teska@gmail.com>
Date       : 2010-06-09 20:46
Message-ID : 900E3B14-5B92-4A37-9581-049DB40F4D1C@gmail.com
References : http://marc.info/?l=linux-kernel&m=127611640301071&w=2

This entry is being used for tracking a regression from 2.6.33.  Please don't
close it until the problem is fixed in the mainline.
Comment 1 Chuck Ebbert 2010-07-23 22:23:28 UTC
This patch went in 2.6.34:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff_plain;h=638b9648ab51c9c549ff5735d3de519ef6199df3

"tty: Fix the ldisc hangup race"
Comment 2 Chuck Ebbert 2010-07-23 22:28:10 UTC
Warning message from the original report:
Line 1278 is:
        WARN_ON(!test_bit(TTY_LDISC, &tty->flags));

[ 1673.660876] ------------[ cut here ]------------
[ 1673.661471] WARNING: at drivers/char/tty_io.c:1278 tty_open+0x213/0x451()
[ 1673.662358] Modules linked in: ppp_deflate zlib_deflate bsd_comp ppp_async crc_ccitt ppp_generic slhc ipv6 nvram msr cpuid ledtrig_timer ledtrig_heartbeat ledtrig_default_on geodewdt lm90 hwmon scx200_acb option usbserial ehci_hcd ohci_hcd via_rhine usbcore leds_alix2 mii
[ 1673.689168] Pid: 1275, comm: ufoprobe_client Not tainted 2.6.34-486-exiprobes #1
[ 1673.690452] Call Trace:
[ 1673.690947]  [<c10e93af>] ? tty_open+0x213/0x451
[ 1673.691926]  [<c1018f51>] warn_slowpath_common+0x45/0x5c
[ 1673.693006]  [<c1018f75>] warn_slowpath_null+0xd/0x10
[ 1673.694293]  [<c10e93af>] tty_open+0x213/0x451
[ 1673.694755]  [<c1068105>] chrdev_open+0xe3/0x126
[ 1673.695733]  [<c10648e5>] __dentry_open+0x123/0x1f7
[ 1673.697472]  [<c10655f8>] nameidata_to_filp+0x29/0x3d
[ 1673.697726]  [<c1068022>] ? chrdev_open+0x0/0x126
[ 1673.698957]  [<c106d961>] do_last+0x361/0x474
[ 1673.700138]  [<c1066861>] ? percpu_counter_add+0x23/0x2f
[ 1673.701189]  [<c106ed97>] do_filp_open+0x165/0x3b5
[ 1673.701700]  [<c10212e8>] ? update_process_times+0x3a/0x3e
[ 1673.703295]  [<c1075c1b>] ? spin_unlock+0x17/0x22
[ 1673.704537]  [<c10646ac>] do_sys_open+0x4a/0xec
[ 1673.705244]  [<c1064790>] sys_open+0x1e/0x26
[ 1673.706190]  [<c118c835>] syscall_call+0x7/0xb
[ 1673.706644]  [<c1180000>] ? xfrm_add_pol_expire+0x7a/0x166
[ 1673.708205] ---[ end trace 69d4cf5dc236c7af ]---
Comment 3 Chuck Ebbert 2010-07-23 22:30:30 UTC
[  841.121579] INFO: task pppd:1390 blocked for more than 120 seconds.
[  841.122613] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  841.123578] pppd          D cec53ea4     0  1390   1139 0x00000000
[  841.126502]  cec53ebc 00000046 c1037b30 cec53ea4 c1198bf6 cec29070 cec291f8 cfdbc520
[  841.134781]  c10f7049 cec53ebc 00000000 cec51800 cec53ec4 cec53ee4 c10f79fb 00000000
[  841.143007]  cec29070 c102b471 c13dc904 c13dc904 d0c35211 cefc6aa0 cec51800 cec53f1c
[  841.151250] Call Trace:
[  841.151815]  [<c1037b30>] ? trace_hardirqs_on+0xb/0xd
[  841.152755]  [<c1198bf6>] ? _raw_spin_unlock_irqrestore+0x53/0x60
[  841.153657]  [<c10f7049>] ? spin_unlock_irqrestore+0x8/0xa
[  841.154601]  [<c10f79fb>] tty_ldisc_ref_wait+0x5d/0x75
[  841.155265]  [<c102b471>] ? autoremove_wake_function+0x0/0x33
[  841.156456]  [<d0c35211>] ? serial_ioctl+0x0/0x68 [usbserial]
[  841.157913]  [<c10f3c54>] tty_ioctl+0x6d1/0x731
[  841.158834]  [<c102fa77>] ? sched_clock_cpu+0xac/0xbc
[  841.159658]  [<c10f3583>] ? tty_ioctl+0x0/0x731
[  841.160922]  [<c1077e6c>] vfs_ioctl+0x22/0x86
[  841.161836]  [<c10783ba>] do_vfs_ioctl+0x45a/0x4a5
[  841.162746]  [<c1036a5e>] ? put_lock_stats+0xd/0x21
[  841.163699]  [<c1036ac6>] ? lock_release_holdtime+0x54/0x5a
[  841.164530]  [<c100fd87>] ? do_page_fault+0x27c/0x285
[  841.165898]  [<c102e978>] ? up_read+0x16/0x28
[  841.166820]  [<c1078431>] sys_ioctl+0x2c/0x45
[  841.167452]  [<c1198e65>] syscall_call+0x7/0xb
[  841.168403] no locks held by pppd/1390.
Comment 4 Yaacov Fenster 2011-07-04 08:40:56 UTC
Any update on this bug? I am encountering it on 2.6.32.

Note You need to log in before you can comment on or make changes to this bug.