Bug 50121 - Send SIGINT to a process (boblightd) result in partial kernel hang
Summary: Send SIGINT to a process (boblightd) result in partial kernel hang
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: USB (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Alan
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-11-06 07:34 UTC by snoopyf
Modified: 2014-01-23 14:13 UTC (History)
2 users (show)

See Also:
Kernel Version: 3.0.x - 3.2.x
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description snoopyf 2012-11-06 07:34:31 UTC
Hi everybody,

to realize an ambilight-clone in XBMC I use a SEDU-ambilight Box (http://www.sedu-board.de) connected to an USB-Port. This Box is identified as:

0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC

As software I use boblightd from http://code.google.com/p/boblight

This combination works just fine once boblightd is started, BUT:

Sending SIGINT to a running boblightd process ends up in an completely unusable USB Stack (every USB device can't be used, no USB-Keyboard/Mouse or Storage device). One can login with ssh but don't get back a prompt, so one can even not shutdown the system remotely.

This can be found in syslog:

Oct 28 16:29:28 hostname kernel: [243360.480133] INFO: task boblightd:2176 blocked for more than 120 seconds.
Oct 28 16:29:28 hostname kernel: [243360.480142] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Oct 28 16:29:28 hostname kernel: [243360.480149] boblightd       D ffffffff81806200     0  2176   2165 0x00000000
Oct 28 16:29:28 hostname kernel: [243360.480161]  ffff880067617c98 0000000000000082 ffff880067617c48 ffffffff8130d547
Oct 28 16:29:28 hostname kernel: [243360.480173]  ffff880067617fd8 ffff880067617fd8 ffff880067617fd8 00000000000137c0
Oct 28 16:29:28 hostname kernel: [243360.480184]  ffff880074331700 ffff8800725b0000 ffff880067617ca8 ffff8800733d6600
Oct 28 16:29:28 hostname kernel: [243360.480193] Call Trace:
Oct 28 16:29:28 hostname kernel: [243360.480210]  [<ffffffff8130d547>] ? kobject_put+0x27/0x60
Oct 28 16:29:28 hostname kernel: [243360.480222]  [<ffffffff81658f2f>] schedule+0x3f/0x60
Oct 28 16:29:28 hostname kernel: [243360.480231]  [<ffffffff81494ffd>] usb_kill_urb.part.4+0x5d/0xa0
Oct 28 16:29:28 hostname kernel: [243360.480241]  [<ffffffff8108ab80>] ? add_wait_queue+0x60/0x60
Oct 28 16:29:28 hostname kernel: [243360.480248]  [<ffffffff81495071>] usb_kill_urb+0x31/0x40
Oct 28 16:29:28 hostname kernel: [243360.480273]  [<ffffffffa0120f20>] generic_cleanup+0x50/0xe0 [usbserial]
Oct 28 16:29:28 hostname kernel: [243360.480288]  [<ffffffffa0121053>] usb_serial_generic_close+0x23/0x50 [usbserial]
Oct 28 16:29:28 hostname kernel: [243360.480301]  [<ffffffffa013b259>] ftdi_close+0x39/0x70 [ftdi_sio]
Oct 28 16:29:28 hostname kernel: [243360.480313]  [<ffffffffa011e029>] serial_down+0x29/0x30 [usbserial]
Oct 28 16:29:28 hostname kernel: [243360.480322]  [<ffffffff813c3f02>] tty_port_shutdown+0x62/0x70
Oct 28 16:29:28 hostname kernel: [243360.480330]  [<ffffffff813c4a0c>] tty_port_close+0x2c/0x60
Oct 28 16:29:28 hostname kernel: [243360.480342]  [<ffffffffa011ecc2>] serial_close+0x42/0x80 [usbserial]
Oct 28 16:29:28 hostname kernel: [243360.480352]  [<ffffffff813bc016>] tty_release+0x166/0x5c0
Oct 28 16:29:28 hostname kernel: [243360.480361]  [<ffffffff8104df53>] ? __wake_up+0x53/0x70
Oct 28 16:29:28 hostname kernel: [243360.480369]  [<ffffffff81055fad>] ? set_next_entity+0xad/0xd0
Oct 28 16:29:28 hostname kernel: [243360.480378]  [<ffffffff811794ee>] __fput+0xbe/0x210
Oct 28 16:29:28 hostname kernel: [243360.480385]  [<ffffffff81179665>] fput+0x25/0x30
Oct 28 16:29:28 hostname kernel: [243360.480392]  [<ffffffff81176206>] filp_close+0x66/0x90
Oct 28 16:29:28 hostname kernel: [243360.480399]  [<ffffffff811762e2>] sys_close+0xb2/0x120
Oct 28 16:29:28 hostname kernel: [243360.480407]  [<ffffffff81663442>] system_call_fastpath+0x16/0x1b
Oct 28 16:29:28 hostname kernel: [243360.480420] INFO: task sshd:4034 blocked for more than 120 seconds.
Oct 28 16:29:28 hostname kernel: [243360.480425] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Oct 28 16:29:28 hostname kernel: [243360.480431] sshd            D ffffffff81806200     0  4034    994 0x00000000
Oct 28 16:29:28 hostname kernel: [243360.480441]  ffff88002b43fb28 0000000000000082 ffffffff8118af00 00000000000000db
Oct 28 16:29:28 hostname kernel: [243360.480451]  ffff88002b43ffd8 ffff88002b43ffd8 ffff88002b43ffd8 00000000000137c0
Oct 28 16:29:28 hostname kernel: [243360.480461]  ffffffff81c0d020 ffff88006017dc00 ffff880000000000 ffffffff81c726e0
Oct 28 16:29:28 hostname kernel: [243360.480469] Call Trace:
Oct 28 16:29:28 hostname kernel: [243360.480478]  [<ffffffff8118af00>] ? poll_freewait+0xe0/0xe0
Oct 28 16:29:28 hostname kernel: [243360.480488]  [<ffffffff81658f2f>] schedule+0x3f/0x60
Oct 28 16:29:28 hostname kernel: [243360.480495]  [<ffffffff81659d37>] __mutex_lock_slowpath+0xd7/0x150

And - just to be complete - these are the last lines of boblightd's debug output:

(SignalHandler)                 caught SIGINT
(CClientsHandler::GetReadableFd)select() Interrupted system call
(main)                          signaling devices to stop
(CClientsHandler::Cleanup)      disconnecting clients
(CClientsHandler::Cleanup)      closing listening socket
(CClientsHandler::Cleanup)      clients handler stopped
(main)                          waiting for devices to stop
/dev/ttyUSB0 write: 5a b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a5

I filed a bug report at boblightd's Google-code site (http://code.google.com/p/boblight/issues/detail?id=51) but the deveopers there assume this as a kernel bug, so I opened a bug report here, too.
As you can see in the boblightd issue, another user has the same problem with different distro's, so this seems to be distro-independent...

Thx in advance!
Comment 1 Alan 2014-01-20 17:01:23 UTC
Is this still reproducible with recent kernels - there have been some changes in this area which have hopefully fixed various bugs.
Comment 2 snoopyf 2014-01-21 17:03:54 UTC
Since a few months now this problem didn't occour, never saw this again. So it indeed seems to be fixed.

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