Bug 106028

Summary: kdetv crashes on exit (process becomes uninterruptible sleep)
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Daniel Bertolo <daniel.bertolo>
Component: KernelAssignee: E-mail List <kernel-maintainers>
Status: RESOLVED WORKSFORME QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Beta 2   
Target Milestone: ---   
Hardware: x86   
OS: SUSE Other   
Whiteboard:
Found By: Beta-Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: dmesg after boot, before watching tv
dmesg after kdetv crashes

Description Daniel Bertolo 2005-08-20 22:32:38 UTC
I am using a bt878 (Hauppauge WinTV pro) card, configured by YaST. I can use 
kdetv perfectly without any problem (channel scan, watching, fullscreen etc. 
works). But when I exit kdetv, it crashes and its process state becomes 
"uninterruptible sleep" (state "D" in top). The sound still plays on in the 
background, the window stays open, but is cleared (freezed). System load 
increases up to 4. 
 
Logging out from KDE does not work any more. I can crash the X server 
(Alt-Ctrl-Backspace). KDM won't come up again. Shutting down the system hangs 
at "Unloading CUPS" or probably "Stopping ACPI". Both appear on the same line. 
After that only a reset helps. 
 
First, I thought it might be a problem with V4L2. But xawtv actually works 
(but uses V4L AFAIK).
Comment 1 Dirk Mueller 2005-08-21 00:13:06 UTC
check dmesg  
Comment 2 Daniel Bertolo 2005-08-22 22:07:07 UTC
Created attachment 47042 [details]
dmesg after boot, before watching tv

This is the dmesg right after the boot process. Cannot find an error while
detecting the bttv card.
Comment 3 Daniel Bertolo 2005-08-22 22:13:00 UTC
Created attachment 47044 [details]
dmesg after kdetv crashes

This is what is appended in both dmesg and messages after the crash:

bttv0: PLL can sleep, using XTAL (28636363).
bttv0: PLL: 28636363 => 35468950 .. ok
bttv0: PLL can sleep, using XTAL (28636363).
bttv0: PLL: 28636363 => 35468950 .. ok

The attachment is a call trace I generated like this:

dmesg -c
echo t > /proc/sysrq-trigger
dmesg -s 1000000 > ./foo-after
Comment 4 Dirk Mueller 2005-09-07 07:54:57 UTC
ping 
Comment 5 Gerd Hoffmann 2005-09-08 08:54:00 UTC
Not investigated yet in detail due to lack of time (vacation, was sick, whatelse
...).  kdetv seems to call into bttv from two threads in parallel (one unmapping
v4l buffers and another doing some ioctl) and trigger a deadlock that way.  No
idea why.  Probably there is no easy workaround for that.

Can you try to figure with strace which ioctl that actually is?
Comment 6 Hendrik Vogelsang 2007-04-11 14:57:48 UTC
can you still reproduce this on 10.2?

Sascha if yes can you please have a look at this?
Comment 8 Sascha Sommer 2007-04-27 07:43:55 UTC
I cannot reproduce this with 10.2. Please reopen if the problem persists.