VirtualBox

Opened 7 years ago

Last modified 7 years ago

#16076 new defect

Ubuntu 16.04.1 VM slow after copying data to external USB drive (irq 20: nobody cared)

Reported by: John Bokma Owned by:
Component: USB Version: VirtualBox 5.1.6
Keywords: usb, irq20, vboxguest, vgdrvLinuxISR, call trace Cc:
Guest type: Linux Host type: Mac OS X

Description

When I copy a lot of data to an external Western Digital passport drive (USB3) either using rsync or just drag and drop in a Ubuntu 16.04.1 Desktop VM now and then the desktop slows down to a crawl and stays like this even if I cancel the rsync. The dataset is a lot of 30-40MB files (rsync), or ~8 of 4-5G files (drag and drop). It does not always occur, but when I check dmesg -w I do see "irq 20: nobody cared" followed by a call trace. Reboot of the VM fixes this, until it happens again.

Attachments (2)

slow-vm.txt (2.0 KB ) - added by John Bokma 7 years ago.
captured dmesg -w output (Ubuntu guest)
vm-freeze.txt (1.7 KB ) - added by pltsi 7 years ago.
Manually written kernel log from guest window after freeze

Download all attachments as: .zip

Change History (6)

by John Bokma, 7 years ago

Attachment: slow-vm.txt added

captured dmesg -w output (Ubuntu guest)

comment:1 by pltsi, 7 years ago

I have run into this problem multiple times randomly when VM is running in the background. Guest system (64-bit Fedora 25 in this case) freezes and becomes non responsible. After reading this bug report, I see that the system is still alive, however really really slow..

VirtualBox 5.1.12, Windows 7 Pro Host, Fedora 25 (64-bit) guest with USB3 xHCI support installed. At the time of problem, only FTDI TTL232R-3V3 adapter was attached to guest.

I'm able to continue working by restarting the guest, until it runs into this problem again..

by pltsi, 7 years ago

Attachment: vm-freeze.txt added

Manually written kernel log from guest window after freeze

comment:2 by AfUnix, 7 years ago

Same here with VirtualBox 5.1.22 at MacOS with Ubuntu 16.04 as guest.
Quite annoying.
Tried adding 'irqpoll', won't help.
I forward USB devices (phones) to the VM and get such a stack trace quite often:

[ 2975.163808] irq 20: nobody cared (try booting with the "irqpoll" option)
[ 2975.309644] CPU: 0 PID: 4950 Comm: java Not tainted 4.4.0-78-generic #99-Ubuntu
[ 2975.309646] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
[ 2975.309648]  0000000000000086 00000000e2715510 ffff88007fc03d18 ffffffff813f8dd3
[ 2975.309650]  ffff880079a95200 ffff880079a952d4 ffff88007fc03d40 ffffffff810ddd33
[ 2975.309651]  ffff880079a95200 0000000000000000 0000000000000014 ffff88007fc03d78
[ 2975.309653] Call Trace:
[ 2975.309655]  <IRQ>  [<ffffffff813f8dd3>] dump_stack+0x63/0x90
[ 2975.309662]  [<ffffffff810ddd33>] __report_bad_irq+0x33/0xc0
[ 2975.309664]  [<ffffffff810de0c7>] note_interrupt+0x247/0x290
[ 2975.309665]  [<ffffffff810db277>] handle_irq_event_percpu+0x167/0x1d0
[ 2975.309667]  [<ffffffff810db31e>] handle_irq_event+0x3e/0x60
[ 2975.309669]  [<ffffffff810de639>] handle_fasteoi_irq+0x99/0x150
[ 2975.309671]  [<ffffffff8103119d>] handle_irq+0x1d/0x30
[ 2975.309678]  [<ffffffff8184341b>] do_IRQ+0x4b/0xd0
[ 2975.309681]  [<ffffffff81841502>] common_interrupt+0x82/0x82
[ 2975.309683]  [<ffffffff81085d61>] ? __do_softirq+0x81/0x290
[ 2975.309685]  [<ffffffff810860e3>] irq_exit+0xa3/0xb0
[ 2975.309687]  [<ffffffff818434e2>] smp_apic_timer_interrupt+0x42/0x50
[ 2975.309688]  [<ffffffff818417a2>] apic_timer_interrupt+0x82/0x90
[ 2975.309689]  <EOI>  [<ffffffffc03ab71b>] ? VbglGRPerform+0x3b/0x50 [vboxguest]
[ 2975.309704]  [<ffffffffc03abf77>] VbglR0HGCMInternalCall+0x607/0xe90 [vboxguest]
[ 2975.309709]  [<ffffffffc03a8550>] ? vgdrvHgcmAsyncWaitCallbackWorker+0x220/0x220 [vboxguest]
[ 2975.309711]  [<ffffffff810b543c>] ? update_cfs_shares+0xbc/0x100
[ 2975.309713]  [<ffffffff810b2bdc>] ? __enqueue_entity+0x6c/0x70
[ 2975.309714]  [<ffffffff810b5279>] ? update_curr+0x79/0x160
[ 2975.309716]  [<ffffffff810b543c>] ? update_cfs_shares+0xbc/0x100
[ 2975.309717]  [<ffffffff810b2bdc>] ? __enqueue_entity+0x6c/0x70
[ 2975.309719]  [<ffffffff810caf21>] ? __raw_callee_save___pv_queued_spin_unlock+0x11/0x20
[ 2975.309724]  [<ffffffffc03a7bba>] vgdrvIoCtl_HGCMCall+0x22a/0x2d0 [vboxguest]
[ 2975.309725]  [<ffffffff810b5823>] ? check_preempt_wakeup+0x193/0x220
[ 2975.309730]  [<ffffffffc03a99e3>] VGDrvCommonIoCtl+0x263/0x1bf0 [vboxguest]
[ 2975.309734]  [<ffffffffc03a6284>] VBoxGuestIDCCall+0x64/0x70 [vboxguest]
[ 2975.309737]  [<ffffffffc0385856>] vbglDriverIOCtl+0x16/0x20 [vboxsf]
[ 2975.309739]  [<ffffffffc03865a3>] VbglHGCMCall+0x43/0x90 [vboxsf]
[ 2975.309741]  [<ffffffffc0386f23>] VbglR0SfRead+0xa3/0xd0 [vboxsf]
[ 2975.309743]  [<ffffffffc038425c>] sf_reg_read+0x12c/0x190 [vboxsf]
[ 2975.309749]  [<ffffffff8120ea48>] __vfs_read+0x18/0x40
[ 2975.309750]  [<ffffffff8120f016>] vfs_read+0x86/0x130
[ 2975.309752]  [<ffffffff8120fd65>] SyS_read+0x55/0xc0
[ 2975.309754]  [<ffffffff81840a32>] entry_SYSCALL_64_fastpath+0x16/0x71
[ 2975.309755] handlers:
[ 2975.373606] [<ffffffff81622370>] usb_hcd_irq
[ 2975.440444] [<ffffffffc0061b20>] mpt_interrupt [mptbase]
[ 2975.607860] [<ffffffffc03a6a30>] vgdrvLinuxISR [vboxguest]
[ 2975.753998] Disabling IRQ #20

Phones are not visible after such stack trace. In fact the whole VM is unstable.

Last edited 7 years ago by AfUnix (previous) (diff)

comment:3 by AfUnix, 7 years ago

One more example of a bactrace

May 18 15:19:55 appium-ubuntu1604-vm kernel: irq 20: nobody cared (try booting with the "irqpoll" option)
May 18 15:19:55 appium-ubuntu1604-vm kernel: CPU: 0 PID: 2948 Comm: node Not tainted 4.4.0-78-generic #99-Ubuntu
May 18 15:19:55 appium-ubuntu1604-vm kernel: Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
May 18 15:19:55 appium-ubuntu1604-vm kernel:  0000000000000086 0000000066df900e ffff88007fc03d18 ffffffff813f8dd3
May 18 15:19:55 appium-ubuntu1604-vm kernel:  ffff880079a96200 ffff880079a962d4 ffff88007fc03d40 ffffffff810ddd33
May 18 15:19:55 appium-ubuntu1604-vm kernel:  ffff880079a96200 0000000000000000 0000000000000014 ffff88007fc03d78
May 18 15:19:55 appium-ubuntu1604-vm kernel: Call Trace:
May 18 15:19:55 appium-ubuntu1604-vm kernel:  <IRQ>  [<ffffffff813f8dd3>] dump_stack+0x63/0x90
May 18 15:19:55 appium-ubuntu1604-vm kernel:  [<ffffffff810ddd33>] __report_bad_irq+0x33/0xc0
May 18 15:19:55 appium-ubuntu1604-vm kernel:  [<ffffffff810de0c7>] note_interrupt+0x247/0x290
May 18 15:19:55 appium-ubuntu1604-vm kernel:  [<ffffffff810db277>] handle_irq_event_percpu+0x167/0x1d0
May 18 15:19:55 appium-ubuntu1604-vm kernel:  [<ffffffff810db31e>] handle_irq_event+0x3e/0x60
May 18 15:19:55 appium-ubuntu1604-vm kernel:  [<ffffffff810de639>] handle_fasteoi_irq+0x99/0x150
May 18 15:19:55 appium-ubuntu1604-vm kernel:  [<ffffffff8103119d>] handle_irq+0x1d/0x30
May 18 15:19:55 appium-ubuntu1604-vm kernel:  [<ffffffff8184341b>] do_IRQ+0x4b/0xd0
May 18 15:19:55 appium-ubuntu1604-vm kernel:  [<ffffffff81841502>] common_interrupt+0x82/0x82
May 18 15:19:55 appium-ubuntu1604-vm kernel:  [<ffffffff81085d61>] ? __do_softirq+0x81/0x290
May 18 15:19:55 appium-ubuntu1604-vm kernel:  [<ffffffff810860e3>] irq_exit+0xa3/0xb0
May 18 15:19:55 appium-ubuntu1604-vm kernel:  [<ffffffff818434e2>] smp_apic_timer_interrupt+0x42/0x50
May 18 15:19:55 appium-ubuntu1604-vm kernel:  [<ffffffff818417a2>] apic_timer_interrupt+0x82/0x90
May 18 15:19:55 appium-ubuntu1604-vm kernel:  <EOI>  [<ffffffff810031e8>] ? exit_to_usermode_loop+0x68/0xd0
May 18 15:19:55 appium-ubuntu1604-vm kernel:  [<ffffffff81003c16>] prepare_exit_to_usermode+0x26/0x30
May 18 15:19:55 appium-ubuntu1604-vm kernel:  [<ffffffff81841525>] retint_user+0x8/0x10
May 18 15:19:55 appium-ubuntu1604-vm kernel: handlers:
May 18 15:19:55 appium-ubuntu1604-vm kernel: [<ffffffff81622370>] usb_hcd_irq
May 18 15:19:55 appium-ubuntu1604-vm kernel: [<ffffffffc002bb20>] mpt_interrupt [mptbase]
May 18 15:19:55 appium-ubuntu1604-vm kernel: [<ffffffffc0398a30>] vgdrvLinuxISR [vboxguest]
May 18 15:19:55 appium-ubuntu1604-vm kernel: Disabling IRQ #20
May 18 15:20:31 appium-ubuntu1604-vm kernel: xhci_hcd 0000:00:0c.0: xHCI host not responding to stop endpoint command.
May 18 15:20:31 appium-ubuntu1604-vm kernel: xhci_hcd 0000:00:0c.0: Assuming host is dying, halting host.
May 18 15:20:31 appium-ubuntu1604-vm kernel: xhci_hcd 0000:00:0c.0: HC died; cleaning up
May 18 15:20:31 appium-ubuntu1604-vm kernel: usb 1-1: USB disconnect, device number 2
May 18 15:20:31 appium-ubuntu1604-vm kernel: usb 1-2: USB disconnect, device number 3
May 18 15:20:31 appium-ubuntu1604-vm kernel: xhci_hcd 0000:00:0c.0: Slot 2 endpoint 4 not removed from BW list!
May 18 15:20:31 appium-ubuntu1604-vm kernel: xhci_hcd 0000:00:0c.0: Slot 2 endpoint 8 not removed from BW list!
May 18 15:20:31 appium-ubuntu1604-vm kernel: usb 1-3: USB disconnect, device number 4
May 18 15:20:31 appium-ubuntu1604-vm kernel: xhci_hcd 0000:00:0c.0: Slot 3 endpoint 4 not removed from BW list!
May 18 15:20:31 appium-ubuntu1604-vm kernel: xhci_hcd 0000:00:0c.0: Slot 3 endpoint 8 not removed from BW list!

comment:4 by Michael Thayer, 7 years ago

This looks very much like a bug in Linux 4.8 and some later versions which was fixed upstream. Perhaps Ubuntu back-ported the bug to their 4.4 kernel. I can't immediately find the bug reference unfortunately.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use