Bug 101207 - Warning in intel_unpin_fb_obj followed by Xorg lockup
Summary: Warning in intel_unpin_fb_obj followed by Xorg lockup
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-05-27 05:27 UTC by Charles Samuels
Modified: 2017-07-07 18:35 UTC (History)
1 user (show)

See Also:
i915 platform: KBL
i915 features:


Attachments

Description Charles Samuels 2017-05-27 05:27:41 UTC
I had YouTube open in Firefox while an OpenGL program was running.

I got the following dmesg output. I have a HD 630 GPU on a new Lenovo T470p.

The OpenGL program locked up, I managed to access the desktop and then after a few graphical operations, Xorg locked up hard with 100% usage.

[48555.856733] WARNING: CPU: 0 PID: 18620 at /build/linux-YcARc5/linux-4.10~rc6/drivers/gpu/drm/i915/intel_display.c:2254 intel_unpin_fb_obj+0xfb/0x110 [i915]
[48555.856735] WARN_ON_ONCE(!vma)
[48555.856735] Modules linked in: veth binfmt_misc rfcomm acpi_call(OE) ctr ccm xt_nat xt_tcpudp ipt_MASQUERADE nf_nat_masquerade_ipv4 xfrm_user xfrm_algo iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 xt_addrtype iptable_filter xt_conntrack nf_nat nf_conntrack libcrc32c br_netfilter bridge stp llc overlay pci_stub vboxpci(OE) vboxnetadp(OE) vboxnetflt(OE) cmac vboxdrv(OE) cpufreq_conservative cpufreq_powersave cpufreq_userspace bnep nls_ascii nls_cp437 vfat fat snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic arc4 intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core videodev iwlmvm media mac80211 aesni_intel snd_hda_intel
[48555.856766]  iwlwifi evdev joydev snd_hda_codec pcspkr i915 serio_raw efi_pstore snd_hda_core snd_hwdep btusb btrtl snd_pcm rtsx_pci_ms snd_timer efivars hci_uart iTCO_wdt memstick iTCO_vendor_support cfg80211 thinkpad_acpi drm_kms_helper drm mei_me nvram btbcm btqca sg snd btintel shpchp i2c_algo_bit mei intel_pch_thermal soundcore bluetooth wmi battery ac rfkill video intel_lpss_acpi intel_lpss acpi_pad tpm_tis tpm_tis_core button tpm parport_pc ppdev lp parport efivarfs ip_tables x_tables autofs4 ext4 crc16 jbd2 crc32c_generic fscrypto ecb mbcache sd_mod hid_generic usbhid rtsx_pci_sdmmc crc32c_intel mmc_core aes_x86_64 crypto_simd cryptd glue_helper xhci_pci xhci_hcd ahci e1000e libahci psmouse libata ptp pps_core i2c_i801 usbcore scsi_mod rtsx_pci mfd_core usb_common thermal i2c_hid hid fjes
[48555.856803] CPU: 0 PID: 18620 Comm: kworker/u8:1 Tainted: G           OE   4.10.0-rc6-amd64 #1 Debian 4.10~rc6-1~exp2
[48555.856804] Hardware name: LENOVO 20J6CTO1WW/20J6CTO1WW, BIOS R0FET31W (1.11 ) 03/10/2017
[48555.856820] Workqueue: i915 intel_unpin_work_fn [i915]
[48555.856821] Call Trace:
[48555.856825]  ? dump_stack+0x5c/0x78
[48555.856826]  ? __warn+0xbe/0xe0
[48555.856828]  ? warn_slowpath_fmt+0x5f/0x80
[48555.856830]  ? set_next_entity+0xb5/0x1a0
[48555.856843]  ? intel_unpin_fb_obj+0xfb/0x110 [i915]
[48555.856855]  ? intel_unpin_work_fn+0x50/0x120 [i915]
[48555.856856]  ? process_one_work+0x197/0x430
[48555.856857]  ? worker_thread+0x4d/0x4a0
[48555.856858]  ? kthread+0xf4/0x130
[48555.856859]  ? process_one_work+0x430/0x430
[48555.856860]  ? kthread_create_on_node+0x60/0x60
[48555.856862]  ? ret_from_fork+0x26/0x40
[48555.856862] ---[ end trace 86355993c4c37afb ]---
[48555.884254] ------------[ cut here ]------------
[48555.884294] WARNING: CPU: 2 PID: 20445 at /build/linux-YcARc5/linux-4.10~rc6/drivers/gpu/drm/i915/i915_vma.c:526 __i915_gem_free_objects+0x85/0x340 [i915]
[48555.884294] WARN_ON(i915_vma_unbind(vma))
[48555.884295] Modules linked in: veth binfmt_misc rfcomm acpi_call(OE) ctr ccm xt_nat xt_tcpudp ipt_MASQUERADE nf_nat_masquerade_ipv4 xfrm_user xfrm_algo iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 xt_addrtype iptable_filter xt_conntrack nf_nat nf_conntrack libcrc32c br_netfilter bridge stp llc overlay pci_stub vboxpci(OE) vboxnetadp(OE) vboxnetflt(OE) cmac vboxdrv(OE) cpufreq_conservative cpufreq_powersave cpufreq_userspace bnep nls_ascii nls_cp437 vfat fat snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic arc4 intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core videodev iwlmvm media mac80211 aesni_intel snd_hda_intel
[48555.884331]  iwlwifi evdev joydev snd_hda_codec pcspkr i915 serio_raw efi_pstore snd_hda_core snd_hwdep btusb btrtl snd_pcm rtsx_pci_ms snd_timer efivars hci_uart iTCO_wdt memstick iTCO_vendor_support cfg80211 thinkpad_acpi drm_kms_helper drm mei_me nvram btbcm btqca sg snd btintel shpchp i2c_algo_bit mei intel_pch_thermal soundcore bluetooth wmi battery ac rfkill video intel_lpss_acpi intel_lpss acpi_pad tpm_tis tpm_tis_core button tpm parport_pc ppdev lp parport efivarfs ip_tables x_tables autofs4 ext4 crc16 jbd2 crc32c_generic fscrypto ecb mbcache sd_mod hid_generic usbhid rtsx_pci_sdmmc crc32c_intel mmc_core aes_x86_64 crypto_simd cryptd glue_helper xhci_pci xhci_hcd ahci e1000e libahci psmouse libata ptp pps_core i2c_i801 usbcore scsi_mod rtsx_pci mfd_core usb_common thermal i2c_hid hid fjes
[48555.884358] CPU: 2 PID: 20445 Comm: kworker/2:1 Tainted: G        W  OE   4.10.0-rc6-amd64 #1 Debian 4.10~rc6-1~exp2
[48555.884358] Hardware name: LENOVO 20J6CTO1WW/20J6CTO1WW, BIOS R0FET31W (1.11 ) 03/10/2017
[48555.884370] Workqueue: events __i915_gem_free_work [i915]
[48555.884371] Call Trace:
[48555.884373]  ? dump_stack+0x5c/0x78
[48555.884375]  ? __warn+0xbe/0xe0
[48555.884376]  ? warn_slowpath_fmt+0x5f/0x80
[48555.884385]  ? __i915_gem_free_objects+0x85/0x340 [i915]
[48555.884394]  ? __i915_gem_free_work+0x2d/0x40 [i915]
[48555.884395]  ? process_one_work+0x197/0x430
[48555.884396]  ? worker_thread+0x4d/0x4a0
[48555.884397]  ? kthread+0xf4/0x130
[48555.884398]  ? process_one_work+0x430/0x430
[48555.884399]  ? kthread_create_on_node+0x60/0x60
[48555.884400]  ? do_group_exit+0x3a/0xa0
[48555.884401]  ? ret_from_fork+0x26/0x40
[48555.884402] ---[ end trace 86355993c4c37afc ]---
[48555.884407] ------------[ cut here ]------------
[48555.884417] WARNING: CPU: 2 PID: 20445 at /build/linux-YcARc5/linux-4.10~rc6/drivers/gpu/drm/i915/i915_gem.c:4075 __i915_gem_free_objects+0x2f8/0x340 [i915]
[48555.884417] WARN_ON(i915_gem_object_has_pinned_pages(obj))
[48555.884417] Modules linked in: veth binfmt_misc rfcomm acpi_call(OE) ctr ccm xt_nat xt_tcpudp ipt_MASQUERADE nf_nat_masquerade_ipv4 xfrm_user xfrm_algo iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 xt_addrtype iptable_filter xt_conntrack nf_nat nf_conntrack libcrc32c br_netfilter bridge stp llc overlay pci_stub vboxpci(OE) vboxnetadp(OE) vboxnetflt(OE) cmac vboxdrv(OE) cpufreq_conservative cpufreq_powersave cpufreq_userspace bnep nls_ascii nls_cp437 vfat fat snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic arc4 intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core videodev iwlmvm media mac80211 aesni_intel snd_hda_intel
[48555.884431]  iwlwifi evdev joydev snd_hda_codec pcspkr i915 serio_raw efi_pstore snd_hda_core snd_hwdep btusb btrtl snd_pcm rtsx_pci_ms snd_timer efivars hci_uart iTCO_wdt memstick iTCO_vendor_support cfg80211 thinkpad_acpi drm_kms_helper drm mei_me nvram btbcm btqca sg snd btintel shpchp i2c_algo_bit mei intel_pch_thermal soundcore bluetooth wmi battery ac rfkill video intel_lpss_acpi intel_lpss acpi_pad tpm_tis tpm_tis_core button tpm parport_pc ppdev lp parport efivarfs ip_tables x_tables autofs4 ext4 crc16 jbd2 crc32c_generic fscrypto ecb mbcache sd_mod hid_generic usbhid rtsx_pci_sdmmc crc32c_intel mmc_core aes_x86_64 crypto_simd cryptd glue_helper xhci_pci xhci_hcd ahci e1000e libahci psmouse libata ptp pps_core i2c_i801 usbcore scsi_mod rtsx_pci mfd_core usb_common thermal i2c_hid hid fjes
[48555.884448] CPU: 2 PID: 20445 Comm: kworker/2:1 Tainted: G        W  OE   4.10.0-rc6-amd64 #1 Debian 4.10~rc6-1~exp2
[48555.884448] Hardware name: LENOVO 20J6CTO1WW/20J6CTO1WW, BIOS R0FET31W (1.11 ) 03/10/2017
[48555.884457] Workqueue: events __i915_gem_free_work [i915]
[48555.884458] Call Trace:
[48555.884479]  ? dump_stack+0x5c/0x78
[48555.884481]  ? __warn+0xbe/0xe0
[48555.884482]  ? warn_slowpath_fmt+0x5f/0x80
[48555.884483]  ? dma_fence_context_alloc+0x20/0x20
[48555.884492]  ? __i915_gem_free_objects+0x2f8/0x340 [i915]
[48555.884501]  ? __i915_gem_free_work+0x2d/0x40 [i915]
[48555.884502]  ? process_one_work+0x197/0x430
[48555.884503]  ? worker_thread+0x4d/0x4a0
[48555.884504]  ? kthread+0xf4/0x130
[48555.884505]  ? process_one_work+0x430/0x430
[48555.884506]  ? kthread_create_on_node+0x60/0x60
[48555.884506]  ? do_group_exit+0x3a/0xa0
[48555.884507]  ? ret_from_fork+0x26/0x40
[48555.884508] ---[ end trace 86355993c4c37afd ]---
[48555.903158] ------------[ cut here ]------------
[48555.903175] WARNING: CPU: 2 PID: 20445 at /build/linux-YcARc5/linux-4.10~rc6/drivers/gpu/drm/i915/i915_vma.c:526 __i915_gem_free_objects+0x85/0x340 [i915]
[48555.903175] WARN_ON(i915_vma_unbind(vma))
[48555.903175] Modules linked in: veth binfmt_misc rfcomm acpi_call(OE) ctr ccm xt_nat xt_tcpudp ipt_MASQUERADE nf_nat_masquerade_ipv4 xfrm_user xfrm_algo iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 xt_addrtype iptable_filter xt_conntrack nf_nat nf_conntrack libcrc32c br_netfilter bridge stp llc overlay pci_stub vboxpci(OE) vboxnetadp(OE) vboxnetflt(OE) cmac vboxdrv(OE) cpufreq_conservative cpufreq_powersave cpufreq_userspace bnep nls_ascii nls_cp437 vfat fat snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic arc4 intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core videodev iwlmvm media mac80211 aesni_intel snd_hda_intel
[48555.903196]  iwlwifi evdev joydev snd_hda_codec pcspkr i915 serio_raw efi_pstore snd_hda_core snd_hwdep btusb btrtl snd_pcm rtsx_pci_ms snd_timer efivars hci_uart iTCO_wdt memstick iTCO_vendor_support cfg80211 thinkpad_acpi drm_kms_helper drm mei_me nvram btbcm btqca sg snd btintel shpchp i2c_algo_bit mei intel_pch_thermal soundcore bluetooth wmi battery ac rfkill video intel_lpss_acpi intel_lpss acpi_pad tpm_tis tpm_tis_core button tpm parport_pc ppdev lp parport efivarfs ip_tables x_tables autofs4 ext4 crc16 jbd2 crc32c_generic fscrypto ecb mbcache sd_mod hid_generic usbhid rtsx_pci_sdmmc crc32c_intel mmc_core aes_x86_64 crypto_simd cryptd glue_helper xhci_pci xhci_hcd ahci e1000e libahci psmouse libata ptp pps_core i2c_i801 usbcore scsi_mod rtsx_pci mfd_core usb_common thermal i2c_hid hid fjes
[48555.903221] CPU: 2 PID: 20445 Comm: kworker/2:1 Tainted: G        W  OE   4.10.0-rc6-amd64 #1 Debian 4.10~rc6-1~exp2
[48555.903222] Hardware name: LENOVO 20J6CTO1WW/20J6CTO1WW, BIOS R0FET31W (1.11 ) 03/10/2017
[48555.903232] Workqueue: events __i915_gem_free_work [i915]
[48555.903233] Call Trace:
[48555.903235]  ? dump_stack+0x5c/0x78
[48555.903237]  ? __warn+0xbe/0xe0
[48555.903238]  ? warn_slowpath_fmt+0x5f/0x80
[48555.903247]  ? __i915_gem_free_objects+0x85/0x340 [i915]
[48555.903256]  ? __i915_gem_free_work+0x2d/0x40 [i915]
[48555.903257]  ? process_one_work+0x197/0x430
[48555.903258]  ? worker_thread+0x4d/0x4a0
[48555.903259]  ? kthread+0xf4/0x130
[48555.903259]  ? process_one_work+0x430/0x430
[48555.903261]  ? kthread_create_on_node+0x60/0x60
[48555.903261]  ? do_group_exit+0x3a/0xa0
[48555.903262]  ? ret_from_fork+0x26/0x40
[48555.903263] ---[ end trace 86355993c4c37afe ]---
[48555.903270] ------------[ cut here ]------------
[48555.903279] WARNING: CPU: 2 PID: 20445 at /build/linux-YcARc5/linux-4.10~rc6/drivers/gpu/drm/i915/i915_gem.c:4075 __i915_gem_free_objects+0x2f8/0x340 [i915]
[48555.903280] WARN_ON(i915_gem_object_has_pinned_pages(obj))
[48555.903280] Modules linked in: veth binfmt_misc rfcomm acpi_call(OE) ctr ccm xt_nat xt_tcpudp ipt_MASQUERADE nf_nat_masquerade_ipv4 xfrm_user xfrm_algo iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 xt_addrtype iptable_filter xt_conntrack nf_nat nf_conntrack libcrc32c br_netfilter bridge stp llc overlay pci_stub vboxpci(OE) vboxnetadp(OE) vboxnetflt(OE) cmac vboxdrv(OE) cpufreq_conservative cpufreq_powersave cpufreq_userspace bnep nls_ascii nls_cp437 vfat fat snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic arc4 intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core videodev iwlmvm media mac80211 aesni_intel snd_hda_intel
[48555.903293]  iwlwifi evdev joydev snd_hda_codec pcspkr i915 serio_raw efi_pstore snd_hda_core snd_hwdep btusb btrtl snd_pcm rtsx_pci_ms snd_timer efivars hci_uart iTCO_wdt memstick iTCO_vendor_support cfg80211 thinkpad_acpi drm_kms_helper drm mei_me nvram btbcm btqca sg snd btintel shpchp i2c_algo_bit mei intel_pch_thermal soundcore bluetooth wmi battery ac rfkill video intel_lpss_acpi intel_lpss acpi_pad tpm_tis tpm_tis_core button tpm parport_pc ppdev lp parport efivarfs ip_tables x_tables autofs4 ext4 crc16 jbd2 crc32c_generic fscrypto ecb mbcache sd_mod hid_generic usbhid rtsx_pci_sdmmc crc32c_intel mmc_core aes_x86_64 crypto_simd cryptd glue_helper xhci_pci xhci_hcd ahci e1000e libahci psmouse libata ptp pps_core i2c_i801 usbcore scsi_mod rtsx_pci mfd_core usb_common thermal i2c_hid hid fjes
[48555.903309] CPU: 2 PID: 20445 Comm: kworker/2:1 Tainted: G        W  OE   4.10.0-rc6-amd64 #1 Debian 4.10~rc6-1~exp2
[48555.903309] Hardware name: LENOVO 20J6CTO1WW/20J6CTO1WW, BIOS R0FET31W (1.11 ) 03/10/2017
[48555.903318] Workqueue: events __i915_gem_free_work [i915]
[48555.903318] Call Trace:
[48555.903319]  ? dump_stack+0x5c/0x78
[48555.903321]  ? __warn+0xbe/0xe0
[48555.903322]  ? warn_slowpath_fmt+0x5f/0x80
[48555.903323]  ? dma_fence_context_alloc+0x20/0x20
[48555.903331]  ? __i915_gem_free_objects+0x2f8/0x340 [i915]
[48555.903340]  ? __i915_gem_free_work+0x2d/0x40 [i915]
[48555.903340]  ? process_one_work+0x197/0x430
[48555.903341]  ? worker_thread+0x4d/0x4a0
[48555.903342]  ? kthread+0xf4/0x130
[48555.903343]  ? process_one_work+0x430/0x430
[48555.903343]  ? kthread_create_on_node+0x60/0x60
[48555.903344]  ? do_group_exit+0x3a/0xa0
[48555.903345]  ? ret_from_fork+0x26/0x40
[48555.903345] ---[ end trace 86355993c4c37aff ]---
Comment 1 Chris Wilson 2017-05-27 09:04:23 UTC
This should be prevented in more recent kernels by the explicit tracking of vma used by kms:

commit e8fe4f4b2b7b93048729538321c681c0cff33b39 [v4.10-rc7]
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Jan 31 10:21:31 2017 +0100

    drm/i915: Track pinned vma in intel_plane_state

The very next rc in fact!
Comment 2 Ricardo 2017-07-07 18:35:00 UTC
Closing this bug as fixed based on Chris last input... if the problem is seen again please open a new bug and attach logs


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.