[Intel-gfx] Oops at shutdown in intel_unpin_fb_obj()
Linus Torvalds
torvalds at linux-foundation.org
Sun Jan 8 23:35:45 UTC 2017
This has so far only happened once, so I don't know how repeatable it
is, but here goes..
My nice stable XPS13 just oopsed on shutdown. It is possibly related
to the X server SIGSEGV'ing too, although honestly, I am not sure
which caused which. Maybe the kernel oops caused the X problem. They
definitely happened together, and happened as I was shutting down the
machine.
I'm including the syslog for the Xorg issue too, in case it ends up
giving people ideas, but the kernel oops is what I actually looked at.
The code decodes to
74 67 je 0x69
48 8d 7d b8 lea -0x48(%rbp),%rdi
44 89 ea mov %r13d,%edx
4c 89 e6 mov %r12,%rsi
e8 3e 2d ff ff callq ..
48 8b 43 08 mov 0x8(%rbx),%rax
48 8d 55 b8 lea -0x48(%rbp),%rdx
48 89 df mov %rbx,%rdi
48 8d b0 08 39 00 00 lea 0x3908(%rax),%rsi
e8 47 1a fc ff callq ..
* 48 8b 50 78 mov 0x78(%rax),%rdx <--
trapping instruction
48 85 d2 test %rdx,%rdx
74 04 je 0x35
83 6a 20 01 subl $0x1,0x20(%rdx)
48 89 c7 mov %rax,%rdi
e8 c2 60 fc ff callq ..
and just comparing it to the generted code it seems to be this:
call i915_gem_obj_to_vma #
movq 120(%rax), %rdx # MEM[(struct drm_i915_fence_reg *
*)_24 + 120B], _15
where %rax (the return value from i915_gem_obj_to_vma()) is NULL.
So it seems to be this code:
...
vma = i915_gem_object_to_ggtt(obj, &view);
i915_vma_unpin_fence(vma);
i915_gem_object_unpin_from_display_plane(vma);
...
where vma is NULL.
The other user of i915_gem_object_to_ggtt() does have a test of !vma,
although with a warning. Which implies it does happen, but shouldn't.
Maybe consistent with the Xorg confusion?
Linus
---
gdm-x-session: (II) UnloadModule: "libinput"
gdm-x-session: (II) systemd-logind: releasing fd for 13:72
gdm-x-session: (II) UnloadModule: "libinput"
gdm-x-session: (II) systemd-logind: releasing fd for 13:78
gdm-x-session: (II) UnloadModule: "libinput"
gdm-x-session: (II) systemd-logind: releasing fd for 13:66
gdm-x-session: (II) UnloadModule: "libinput"
gdm-x-session: (II) systemd-logind: releasing fd for 13:65
gdm-x-session: (II) UnloadModule: "libinput"
gdm-x-session: (II) systemd-logind: releasing fd for 13:69
gdm-x-session: (II) UnloadModule: "libinput"
gdm-x-session: (II) systemd-logind: releasing fd for 13:67
gdm-x-session: (EE)
gdm-x-session: (EE) Backtrace:
gdm-x-session: (EE) 0: /usr/libexec/Xorg (OsLookupColor+0x139) [0x59f859]
gdm-x-session: (EE) 1: /lib64/libc.so.6 (__restore_rt+0x0) [0x7fe554e5a7df]
gdm-x-session: (EE) 2: /usr/lib64/xorg/modules/libfb.so
(_fbGetWindowPixmap+0xd) [0x7fe54d16b6fd]
gdm-x-session: (EE) 3: /usr/libexec/Xorg
(present_extension_init+0x5b7) [0x51b9b7]
gdm-x-session: (EE) 4: /usr/libexec/Xorg
(present_extension_init+0x685) [0x51bb95]
gdm-x-session: (EE) 5: /usr/libexec/Xorg
(present_extension_init+0xdf2) [0x51ca62]
gdm-x-session: (EE) 6: /usr/libexec/Xorg (AddTraps+0x9133) [0x523973]
gdm-x-session: (EE) 7: /usr/libexec/Xorg
(CompositeRegisterImplicitRedirectionException+0x4098) [0x4ccf58]
gdm-x-session: (EE) 8: /usr/libexec/Xorg (AddTraps+0x73f4) [0x51fe84]
gdm-x-session: (EE) 9: /usr/libexec/Xorg (remove_fs_handlers+0x581) [0x43af61]
gdm-x-session: (EE) 10: /lib64/libc.so.6 (__libc_start_main+0xf1)
[0x7fe554e46731]
gdm-x-session: (EE) 11: /usr/libexec/Xorg (_start+0x29) [0x424d59]
gdm-x-session: (EE) 12: ? (?+0x29) [0x29]
gdm-x-session: (EE)
gdm-x-session: (EE) Segmentation fault at address 0x10
gdm-x-session: (EE)
gdm-x-session: Fatal server error:
gdm-x-session: (EE) Caught signal 11 (Segmentation fault). Server aborting
gdm-x-session: (EE)
gdm-x-session: (EE)
gdm-x-session: Please consult the Fedora Project support
gdm-x-session: at http://wiki.x.org
gdm-x-session: for help.
gdm-x-session: (EE) Please also check the log file at
"/home/torvalds/.local/share/xorg/Xorg.0.log" for additional
information.
gdm-x-session: (EE)
gdm-x-session: (WW) xf86CloseConsole: KDSETMODE failed: Input/output error
gdm-x-session: (WW) xf86CloseConsole: VT_GETMODE failed: Input/output error
gdm-x-session: (WW) xf86CloseConsole: VT_ACTIVATE failed: Input/output error
kernel: BUG: unable to handle kernel NULL pointer dereference at
0000000000000078
IP: intel_unpin_fb_obj+0x69/0xe0 [i915]
PGD 0
Oops: 0000 [#1] SMP
Modules linked in: rfcomm fuse ccm ip6t_rpfilter ip6t_REJECT
nf_reject_ipv6 xt_conntrack ip_set nfnetlink ebtable_nat
ebtable_broute bridge stp llc ip6table_nat nf_conntrack_ipv6
nf_defrag_ipv6 nf_nat_ipv6 ip6table_security ip6table_mangle
ip6table_raw iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4
nf_nat nf_conntrack iptable_security iptable_mangle iptable_raw
ebtable_filter ebtables ip6table_filter ip6_tables cmac bnep vfat fat
arc4 snd_hda_codec_hdmi dell_led snd_soc_skl intel_rapl iTCO_wdt
snd_soc_skl_ipc x86_pkg_temp_thermal intel_powerclamp snd_soc_sst_ipc
snd_hda_codec_realtek coretemp snd_hda_codec_generic snd_soc_sst_dsp
snd_hda_ext_core snd_soc_sst_match snd_soc_core
i2c_designware_platform i2c_designware_core kvm_intel iwlmvm dell_wmi
snd_hda_intel kvm snd_hda_codec
snd_hwdep mac80211 snd_hda_core snd_seq irqbypass snd_seq_device
intel_cstate dell_laptop intel_rapl_perf dell_smbios snd_pcm dcdbas
iwlwifi rtsx_pci_ms snd_timer memstick snd cfg80211 soundcore i2c_i801
joydev shpchp btusb btrtl mei_me idma64 processor_thermal_device mei
intel_lpss_pci intel_soc_dts_iosf intel_pch_thermal wmi hci_uart btbcm
btqca btintel bluetooth acpi_als pinctrl_sunrisepoint kfifo_buf
intel_lpss_acpi pinctrl_intel rfkill int3403_thermal industrialio
intel_lpss int340x_thermal_zone acpi_pad intel_hid tpm_tis
int3400_thermal tpm_tis_core acpi_thermal_rel sparse_keymap tpm nfsd
auth_rpcgss nfs_acl lockd grace sunrpc dm_crypt hid_multitouch
rtsx_pci_sdmmc mmc_core crct10dif_pclmul i915 crc32_pclmul
crc32c_intel ghash_clmulni_intel i2c_algo_bit serio_raw drm_kms_helper
syscopyarea nvme sysfillrect nvme_core rtsx_pci sysimgblt
fb_sys_fops drm i2c_hid video fjes
CPU: 0 PID: 5083 Comm: systemd-logind Not tainted
4.10.0-rc2-00103-g4cf184638bcf #38
Hardware name: Dell Inc. XPS 13 9350/09JHRY, BIOS 1.4.12 11/30/2016
task: ffff8d8fe8af8000 task.stack: ffffb5e4c2388000
RIP: 0010:intel_unpin_fb_obj+0x69/0xe0 [i915]
RSP: 0018:ffffb5e4c238b7e0 EFLAGS: 00010282
RAX: 0000000000000000 RBX: ffff8d8fab64e100 RCX: ffff8d8fab64e101
RDX: ffffb5e4c238b7e0 RSI: ffff8d8fe77eb908 RDI: ffff8d8fab64e100
RBP: ffffb5e4c238b828 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000007 R11: 00000000000000bf R12: ffff8d8fc64d5900
R13: 0000000000000001 R14: ffff8d8fe7f6b540 R15: ffff8d8f9c6d6c00
FS: 00007f7f18786900(0000) GS:ffff8d8ffec00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000078 CR3: 000000046a72f000 CR4: 00000000003406f0
Call Trace:
intel_cleanup_plane_fb+0x5b/0xa0 [i915]
drm_atomic_helper_cleanup_planes+0x6f/0x90 [drm_kms_helper]
intel_atomic_commit_tail+0x749/0xfe0 [i915]
intel_atomic_commit+0x3cb/0x4f0 [i915]
drm_atomic_commit+0x4b/0x50 [drm]
restore_fbdev_mode+0x14c/0x2a0 [drm_kms_helper]
drm_fb_helper_restore_fbdev_mode_unlocked+0x34/0x80 [drm_kms_helper]
drm_fb_helper_set_par+0x2d/0x60 [drm_kms_helper]
intel_fbdev_set_par+0x18/0x70 [i915]
fb_set_var+0x236/0x460
fbcon_blank+0x30f/0x350
do_unblank_screen+0xd2/0x1a0
vt_ioctl+0x507/0x12a0
tty_ioctl+0x355/0xc30
do_vfs_ioctl+0xa3/0x5e0
SyS_ioctl+0x79/0x90
entry_SYSCALL_64_fastpath+0x13/0x94
RIP: 0033:0x7f7f17850ce7
RSP: 002b:00007ffe696d9bf8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 000000000000001a RCX: 00007f7f17850ce7
RDX: 0000000000000000 RSI: 0000000000004b3a RDI: 0000000000000015
RBP: 00007f7f187866c8 R08: 00000016170f1200 R09: 0000000000000009
R10: 0000000000000075 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000001 R14: 000055f66b267790 R15: 000055f66b25e190
Code: ff ff ff 74 67 48 8d 7d b8 44 89 ea 4c 89 e6 e8 3e 2d ff ff
48 8b 43 08 48 8d 55 b8 48 89 df 48 8d b0 08 39 00 00 e8 47 1a fc ff
<48> 8b 50 78 48 85 d2 74 04 83 6a 20 01 48 89 c7 e8 c2 60 fc ff
RIP: intel_unpin_fb_obj+0x69/0xe0 [i915] RSP: ffffb5e4c238b7e0
CR2: 0000000000000078
---[ end trace daf415d61b7a5042 ]---
More information about the Intel-gfx
mailing list