[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Bug#688964: qemu-kvm: Fedora 17 guest hangs on boot wit
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] Bug#688964: qemu-kvm: Fedora 17 guest hangs on boot with soft lockup in udevd |
Date: |
Thu, 27 Sep 2012 20:28:10 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
On 2012-09-27 19:15, Michael Tokarev wrote:
> On 27.09.2012 20:25, Nikolai Kondrashov wrote:
>> On 09/27/2012 06:23 PM, Michael Tokarev wrote:
>>> Please provide full command line which virt-manager uses. You can find
>>> it in virtmanager logs or in ps(1) output.
>>
>> Here is the command line:
>>
>> LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
>> HOME=/root USER=root LOGNAME=root QEMU_AUDIO_DRV=none /usr/bin/kvm -S -M
>> pc-1.1 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name
>> fedora-hang-test -uuid d155797a-03fb-0181-8e71-8d38181a7158 -nodefconfig
>> -nodefaults -chardev
>> socket,id=charmonitor,path=/var/lib/libvirt/qemu/fedora-hang-test.monitor,server,nowait
>> -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown
>> -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive
>> file=/var/lib/libvirt/images/fedora-hang-test.img,if=none,id=drive-virtio-disk0,format=raw
>> -device
>> virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
>> -drive
>> file=/home/nkondras/tmp/Fedora-17-x86_64-Live-Desktop.iso,if=none,id=drive-ide0-1-0,readonly=on,format=raw
>> -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev
>> tap,fd=20,id=hostnet0,vhost=on,vhostfd=22 -device
>> virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:5e:20:81,bus=pci.0,addr=0x3
>> -chardev pty,id=charserial0 -device
>> isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -vnc
>> 127.0.0.1:1 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4
>> -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device
>> virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6
>>
>> Simply booting from this Live CD hangs:
>>
>> http://download.fedoraproject.org/pub/fedora/linux/releases/17/Live/x86_64/Fedora-17-x86_64-Live-Desktop.iso
>
> Ok. I reproduced this, I _think_, and now I want some confirmation
> from you. This is my command line:
>
> QEMU_AUDIO_DRV=none qemu-kvm -nodefconfig -nodefaults -enable-kvm \
> -monitor stdio -rtc base=utc \
> -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \
> -m 512 -vga cirrus -cdrom Fedora-17-x86_64-Live-Desktop.iso \
> -device intel-hda,id=sound0,bus=pci.0,addr=0x4 \
> -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0
>
> leads to this in guest:
>
> ...
> Starting udev Wait for Complete Device Initialization...
> [ 4.123978] piix4_smbus 0000:00:01.3: SMBus Host Controller at 0xb100,
> revision 0
> [ 4.311473] microcode: AMD CPU family 0x6 not supported
> [ 4.355429] microcode: AMD CPU family 0x6 not supported
> [ 7.323032] ALSA sound/pci/hda/hda_intel.c:823 azx_get_response timeout,
> switching to polling mode: last cmd=0x000f0000
> [ 8.325018] ALSA sound/pci/hda/hda_intel.c:831 No response from codec,
> disabling MSI: last cmd=0x000f0000
> [ 36.055021] BUG: soft lockup - CPU#0 stuck for 22s! [udevd:385]
> [ 36.055026] Modules linked in: snd_hda_intel(+) snd_hda_codec snd_hwdep
> i2c_piix4 snd_pcm i2c_core snd_page_alloc snd_timer snd soundcore uinput
> squashfs
> [ 36.055026] CPU 0
> [ 36.055026] Modules linked in: snd_hda_intel(+) snd_hda_codec snd_hwdep
> i2c_piix4 snd_pcm i2c_core snd_page_alloc snd_timer snd soundcore uinput
> squashfs
> [ 36.055026]
> [ 36.055026]
> [ 36.055026] Pid: 385, comm: udevd Not tainted 3.3.4-5.fc17.x86_64 #1 Bochs
> Bochs
> [ 36.055026] RIP: 0010:[<ffffffff8105dc40>] [<ffffffff8105dc40>]
> __do_softirq+0x70/0x1e0
> [ 36.055026] RSP: 0018:ffff88001f003ef0 EFLAGS: 00000206
> [ 36.055026] RAX: ffff88001f8a7fd8 RBX: ffffffff81a17240 RCX:
> 00000001f0542108
> [ 36.055026] RDX: 0000000000000000 RSI: 000000000000006f RDI:
> 0000000000000002
> [ 36.055026] RBP: ffff88001f003f40 R08: 0000000000000000 R09:
> ffffffff81c64540
> [ 36.055026] R10: 0000000000000400 R11: 0000000000000020 R12:
> ffff88001f003e68
> [ 36.055026] R13: ffffffff815f439e R14: ffff88001f003f40 R15:
> 0000000000000046
> [ 36.055026] FS: 00007f14b7509840(0000) GS:ffff88001f000000(0000)
> knlGS:0000000000000000
> [ 36.055026] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> [ 36.055026] CR2: 00007fa5e9e40000 CR3: 000000001f80e000 CR4:
> 00000000000006f0
> [ 36.055026] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
> 0000000000000000
> [ 36.055026] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:
> 0000000000000400
> [ 36.055026] Process udevd (pid: 385, threadinfo ffff88001f8a6000, task
> ffff88001b218000)
> [ 36.055026] Stack:
> [ 36.055026] 000000008101ac19 ffff88001f8a7fd8 ffff88001f8a7fd8
> ffff88000000000a
> [ 36.055026] ffff88001f014000 ffff88001f8a7fd8 0000000000000046
> 0000000000000007
> [ 36.055026] 0000000000000050 0000000000000001 ffff88001f003f58
> ffffffff815f4d9c
> [ 36.055026] Call Trace:
> [ 36.055026] <IRQ>
> [ 36.055026] [<ffffffff815f4d9c>] call_softirq+0x1c/0x30
> [ 36.055026] [<ffffffff81015465>] do_softirq+0x75/0xb0
> [ 36.055026] [<ffffffff8105e055>] irq_exit+0xb5/0xc0
> [ 36.055026] [<ffffffff815f56ee>] smp_apic_timer_interrupt+0x6e/0x99
> [ 36.055026] [<ffffffff815f439e>] apic_timer_interrupt+0x6e/0x80
> [ 36.055026] <EOI>
> [ 36.055026] [<ffffffff810e22ac>] ? free_irq+0x5c/0xc0
> [ 36.055026] [<ffffffff815eb741>] ? _raw_spin_unlock_irqrestore+0x11/0x20
> [ 36.055026] [<ffffffff812dc3c3>] pci_bus_write_config_word+0x83/0xa0
> [ 36.055026] [<ffffffff812dfca2>] pci_intx+0x52/0x90
> [ 36.055026] [<ffffffff812f6e4d>] pci_intx_for_msi+0x1d/0x30
> [ 36.055026] [<ffffffff812f7bed>] pci_msi_shutdown+0x7d/0xf0
> [ 36.055026] [<ffffffff812f7c98>] pci_disable_msi+0x38/0x60
> [ 36.055026] [<ffffffffa009efbf>] azx_get_response+0x1af/0x280
> [snd_hda_intel]
> [ 36.055026] [<ffffffffa007a4cf>] codec_exec_verb+0xbf/0x1f0
> [snd_hda_codec]
> [ 36.055026] [<ffffffffa007a660>] snd_hda_codec_read+0x60/0xa0
> [snd_hda_codec]
> [ 36.055026] [<ffffffffa007c92a>] snd_hda_codec_new+0x20a/0x690
> [snd_hda_codec]
> [ 36.055026] [<ffffffff81086b9a>] ? __cond_resched+0x2a/0x40
> [ 36.055026] [<ffffffffa009ee9e>] ? azx_get_response+0x8e/0x280
> [snd_hda_intel]
> [ 36.055026] [<ffffffffa009fd6e>] azx_codec_create+0x1df/0x27c
> [snd_hda_intel]
> [ 36.055026] [<ffffffffa009f1d0>] ? azx_irq_pending_work+0x140/0x140
> [snd_hda_intel]
> [ 36.055026] [<ffffffffa009ee10>] ? azx_halt+0x40/0x40 [snd_hda_intel]
> [ 36.055026] [<ffffffffa009f990>] ? azx_bus_reset+0x90/0x90 [snd_hda_intel]
> [ 36.055026] [<ffffffffa009f900>] ? azx_resume+0x170/0x170 [snd_hda_intel]
> [ 36.055026] [<ffffffffa009f710>] ? azx_init_chip+0x2b0/0x2b0
> [snd_hda_intel]
> [ 36.055026] [<ffffffffa00a07b2>] azx_probe+0x9a7/0xb29 [snd_hda_intel]
> [ 36.055026] [<ffffffff812e4b2c>] local_pci_probe+0x5c/0xd0
> [ 36.055026] [<ffffffff812e4cb1>] pci_device_probe+0x111/0x120
> [ 36.055026] [<ffffffff8139e8a6>] driver_probe_device+0x96/0x2f0
> [ 36.055026] [<ffffffff8139ebab>] __driver_attach+0xab/0xb0
> [ 36.055026] [<ffffffff8139eb00>] ? driver_probe_device+0x2f0/0x2f0
> [ 36.055026] [<ffffffff8139cb85>] bus_for_each_dev+0x55/0x90
> [ 36.055026] [<ffffffffa00a7000>] ? 0xffffffffa00a6fff
> [ 36.055026] [<ffffffff8139e39e>] driver_attach+0x1e/0x20
> [ 36.055026] [<ffffffff8139e0a8>] bus_add_driver+0x1a8/0x2a0
> [ 36.055026] [<ffffffffa00a7000>] ? 0xffffffffa00a6fff
> [ 36.055026] [<ffffffffa00a7000>] ? 0xffffffffa00a6fff
> [ 36.055026] [<ffffffff8139f367>] driver_register+0x77/0x150
> [ 36.055026] [<ffffffffa00a7000>] ? 0xffffffffa00a6fff
> [ 36.055026] [<ffffffff812e3a52>] __pci_register_driver+0x62/0xe0
> [ 36.055026] [<ffffffffa00a7000>] ? 0xffffffffa00a6fff
> [ 36.055026] [<ffffffffa00a701e>] alsa_card_azx_init+0x1e/0x1000
> [snd_hda_intel]
> [ 36.055026] [<ffffffff8100212a>] do_one_initcall+0x12a/0x180
> [ 36.055026] [<ffffffff810b60a6>] sys_init_module+0x10f6/0x20b0
> [ 36.055026] [<ffffffff815f38e9>] system_call_fastpath+0x16/0x1b
>
> Is it the issue you're seeing?
>
> Removing hda-duplex device lets it to work. Removing piix3-usb-uhci
> allows it to boot too. Even removing the explicit bus address from
> piix3-usb-uhci allow it to boot.
>
> I tried to bisect between qemu-kvm 1.1.0 and qemu-kvm-1.1.1, and the
> bisection points to this commit:
>
> commit 0ec39075710ae15acc2a5825cd21e0c229fa04af
> (8e729e3b521d9fcd87fc2e40b6322e684f58bb2e upstream)
> Author: Jan Kiszka <address@hidden>
> Date: Fri May 11 11:42:35 2012 -0300
>
> intel-hda: Fix reset of MSI function
>
> Call msi_reset on device reset as still required by the core.
>
> CC: Gerd Hoffmann <address@hidden>
> CC: address@hidden
> Signed-off-by: Jan Kiszka <address@hidden>
> Signed-off-by: Michael S. Tsirkin <address@hidden>
> (cherry picked from commit 8e729e3b521d9fcd87fc2e40b6322e684f58bb2e)
>
> --- a/hw/intel-hda.c
> +++ b/hw/intel-hda.c
> @@ -1107,6 +1107,9 @@ static void intel_hda_reset(DeviceState *dev)
> DeviceState *qdev;
> HDACodecDevice *cdev;
>
> + if (d->msi) {
> + msi_reset(&d->pci);
> + }
> intel_hda_regs_reset(d);
> d->wall_base_ns = qemu_get_clock_ns(vm_clock);
>
> which is exactly about this hda thing. I'm CC'ing relevant
> people here.
I suppose we are resetting the MSI configuration also in cases here
where only the HDA internals are supposed to be reset (when called from
intel_hda_set_g_ctl).
Jan
--
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux