Bug 89305 - WARNING: CPU: 0 PID: 3200 at drivers/gpu/drm/i915/i915_gem.c:4285 with Linux v3.19-8975-g3d883483dc0a
Summary: WARNING: CPU: 0 PID: 3200 at drivers/gpu/drm/i915/i915_gem.c:4285 with Linux ...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: Other All
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-02-24 18:58 UTC by Josh Boyer
Modified: 2017-02-24 06:38 UTC (History)
2 users (show)

See Also:
i915 platform: IVB
i915 features: display/atomic


Attachments

Description Josh Boyer 2015-02-24 18:58:45 UTC
We got a report[1] of the following backtrace with Linux v3.19-8975-g3d883483dc0a (just before 4.0-rc1).  The user said they were switching the display with Mutter/Wayland or weston.

Feb 22 11:14:03 odvarok kernel: ------------[ cut here ]------------
Feb 22 11:14:03 odvarok kernel: WARNING: CPU: 0 PID: 3200 at drivers/gpu/drm/i915/i915_gem.c:4285 i915_gem_object_unpin_fence+0x75/0xa0 [i915]()
Feb 22 11:14:03 odvarok kernel: WARN_ON(dev_priv->fence_regs[obj->fence_reg].pin_count <= 0)
Feb 22 11:14:03 odvarok kernel: Modules linked in: bnep bluetooth fuse ccm joydev wacom_w8001 arc4 iwl3945 iwlegacy mac80211 kvm_intel snd_hda_codec_analog snd_hda_codec_generic iTCO_wdt iTCO_vendor_support kvm ppdev snd_hda_intel snd_hda_controller snd_hda_codec cfg80211 serio_raw i2c_i801 snd_hwdep snd_seq lpc_ich snd_seq_device mfd_core snd
Feb 22 11:14:03 odvarok kernel: CPU: 0 PID: 3200 Comm: weston Tainted: G        W       3.20.0-0.rc0.git10.1.fc22.x86_64 #1
Feb 22 11:14:03 odvarok kernel: Hardware name: LENOVO 7762AS1/7762AS1, BIOS 7SET39WW (1.25 ) 03/22/2011
Feb 22 11:14:03 odvarok kernel:  0000000000000000 00000000073741d7 ffff8800b81ff5f8 ffffffff81877630
Feb 22 11:14:03 odvarok kernel:  0000000000000000 ffff8800b81ff650 ffff8800b81ff638 ffffffff810ab3ca
Feb 22 11:14:03 odvarok kernel:  ffff8800b46ba600 ffff88007d090000 ffff8800b416fe00 ffffffffa0283f60
Feb 22 11:14:03 odvarok kernel: Call Trace:
Feb 22 11:14:03 odvarok kernel:  [<ffffffff81877630>] dump_stack+0x4c/0x65
Feb 22 11:14:03 odvarok kernel:  [<ffffffff810ab3ca>] warn_slowpath_common+0x8a/0xc0
Feb 22 11:14:03 odvarok kernel:  [<ffffffff810ab455>] warn_slowpath_fmt+0x55/0x70
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa023bf67>] ? intel_cleanup_plane_fb+0x37/0x80 [i915]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa01ee645>] i915_gem_object_unpin_fence+0x75/0xa0 [i915]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa022f9c5>] intel_unpin_fb_obj+0x25/0x60 [i915]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa023bf6f>] intel_cleanup_plane_fb+0x3f/0x80 [i915]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa014393e>] drm_plane_helper_commit+0x1fe/0x300 [drm_kms_helper]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa0143b8c>] drm_plane_helper_disable+0x5c/0xb0 [drm_kms_helper]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa0233ee3>] __intel_set_mode+0x323/0xb90 [i915]
Feb 22 11:14:03 odvarok kernel:  [<ffffffff8124b45c>] ? rcu_read_lock_sched_held+0x6c/0x80
Feb 22 11:14:03 odvarok kernel:  [<ffffffff8124f645>] ? __kmalloc+0x205/0x2d0
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa023b947>] intel_crtc_set_config+0xca7/0x1020 [i915]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa00bc037>] ? drm_atomic_state_free+0x27/0x60 [drm]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa00ab7e9>] drm_mode_set_config_internal+0x69/0x120 [drm]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa014c908>] restore_fbdev_mode+0xc8/0xf0 [drm_kms_helper]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa014e969>] drm_fb_helper_restore_fbdev_mode_unlocked+0x29/0x80 [drm_kms_helper]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa014e9e2>] drm_fb_helper_set_par+0x22/0x50 [drm_kms_helper]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa024b7aa>] intel_fbdev_set_par+0x1a/0x60 [i915]
Feb 22 11:14:03 odvarok kernel:  [<ffffffff814a615c>] fb_set_var+0x23c/0x4a0
Feb 22 11:14:03 odvarok kernel:  [<ffffffff8149baac>] fbcon_blank+0x34c/0x390
Feb 22 11:14:03 odvarok kernel:  [<ffffffff8153d502>] do_unblank_screen+0xe2/0x1f0
Feb 22 11:14:03 odvarok kernel:  [<ffffffff815319b1>] complete_change_console+0x61/0xf0
Feb 22 11:14:03 odvarok kernel:  [<ffffffff8153221a>] vt_ioctl+0x7da/0x14c0
Feb 22 11:14:03 odvarok kernel:  [<ffffffff8110386f>] ? lock_release_holdtime.part.29+0xf/0x200
Feb 22 11:14:03 odvarok kernel:  [<ffffffff81523e29>] tty_ioctl+0x449/0xe00
Feb 22 11:14:03 odvarok kernel:  [<ffffffff813a7be5>] ? inode_has_perm.isra.48+0x55/0xa0
Feb 22 11:14:03 odvarok kernel:  [<ffffffff8128cd68>] do_vfs_ioctl+0x2e8/0x530
Feb 22 11:14:03 odvarok kernel:  [<ffffffff8128d031>] SyS_ioctl+0x81/0xa0
Feb 22 11:14:03 odvarok kernel:  [<ffffffff81880ba9>] system_call_fastpath+0x12/0x17
Feb 22 11:14:03 odvarok kernel: ---[ end trace 804a0e2e3e91ca24 ]---
Feb 22 11:14:03 odvarok kernel: ------------[ cut here ]------------
Feb 22 11:14:03 odvarok kernel: kernel BUG at drivers/gpu/drm/i915/i915_gem.c:4257!
Feb 22 11:14:03 odvarok kernel: invalid opcode: 0000 [#1] SMP 
Feb 22 11:14:03 odvarok kernel: Modules linked in: bnep bluetooth fuse ccm joydev wacom_w8001 arc4 iwl3945 iwlegacy mac80211 kvm_intel snd_hda_codec_analog snd_hda_codec_generic iTCO_wdt iTCO_vendor_support kvm ppdev snd_hda_intel snd_hda_controller snd_hda_codec cfg80211 serio_raw i2c_i801 snd_hwdep snd_seq lpc_ich snd_seq_device mfd_core snd
Feb 22 11:14:03 odvarok kernel: CPU: 0 PID: 3200 Comm: weston Tainted: G        W       3.20.0-0.rc0.git10.1.fc22.x86_64 #1
Feb 22 11:14:03 odvarok kernel: Hardware name: LENOVO 7762AS1/7762AS1, BIOS 7SET39WW (1.25 ) 03/22/2011
Feb 22 11:14:03 odvarok kernel: task: ffff8800b77b34a0 ti: ffff8800b81fc000 task.ti: ffff8800b81fc000
Feb 22 11:14:03 odvarok kernel: RIP: 0010:[<ffffffffa01ee43a>]  [<ffffffffa01ee43a>] i915_gem_object_ggtt_unpin+0xca/0xd0 [i915]
Feb 22 11:14:03 odvarok kernel: RSP: 0018:ffff8800b81ff6b0  EFLAGS: 00010246
Feb 22 11:14:03 odvarok kernel: RAX: ffff8800b5dc4400 RBX: ffff8800b416fe00 RCX: ffff8800b5dc4400
Feb 22 11:14:03 odvarok kernel: RDX: 00000000ffffffff RSI: ffff88007d0998a8 RDI: ffff8800b416fe00
Feb 22 11:14:03 odvarok kernel: RBP: ffff8800b81ff6b0 R08: ffff8800b416ff00 R09: 0000000000000000
Feb 22 11:14:03 odvarok kernel: R10: 0000000000000001 R11: 0000000000000001 R12: ffff8800b416fe00
Feb 22 11:14:03 odvarok kernel: R13: ffffffffa0283f60 R14: ffff8800b46ba600 R15: ffff8800b8181300
Feb 22 11:14:03 odvarok kernel: FS:  00007f79574208c0(0000) GS:ffff8800be000000(0000) knlGS:0000000000000000
Feb 22 11:14:03 odvarok kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
Feb 22 11:14:03 odvarok kernel: CR2: 00007fde7941bf68 CR3: 00000000b4b86000 CR4: 00000000000007f0
Feb 22 11:14:03 odvarok kernel: Stack:
Feb 22 11:14:03 odvarok kernel:  ffff8800b81ff6c8 ffffffffa01ee452 ffff8800b416fe00 ffff8800b81ff6e8
Feb 22 11:14:03 odvarok kernel:  ffffffffa022f9cd ffff8800b46ba600 ffff88007e803060 ffff8800b81ff708
Feb 22 11:14:03 odvarok kernel:  ffffffffa023bf6f ffff88007ea87c00 ffff8800b8181300 ffff8800b81ff788
Feb 22 11:14:03 odvarok kernel: Call Trace:
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa01ee452>] i915_gem_object_unpin_from_display_plane+0x12/0x90 [i915]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa022f9cd>] intel_unpin_fb_obj+0x2d/0x60 [i915]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa023bf6f>] intel_cleanup_plane_fb+0x3f/0x80 [i915]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa014393e>] drm_plane_helper_commit+0x1fe/0x300 [drm_kms_helper]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa0143b8c>] drm_plane_helper_disable+0x5c/0xb0 [drm_kms_helper]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa0233ee3>] __intel_set_mode+0x323/0xb90 [i915]
Feb 22 11:14:03 odvarok kernel:  [<ffffffff8124b45c>] ? rcu_read_lock_sched_held+0x6c/0x80
Feb 22 11:14:03 odvarok kernel:  [<ffffffff8124f645>] ? __kmalloc+0x205/0x2d0
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa023b947>] intel_crtc_set_config+0xca7/0x1020 [i915]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa00bc037>] ? drm_atomic_state_free+0x27/0x60 [drm]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa00ab7e9>] drm_mode_set_config_internal+0x69/0x120 [drm]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa014c908>] restore_fbdev_mode+0xc8/0xf0 [drm_kms_helper]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa014e969>] drm_fb_helper_restore_fbdev_mode_unlocked+0x29/0x80 [drm_kms_helper]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa014e9e2>] drm_fb_helper_set_par+0x22/0x50 [drm_kms_helper]
Feb 22 11:14:03 odvarok kernel:  [<ffffffffa024b7aa>] intel_fbdev_set_par+0x1a/0x60 [i915]
Feb 22 11:14:03 odvarok kernel:  [<ffffffff814a615c>] fb_set_var+0x23c/0x4a0
Feb 22 11:14:03 odvarok kernel:  [<ffffffff8149baac>] fbcon_blank+0x34c/0x390
Feb 22 11:14:03 odvarok kernel:  [<ffffffff8153d502>] do_unblank_screen+0xe2/0x1f0
Feb 22 11:14:03 odvarok kernel:  [<ffffffff815319b1>] complete_change_console+0x61/0xf0
Feb 22 11:14:03 odvarok kernel:  [<ffffffff8153221a>] vt_ioctl+0x7da/0x14c0
Feb 22 11:14:03 odvarok kernel:  [<ffffffff8110386f>] ? lock_release_holdtime.part.29+0xf/0x200
Feb 22 11:14:03 odvarok kernel:  [<ffffffff81523e29>] tty_ioctl+0x449/0xe00
Feb 22 11:14:03 odvarok kernel:  [<ffffffff813a7be5>] ? inode_has_perm.isra.48+0x55/0xa0
Feb 22 11:14:03 odvarok kernel:  [<ffffffff8128cd68>] do_vfs_ioctl+0x2e8/0x530
Feb 22 11:14:03 odvarok kernel:  [<ffffffff8128d031>] SyS_ioctl+0x81/0xa0
Feb 22 11:14:03 odvarok kernel:  [<ffffffff81880ba9>] system_call_fastpath+0x12/0x17
Feb 22 11:14:03 odvarok kernel: Code: 41 83 e1 f0 83 e2 0f 41 09 d1 84 d2 44 88 88 c0 00 00 00 75 07 80 a7 59 01 00 00 7f 5d c3 0f 1f 00 0f 0b 66 0f 1f 44 00 00 0f 0b <0f> 0b 0f 1f 40 00 66 66 66 66 90 55 48 89 e5 53 48 89 fb e8 1e 
Feb 22 11:14:03 odvarok kernel: RIP  [<ffffffffa01ee43a>] i915_gem_object_ggtt_unpin+0xca/0xd0 [i915]
Feb 22 11:14:03 odvarok kernel:  RSP <ffff8800b81ff6b0>
Feb 22 11:14:03 odvarok kernel: ---[ end trace 804a0e2e3e91ca25 ]---

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1195034
Comment 1 Alex Xu (Hello71) 2015-03-03 20:38:24 UTC
Reproducible with 023a6007a08d342b64895a7342e426d12d9627dd (4.0-rc1+):

-----

WARNING: CPU: 0 PID: 260 at drivers/gpu/drm/i915/i915_gem.c:4284 i915_gem_object_unpin_fence+0x75/0xa0()
WARN_ON(dev_priv->fence_regs[obj->fence_reg].pin_count <= 0)
Modules linked in: af_packet uvcvideo ath3k videobuf2_vmalloc btusb videobuf2_memops videobuf2_core bluetooth v4l2_common videodev rtsx_usb_sdmmc mmc_core rtsx_usb mfd_core ath9k ath9k_common ath9k_hw ath firmware_class mac80211 x86_pkg_temp_thermal kvm_intel cfg80211   kvm ehci_pci xhci_pci xhci_hcd ehci_hcd usbcore rfkill usb_common
CPU: 0 PID: 260 Comm: X Not tainted 4.0.0-rc1+ #230
Hardware name: Acer Aspire S3-391/Hummingbird2, BIOS V1.29 07/03/2013
 0000000000000000 ffffffff817699b8 ffffffff81537da8 ffff880147e0f8c8
 ffffffff81041f5c ffff8800001d0000 ffff880000121880 ffffffff81681740
 ffff88009d18bf00 ffff880087321840 ffffffff81041fd5 ffffffff81769b08
Call Trace:
 [<ffffffff81537da8>] ? dump_stack+0x40/0x50
 [<ffffffff81041f5c>] ? warn_slowpath_common+0x7c/0xb0
 [<ffffffff81041fd5>] ? warn_slowpath_fmt+0x45/0x50
 [<ffffffff8132fe35>] ? i915_gem_object_unpin_fence+0x75/0xa0
 [<ffffffff813685b8>] ? intel_unpin_fb_obj+0x18/0x50
 [<ffffffff81374237>] ? intel_cleanup_plane_fb+0x37/0x80
 [<ffffffff812dbab2>] ? drm_plane_helper_commit+0x1c2/0x2b0
 [<ffffffff81373d41>] ? intel_crtc_set_config+0xd31/0xfc0
 [<ffffffff812f59af>] ? drm_mode_set_config_internal+0x5f/0x100
 [<ffffffff812e3929>] ? restore_fbdev_mode+0xb9/0xe0
 [<ffffffff812e57db>] ? drm_fb_helper_restore_fbdev_mode_unlocked+0x1b/0x60
 [<ffffffff812e583d>] ? drm_fb_helper_set_par+0x1d/0x40
 [<ffffffff813820b1>] ? intel_fbdev_set_par+0x11/0x60
 [<ffffffff810765bf>] ? __wake_up+0x2f/0x50
 [<ffffffff81274bcc>] ? fb_set_var+0x16c/0x3a0
 [<ffffffff811e5219>] ? jbd2_journal_stop+0x199/0x380
 [<ffffffff81159b8a>] ? inode_to_bdi+0x1a/0x60
 [<ffffffff810f104c>] ? balance_dirty_pages_ratelimited+0x1c/0xa90
 [<ffffffff8126f3e5>] ? fbcon_blank+0x225/0x2e0
 [<ffffffff81001856>] ? __switch_to+0x436/0x5c0
 [<ffffffff812c8c02>] ? do_unblank_screen+0xb2/0x1e0
 [<ffffffff812bf23f>] ? complete_change_console+0x4f/0xd0
 [<ffffffff812c0366>] ? vt_ioctl+0x10a6/0x1330
 [<ffffffff8110eae9>] ? do_wp_page+0x359/0x840
 [<ffffffff812eb175>] ? drm_ioctl+0x85/0x5a0
 [<ffffffff812b3d9e>] ? tty_ioctl+0x3de/0xc20
 [<ffffffff81145bd8>] ? do_vfs_ioctl+0x2e8/0x4f0
 [<ffffffff81034c93>] ? __do_page_fault+0x123/0x3c0
 [<ffffffff81145e16>] ? SyS_ioctl+0x36/0x80
 [<ffffffff8153f08f>] ? page_fault+0x1f/0x30
 [<ffffffff8153d692>] ? system_call_fastpath+0x12/0x17
---[ end trace 2f8f33a70f93b3eb ]---
Comment 2 Jani Nikula 2016-01-18 13:10:25 UTC
Please try kernel v4.4.
Comment 3 Josh Boyer 2016-01-18 23:09:28 UTC
(In reply to Jani Nikula from comment #2)
> Please try kernel v4.4.

Do you have a commit in 4.4 that you can point to?
Comment 4 Chris Wilson 2016-01-19 08:55:29 UTC
commit 0c82312f3f15538f4e6ceda2a82caee8fbac4501 [not in v4.4]
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Dec 4 16:05:26 2015 +0000

    drm/i915: Pin the ifbdev for the info->system_base GGTT mmapping

Possibly, though unpin-fence and ifbdev don't truly mix, so could well be an atomic bug.
Comment 5 Jari Tahvanainen 2016-12-09 13:09:40 UTC
Josh and Alex Xu, Please retest with the latest drm-tip since 

commit 49ef5294cda256aa5496ba56bbf859d3c7a17e07
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Aug 18 17:17:00 2016 +0100
    drm/i915: Move fence tracking from object to vma

and

commit 47ed32483e1f1fc391c78466f5fd66f03078e9e4
Author:     Chris Wilson <chris@chris-wilson.co.uk>
AuthorDate: Wed Oct 12 12:48:26 2016 +0100
Commit:     Jani Nikula <jani.nikula@intel.com>
CommitDate: Fri Oct 28 15:18:51 2016 +0300
    drm/i915: Use fence_write() from rpm resume

These commits have changed the setup, so it would be really valuable to know if the bug is still reproducible.
Comment 6 Alex Xu (Hello71) 2016-12-09 19:13:27 UTC
I don't use this hardware anymore.
Comment 7 Ricardo 2017-02-23 21:56:20 UTC
There seems to have fixes already in place, the submitter can not validate it since has no longer the hardware


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.