Bug 41492 - snd_hda_intel crashes in azx_pcm_prepare when using skype
Summary: snd_hda_intel crashes in azx_pcm_prepare when using skype
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Sound(ALSA) (show other bugs)
Hardware: x86-64 Linux
: P1 normal
Assignee: Jaroslav Kysela
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-21 16:33 UTC by Johannes Wienke
Modified: 2012-05-11 23:49 UTC (History)
2 users (show)

See Also:
Kernel Version: 3.0-ARCH x86_64
Subsystem:
Regression: No
Bisected commit-id:


Attachments
full kernel log since starting skype (4.13 KB, text/x-log)
2011-08-22 18:05 UTC, Johannes Wienke
Details
debug patch (1.58 KB, patch)
2011-08-23 09:02 UTC, Takashi Iwai
Details | Diff
test fix patch (7.15 KB, patch)
2011-08-23 14:52 UTC, Takashi Iwai
Details | Diff

Description Johannes Wienke 2011-08-21 16:33:32 UTC
snd_hda_intel keeps crashing on my system when using skype:

[ 1042.607735] Pid: 6807, comm: skype Tainted: P 3.0-ARCH #1 Gigabyte Technology Co., Ltd. GA-870A-UD3/GA-870A-UD3
[ 1042.607748] RIP: 0010:[<ffffffffa039c0c3>] [<ffffffffa039c0c3>] setup_bdle.isra.28+0x73/0x100 [snd_hda_intel]
[ 1042.607763] RSP: 0018:ffff88021c45fb38 EFLAGS: 00010202
[ 1042.607769] RAX: 0000000000000000 RBX: ffff880221eefa40 RCX: 0000000000000000
[ 1042.607775] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88021ff8de00
[ 1042.607781] RBP: ffff88021c45fb78 R08: 0000000000000080 R09: 0000000000000001
[ 1042.607787] R10: 0000000000000006 R11: 0000000000000000 R12: 0000000000000000
[ 1042.607793] R13: ffff88021ff8de00 R14: 0000000000000080 R15: ffff8802222f9000
[ 1042.607801] FS: 00007ffbc1c43700(0000) GS:ffff88022fc80000(0063) knlGS:00000000f0ffdb70
[ 1042.607808] CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033
[ 1042.607814] CR2: 0000000000000028 CR3: 00000001ea93c000 CR4: 00000000000006e0
[ 1042.607820] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 1042.607826] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 1042.607833] Process skype (pid: 6807, threadinfo ffff88021c45e000, task ffff88021c297300)
[ 1042.607839] Stack:
[ 1042.607842] ffff88021c45fbe0 00000001a040e75d 0000000000082802 ffff880221eefa00
[ 1042.607854] ffff88021ff8de00 ffff88021ff8de00 0000000000004b00 ffff88021c45fbe0
[ 1042.607864] ffff88021c45fc18 ffffffffa039c34e ffff88022121a680 0000000100000080
[ 1042.607874] Call Trace:
[ 1042.607888] [<ffffffffa039c34e>] azx_pcm_prepare+0x1fe/0x47c [snd_hda_intel]
[ 1042.607900] [<ffffffff81062226>] ? current_fs_time+0x16/0x60
[ 1042.607917] [<ffffffffa03c0c5b>] snd_pcm_do_prepare+0x1b/0x30 [snd_pcm]
[ 1042.607933] [<ffffffffa03c04b6>] snd_pcm_action_single+0x36/0x80 [snd_pcm]
[ 1042.607949] [<ffffffffa03c08ee>] snd_pcm_action_nonatomic+0x7e/0x90 [snd_pcm]
[ 1042.607963] [<ffffffffa03c1c5a>] snd_pcm_common_ioctl1+0x7da/0xcb0 [snd_pcm]
[ 1042.607977] [<ffffffffa03c23fc>] snd_pcm_playback_ioctl1+0x4c/0x240 [snd_pcm]
[ 1042.607988] [<ffffffff813f23bf>] ? __mutex_lock_slowpath+0x23f/0x330
[ 1042.608002] [<ffffffffa03c2b08>] snd_pcm_ioctl_compat+0x2d8/0x730 [snd_pcm]
[ 1042.608019] [<ffffffffa03769f1>] ? snd_ctl_ioctl_compat+0x321/0x630 [snd]
[ 1042.608030] [<ffffffff811a0cb9>] compat_sys_ioctl+0xe9/0x13a0
[ 1042.608040] [<ffffffff810c4a85>] ? call_rcu+0x15/0x20
[ 1042.608050] [<ffffffff8105ef05>] ? release_task+0x2c5/0x460
[ 1042.608060] [<ffffffff8100a81e>] ? __switch_to+0x20e/0x2f0
[ 1042.608069] [<ffffffff81049cf9>] ? finish_task_switch+0x49/0xd0
[ 1042.608078] [<ffffffff813f5a40>] cstar_dispatch+0x7/0x2e
[ 1042.608083] Code: cc eb 11 0f 1f 44 00 00 81 fa ff 00 00 00 0f 87 94 00 00 00 49 8b 85 c0 00 00 00 44 89 e2 44 89 e6 4c 89 ef 48 8b 80 d8 02 00 00
[ 1042.608128] 8b 48 28 48 89 d0 81 e2 ff 0f 00 00 48 c1 e8 0c 48 c1 e0 04
[ 1042.608150] RIP [<ffffffffa039c0c3>] setup_bdle.isra.28+0x73/0x100 [snd_hda_intel]
[ 1042.608163] RSP <ffff88021c45fb38>
[ 1042.608167] CR2: 0000000000000028
[ 1042.608173] ---[ end trace 86e4a90eea36ab80 ]---

I observer this since several versions of the kernel, currently it happens with:
languitar@bird ~ $ uname -a
Linux bird 3.0-ARCH #1 SMP PREEMPT Wed Aug 17 21:55:57 CEST 2011 x86_64 AMD Phenom(tm) II X4 910e Processor AuthenticAMD GNU/Linux

languitar@bird ~ $ lspci 
00:00.0 Host bridge: ATI Technologies Inc RX780/RX790 Chipset Host Bridge
00:02.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (external gfx0 port A)
00:09.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (PCI express gpp port E)
00:0a.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (PCI express gpp port F)
00:11.0 SATA controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (rev 40)
00:12.0 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.2 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:13.0 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:13.2 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 42)
00:14.1 IDE interface: ATI Technologies Inc SB7x0/SB8x0/SB9x0 IDE Controller (rev 40)
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA) (rev 40)
00:14.3 ISA bridge: ATI Technologies Inc SB7x0/SB8x0/SB9x0 LPC host controller (rev 40)
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge (rev 40)
00:14.5 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
00:15.0 PCI bridge: ATI Technologies Inc Device 43a0
00:15.1 PCI bridge: ATI Technologies Inc Device 43a1
00:15.2 PCI bridge: ATI Technologies Inc Device 43a2
00:15.3 PCI bridge: ATI Technologies Inc Device 43a3
00:16.0 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:16.2 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Link Control
01:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 9800 GT] (rev a2)
02:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)
03:00.0 SATA controller: JMicron Technology Corp. JMB362/JMB363 Serial ATA Controller (rev 03)
03:00.1 IDE interface: JMicron Technology Corp. JMB362/JMB363 Serial ATA Controller (rev 03)
04:07.0 Multimedia audio controller: Creative Labs SB Audigy (rev 04)
04:07.1 Input device controller: Creative Labs SB Audigy Game Port (rev 04)
04:07.2 FireWire (IEEE 1394): Creative Labs SB Audigy FireWire Port (rev 04)
04:0e.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)
05:00.0 SATA controller: JMicron Technology Corp. JMB362/JMB363 Serial ATA Controller (rev 02)
05:00.1 IDE interface: JMicron Technology Corp. JMB362/JMB363 Serial ATA Controller (rev 02)
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)

This was already reported downstream:
https://bugs.archlinux.org/task/25626
Comment 1 Takashi Iwai 2011-08-22 10:13:16 UTC
Could you attach (don't paste) the full kernel message?  The important part is missing in the above.
Comment 2 Johannes Wienke 2011-08-22 18:05:08 UTC
Created attachment 69662 [details]
full kernel log since starting skype

Ok, now the full messages are attached starting with opening skype.
Comment 3 Takashi Iwai 2011-08-23 09:02:19 UTC
Thanks.  How often does this occur?  At each time, or at random?

Also could you apply the debug patch below and see what are printed?
Comment 4 Takashi Iwai 2011-08-23 09:02:54 UTC
Created attachment 69762 [details]
debug patch
Comment 5 Johannes Wienke 2011-08-23 09:04:49 UTC
Nearly every time, At least with kernel version 3 it happened every time I tested it. Before there where times where no problem occurred at all.

For the patch I will have to see how to apply it to the archlinux kernel. Will probably take some time.
Comment 6 Takashi Iwai 2011-08-23 14:51:35 UTC
Hm, so it's a kernel regression at some time?

Anyway, try the patch below, too.  If the bug is because of a race, it might be fixed by this.
Comment 7 Takashi Iwai 2011-08-23 14:52:05 UTC
Created attachment 69812 [details]
test fix patch
Comment 8 Johannes Wienke 2011-08-26 20:47:39 UTC
Against which kernel version is the first patch? It doesn't apply to 3.0.3

And for both patches: is it ok to exchange the snd_hda_intel module or do I have to change more for testing it?
Comment 9 Johannes Wienke 2012-02-24 08:40:12 UTC
During the last few days I have tried to reproduce the problem with the 3.2.6 kernel and I cannot get it again.
Comment 10 Johannes Wienke 2012-03-20 21:01:01 UTC
Seems this has gone completely. No more problems with a recent kernel.

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