Bug 516776 - unplugging a usb webcam causes trouble
unplugging a usb webcam causes trouble
Status: CLOSED WONTFIX
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
12
All Linux
low Severity medium
: ---
: ---
Assigned To: Pete Zaitcev
Fedora Extras Quality Assurance
:
Depends On:
Blocks: fitandfinish
  Show dependency treegraph
 
Reported: 2009-08-11 09:45 EDT by Matthias Clasen
Modified: 2013-01-10 03:01 EST (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-12-05 01:37:50 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Matthias Clasen 2009-08-11 09:45:33 EDT
I had the webcam microphone selected as input in the sound capplet, and it seemed to work fine. Then I unplugged it, and things went bad:

Aug 11 09:35:17 planemask kernel: ALSA sound/usb/usbaudio.c:354: frame 0 active: -84
Aug 11 09:35:17 planemask kernel: ALSA sound/usb/usbaudio.c:354: frame 0 active: -84
Aug 11 09:35:17 planemask kernel: ALSA sound/usb/usbaudio.c:354: frame 0 active: -84
Aug 11 09:35:17 planemask kernel: usb 5-2: USB disconnect, address 2
Aug 11 09:35:17 planemask kernel: ALSA sound/usb/usbaudio.c:354: frame 0 active: -84
Aug 11 09:35:17 planemask kernel: ALSA sound/usb/usbaudio.c:708: cannot submit urb (err = -19)
Aug 11 09:35:17 planemask kernel: STV06xx: Disconnecting the stv06xx device
Aug 11 09:35:17 planemask kernel: ALSA sound/usb/usbaudio.c:882: cannot submit datapipe for urb 0, error -19: no device
Aug 11 09:35:17 planemask pulseaudio[1885]: alsa-source.c: ALSA woke us up to read new data from the device, but there was actually nothing to read!
Aug 11 09:35:17 planemask pulseaudio[1885]: alsa-source.c: Most likely this is a bug in the ALSA driver 'snd_usb_audio'. Please report this issue to the ALSA developers.
Aug 11 09:35:17 planemask pulseaudio[1885]: alsa-source.c: We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail.
Aug 11 09:35:17 planemask kernel: gspca: disconnect complete
Aug 11 09:35:17 planemask pulseaudio[1885]: alsa-util.c: Got POLLNVAL from ALSA
Aug 11 09:35:17 planemask pulseaudio[1885]: alsa-util.c: Could not recover from POLLERR|POLLNVAL|POLLHUP with snd_pcm_prepare(): No such device
Aug 11 09:35:17 planemask kernel: general protection fault: 0000 [#1] SMP
Aug 11 09:35:17 planemask kernel: last sysfs file: /sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/voltage_now
Aug 11 09:35:17 planemask kernel: CPU 0
Aug 11 09:35:17 planemask kernel: Modules linked in: snd_usb_audio snd_usb_lib snd_rawmidi snd_seq_device gspca_stv06xx gspca_main videodev v4l1_compat v4l2_compat_ioctl32 fuse rfcomm sco bridge stp llc bnep l2cap sunrpc ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 cpufreq_ondemand acpi_cpufreq freq_table dm_multipath kvm_intel kvm uinput snd_hda_codec_analog arc4 ecb snd_hda_intel snd_hda_codec firewire_ohci iwl3945 snd_hwdep sdhci_pci snd_pcm iwlcore sdhci snd_timer firewire_core mmc_core snd mac80211 crc_itu_t ricoh_mmc soundcore yenta_socket iTCO_wdt rsrc_nonstatic snd_page_alloc i2c_i801 iTCO_vendor_support thinkpad_acpi cfg80211 btusb wmi hwmon bluetooth rfkill e1000e i915 drm i2c_algo_bit i2c_core video output [last unloaded: microcode]
Aug 11 09:35:17 planemask kernel: Pid: 1885, comm: pulseaudio Not tainted 2.6.31-0.145.rc5.git3.fc12.x86_64 #1 6464Y1E
Aug 11 09:35:17 planemask kernel: RIP: 0010:[<ffffffff813a0d90>]  [<ffffffff813a0d90>] usb_ifnum_to_if+0x28/0x66
Aug 11 09:35:17 planemask kernel: RSP: 0018:ffff88005b08dc98  EFLAGS: 00010202
Aug 11 09:35:17 planemask kernel: RAX: 0000000000000000 RBX: ffff88003f7da120 RCX: 6b6b6b6b6b6b6b6b
Aug 11 09:35:17 planemask kernel: RDX: 0000000000000000 RSI: 0000000000000002 RDI: ffff88003f7da120
Aug 11 09:35:17 planemask kernel: RBP: ffff88005b08dca8 R08: 0000000000000000 R09: 00000000703ff0ff
Aug 11 09:35:17 planemask kernel: R10: ffffffff8166c1ee R11: 0000000000000000 R12: ffff88003f406780
Aug 11 09:35:17 planemask kernel: R13: ffff88003f405240 R14: 0000000000000000 R15: 0000000000000002
Aug 11 09:35:17 planemask kernel: FS:  00007f95ec07e740(0000) GS:ffff88000267d000(0000) knlGS:0000000000000000
Aug 11 09:35:17 planemask kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Aug 11 09:35:17 planemask kernel: CR2: 00007f95c8002000 CR3: 000000005b0f0000 CR4: 00000000000026f0
Aug 11 09:35:17 planemask kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Aug 11 09:35:17 planemask kernel: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Aug 11 09:35:17 planemask kernel: Process pulseaudio (pid: 1885, threadinfo ffff88005b08c000, task ffff88005b13c940)
Aug 11 09:35:17 planemask kernel: Stack:
Aug 11 09:35:17 planemask kernel: ffff88005b08dcc8 00000000703ff0ff ffff88005b08dd28 ffffffff813ad545
Aug 11 09:35:17 planemask kernel: <0> ffff88005c1f31a0 ffff880047cbd058 ffff88005b08dd08 ffffffff811219c4
Aug 11 09:35:17 planemask kernel: <0> ffff88005b08dd28 00000000703ff0ff ffff88005c1f3210 00000000703ff0ff
Aug 11 09:35:17 planemask kernel: Call Trace:
Aug 11 09:35:17 planemask kernel: [<ffffffff813ad545>] usb_set_interface+0x42/0x275
Aug 11 09:35:17 planemask kernel: [<ffffffff811219c4>] ? __vunmap+0xdf/0xfe
Aug 11 09:35:17 planemask kernel: [<ffffffffa0447388>] snd_usb_capture_close+0x39/0x6b [snd_usb_audio]
Aug 11 09:35:17 planemask kernel: [<ffffffffa0225dfa>] snd_pcm_release_substream+0x62/0xa8 [snd_pcm]
Aug 11 09:35:17 planemask kernel: [<ffffffffa0225eba>] snd_pcm_release+0x7a/0xe1 [snd_pcm]
Aug 11 09:35:17 planemask kernel: [<ffffffffa019cb7a>] snd_disconnect_release+0xb6/0xf2 [snd]
Aug 11 09:35:17 planemask kernel: [<ffffffff811438f1>] __fput+0x137/0x1f8
Aug 11 09:35:17 planemask kernel: [<ffffffff811439df>] fput+0x2d/0x43
Aug 11 09:35:17 planemask kernel: [<ffffffff8111a301>] remove_vma+0x67/0xb5
Aug 11 09:35:17 planemask kernel: [<ffffffff8111ba09>] do_munmap+0x305/0x33b
Aug 11 09:35:17 planemask kernel: [<ffffffff8111ba8a>] ? sys_munmap+0x4b/0x86
Aug 11 09:35:17 planemask kernel: [<ffffffff8111ba98>] sys_munmap+0x59/0x86
Aug 11 09:35:17 planemask kernel: [<ffffffff81012f42>] system_call_fastpath+0x16/0x1b
Aug 11 09:35:17 planemask kernel: Code: c9 c3 90 55 48 89 e5 48 83 ec 10 0f 1f 44 00 00 65 48 8b 04 25 28 00 00 00 48 89 45 f8 31 c0 48 8b 8f 88 02 00 00 48 85 c9 74 26 <0f> b6 79 04 31 d2 eb 1a 48 8b 81 98 00 00 00 48 83 c1 08 4c 8b
Aug 11 09:35:17 planemask kernel: RIP  [<ffffffff813a0d90>] usb_ifnum_to_if+0x28/0x66
Aug 11 09:35:17 planemask kernel: RSP <ffff88005b08dc98>
Aug 11 09:35:17 planemask kernel: ---[ end trace afbfb22bcbb1a631 ]---
Comment 1 Matthew Garrett 2009-08-11 09:52:51 EDT
Looks like snd_usb_capture_close() fails to take into account that the device might already have been removed.
Comment 2 Bug Zapper 2009-11-16 06:20:11 EST
This bug appears to have been reported against 'rawhide' during the Fedora 12 development cycle.
Changing version to '12'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 3 Pete Zaitcev 2009-12-04 14:28:04 EST
I'm adding Jaroslav to cc: so he can observe how I'm ineffectually flop
around trying to fix it :-)
Comment 4 Bug Zapper 2010-11-04 06:33:00 EDT
This message is a reminder that Fedora 12 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 12.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '12'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 12's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 12 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 5 Bug Zapper 2010-12-05 01:37:50 EST
Fedora 12 changed to end-of-life (EOL) status on 2010-12-02. Fedora 12 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.

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