Public bug reported:

After updated an old laptop to Ubuntu Cosmic (was running Xenial before)
the graphic hangs at startup, nothing is displayed but a grey screen
(grub residual), note that the recovery boot option using `nodmodeset`
displays a text console and I'm still able to log-in over a serial tty
on normal boot so kernel is alive but computer is not usable due to lack
graphic support.

Computer is a Thinkpad X61 Tablet plugged on an X6 Tablet UltraBase
- http://www.thinkwiki.org/wiki/Category:X61_Tablet
- http://www.thinkwiki.org/wiki/ThinkPad_X6_Tablet_UltraBase
GPU is an Intel GMA X3100
- http://www.thinkwiki.org/wiki/Intel_Graphics_Media_Accelerator_X3100

Some information:

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.10
Release:        18.10
Codename:       cosmic

# uname -a
Linux arwen 4.18.0-14-generic #15-Ubuntu SMP Mon Jan 14 09:01:02 UTC 2019 
x86_64 x86_64 x86_64 GNU/Linux

# lspci -vvv -nn -s 00:02.0
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile GM965/GL960 
Integrated Graphics Controller (primary) [8086:2a02] (rev 0c) (prog-if 00 [VGA 
controller])
        Subsystem: Lenovo GM965 [X3100] on ThinkPad T61/R61 [17aa:20b5]
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at f8000000 (64-bit, non-prefetchable) [size=1M]
        Region 2: Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Region 4: I/O ports at 1800 [size=8]
        [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
        Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
                Address: 00000000  Data: 0000
        Capabilities: [d0] Power Management version 3
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
                Bridge: PM- B3+
        Kernel driver in use: i915
        Kernel modules: i915, intelfb

Useful bits from dmesg:

[    0.000000] microcode: microcode updated early to revision 0xba, date = 
2010-10-03
[    0.000000] Linux version 4.18.0-14-generic (buildd@lgw01-amd64-036) (gcc 
version 8.2.0 (Ubuntu 8.2.0-7ubuntu1)) #15-Ubuntu SMP Mon Jan 14 09:01:02 UTC 
2019 (Ubuntu 4.18.0-14.15-generic 4.18.20)
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.18.0-14-generic 
root=/dev/mapper/arwen--vg-arwen--disk ro console=tty0 console=ttyS0,9600n8 
quiet splash vt.handoff=1
[    0.000000] DMI: LENOVO 7762B6G/7762B6G, BIOS 7SET38WW (1.24 ) 10/12/2009
[    0.000000] total RAM covered: 2023M
[    0.000000] ACPI BIOS Warning (bug): 32/64X length mismatch in 
FADT/Gpe0Block: 64/32 (20180531/tbfadt-569)
[    0.000000] ACPI BIOS Warning (bug): Optional FADT field Gpe1Block has valid 
Address but zero Length: 0x000000000000102C/0x0 (20180531/tbfadt-624)
[    0.000000] Reserving Intel graphics memory at [mem 0x7e800000-0x7effffff]
[    0.000000] vt handoff: transparent VT on vt#1
[    0.000000] Console: colour dummy device 80x25
[    0.000000] console [tty0] enabled
[    0.000000] console [ttyS0] enabled
[    0.036000] smpboot: CPU0: Intel(R) Core(TM)2 Duo CPU     L7500  @ 1.60GHz 
(family: 0x6, model: 0xf, stepping: 0xb)
[    0.150851] pci 0000:00:02.0: vgaarb: setting as boot VGA device
[    0.150851] pci 0000:00:02.0: vgaarb: VGA device added: 
decodes=io+mem,owns=io+mem,locks=none
[    0.150851] pci 0000:00:02.0: vgaarb: bridge control possible
[    0.150851] vgaarb: loaded
[    1.812994] vesafb: mode is 1024x768x32, linelength=4096, pages=0
[    1.812996] vesafb: scrolling: redraw
[    1.812999] vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[    1.813021] vesafb: framebuffer at 0xe0000000, mapped to 0x(____ptrval____), 
using 3072k, total 3072k
[    1.813205] Console: switching to colour frame buffer device 128x48
[    1.813241] fb0: VESA VGA frame buffer device
[    1.813268] intel_idle: does not run on family 6 model 15
[    2.033228] rtc_cmos 00:02: setting system clock to 2019-01-28 00:00:16 UTC 
(1548633616)
[    2.037838] Unstable clock detected, switching default tracing clock to 
"global"
               If you want to keep using the local clock, then add:
                 "trace_clock=local"
               on the kernel command line
[    2.648281] pci 0000:00:00.0: Intel 965GM Chipset
[    2.648317] pci 0000:00:00.0: detected gtt size: 524288K total, 262144K 
mappable
[    2.649759] pci 0000:00:00.0: detected 8192K stolen memory
[    2.650159] checking generic (e0000000 300000) vs hw (e0000000 10000000)
[    2.650161] fb: switching to inteldrmfb from VESA VGA
[    2.650208] Console: switching to colour dummy device 80x25
[    2.650405] [drm] Replacing VGA console driver
[    2.664856] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.664858] [drm] Driver supports precise vblank timestamp query.
[    2.672436] gpio_ich: GPIO from 462 to 511 on gpio_ich
[    2.686494] i915 0000:00:02.0: vgaarb: changed VGA decodes: 
olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    2.705212] [drm] RC6 disabled, disabling runtime PM support
[    2.705253] BUG: unable to handle kernel NULL pointer dereference at 
0000000000000008
[    2.709180] PGD 0 P4D 0 
[    2.709180] Oops: 0000 [#1] SMP PTI
[    2.709180] CPU: 0 PID: 164 Comm: systemd-udevd Not tainted 
4.18.0-14-generic #15-Ubuntu
[    2.709180] Hardware name: LENOVO 7762B6G/7762B6G, BIOS 7SET38WW (1.24 ) 
10/12/2009
[    2.709180] RIP: 0010:gen4_render_ring_flush+0x60/0x110 [i915]
[    2.709180] Code: 00 48 89 df e8 51 fe ff ff 48 3d 00 f0 ff ff 77 6c 44 89 
20 48 8d 48 44 c7 40 04 02 40 00 7a 48 8b 53 78 48 8b 92 10 02 00 00 <48> 8b 52 
08 48 c7 40 0c 00 00 00 00 83 ca 04 89 50 08 48 8d 50 14 
[    2.709180] RSP: 0018:ffffc2718067b978 EFLAGS: 00010287
[    2.709180] RAX: ffffc27190303000 RBX: ffff9e5533e87200 RCX: ffffc27190303044
[    2.709180] RDX: 0000000000000000 RSI: 00000000000001a8 RDI: 0000000000000150
[    2.709180] RBP: ffffc2718067b988 R08: 0000000000000001 R09: 0000000000000002
[    2.709180] R10: 0000000000000001 R11: ffff9e5533e87200 R12: 0000000002000002
[    2.709180] R13: ffff9e5533e87200 R14: ffff9e553380ac00 R15: ffff9e5533ab8000
[    2.709180] FS:  00007fd9f63c88c0(0000) GS:ffff9e557e400000(0000) 
knlGS:0000000000000000
[    2.709180] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    2.709180] CR2: 0000000000000008 CR3: 0000000034302000 CR4: 00000000000006f0
[    2.709180] Call Trace:
[    2.709180]  i915_request_alloc+0x24e/0x370 [i915]
[    2.709180]  i915_gem_init+0x26b/0x470 [i915]
[    2.709180]  i915_driver_load+0xab8/0xd80 [i915]
[    2.709180]  ? mutex_lock+0x12/0x30
[    2.709180]  i915_pci_probe+0x46/0x60 [i915]
[    2.709180]  local_pci_probe+0x46/0x90
[    2.709180]  pci_device_probe+0x11c/0x1a0
[    2.709180]  driver_probe_device+0x2e3/0x460
[    2.709180]  __driver_attach+0xe4/0x110
[    2.709180]  ? driver_probe_device+0x460/0x460
[    2.709180]  bus_for_each_dev+0x74/0xb0
[    2.709180]  ? kmem_cache_alloc_trace+0x1c4/0x1d0
[    2.709180]  driver_attach+0x1e/0x20
[    2.709180]  bus_add_driver+0x159/0x230
[    2.709180]  ? 0xffffffffc0474000
[    2.709180]  driver_register+0x70/0xc0
[    2.709180]  ? 0xffffffffc0474000
[    2.709180]  __pci_register_driver+0x57/0x60
[    2.709180]  i915_init+0x55/0x58 [i915]
[    2.709180]  do_one_initcall+0x4a/0x1c4
[    2.709180]  ? _cond_resched+0x19/0x30
[    2.709180]  ? kmem_cache_alloc_trace+0xb8/0x1d0
[    2.709180]  ? do_init_module+0x27/0x220
[    2.709180]  do_init_module+0x60/0x220
[    2.709180]  load_module+0x14f4/0x1890
[    2.709180]  __do_sys_finit_module+0xbd/0x120
[    2.709180]  ? __do_sys_finit_module+0xbd/0x120
[    2.709180]  __x64_sys_finit_module+0x1a/0x20
[    2.709180]  do_syscall_64+0x5a/0x110
[    2.709180]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[    2.709180] RIP: 0033:0x7fd9f6e4d219
[    2.709180] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 
f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 
f0 ff ff 73 01 c3 48 8b 0d 47 fc 0c 00 f7 d8 64 89 01 48 
[    2.709180] RSP: 002b:00007ffc11865868 EFLAGS: 00000246 ORIG_RAX: 
0000000000000139
[    2.709180] RAX: ffffffffffffffda RBX: 00005580d38f98c0 RCX: 00007fd9f6e4d219
[    2.709180] RDX: 0000000000000000 RSI: 00007fd9f6d31cad RDI: 0000000000000012
[    2.709180] RBP: 00007fd9f6d31cad R08: 0000000000000000 R09: 0000000000000000
[    2.709180] R10: 0000000000000012 R11: 0000000000000246 R12: 0000000000000000
[    2.709180] R13: 00005580d3913ae0 R14: 0000000000020000 R15: 00005580d38f98c0
[    2.709180] Modules linked in: gpio_ich i915(+) i2c_algo_bit drm_kms_helper 
syscopyarea sysfillrect sdhci_pci sysimgblt cqhci ahci psmouse libahci 
pata_acpi lpc_ich sdhci firewire_ohci firewire_core fb_sys_fops crc_itu_t drm 
e1000e(+) video
[    2.709180] CR2: 0000000000000008
[    6.662940] ---[ end trace f94080e81515a639 ]---
[    6.718286] RIP: 0010:gen4_render_ring_flush+0x60/0x110 [i915]

You'll notice the `console=tty0 console=ttyS0,9600n8` kernel boot
options I added for serial fallback, the hang also occurs without them
of course. Removing the `quiet splash` kernel boot options does not
help.

Note that some people reported slowness with this GPU on Ubuntu Bionic but 
suggested workaround changes nothing for me, this seems unrelated:
- 
https://doc.ubuntu-fr.org/intel_graphics#gm_965lenteur_lors_du_demarrage_d_ubuntu_1804
- https://bugzilla.redhat.com/show_bug.cgi?id=1398424
The graphic hang I experience looks to not be related to that other bug.

It's also good to know that reboot never succeeds. I always have to
shutdown the computer the hardware way once everything is stopped by
systemd. But if I started with `nomodeset` the computer reboots
correctly.

Sometime it displays stuff about udev while trying (but failing) to
reboot:

 OK  tarting Reboot...
[  301.785271] systemd-udevd[476]: giving up waiting for workers to finish
[  301.864596] systemd-udevd[476]: event loop failed: Connection timed out

Removing the `$vt_handoff` option helps to flush the grey screen.
Removing `quiet splash` and `$vt_handoff` displays an console on screen with 
correct resolution (`nomodeset` is not set) but the bug occurs lately:

[   30.383137] fb: switching to inteldrmfb from VESA VGA
[   30.649155] Console: switching to colour dummy device 80x25
[   31.249173] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[   31.328438] [drm] Driver supports precise vblank timestamp query.
[   31.404156] i915 0000:00:02.0: vgaarb: changed VGA decodes: 
olddecodes=io+mem,decodes=io+mem:owns=io+mem
[   31.534177] [drm] RC6 disabled, disabling runtime PM support
[   31.602002] BUG: unable to handle kernel NULL pointer dereference at 
0000000000000008
[   31.605932] PGD 0 P4D 0
[   31.605932] Oops: 0000 [#1] SMP PTI
[   31.605932] CPU: 1 PID: 170 Comm: systemd-udevd Not tainted 
4.18.0-14-generic #15-Ubuntu
[   31.605932] Hardware name: LENOVO 7762B6G/7762B6G, BIOS 7SET38WW (1.24 ) 
10/12/2009
[   31.605932] RIP: 0010:gen4_render_ring_flush+0x60/0x110 [i915]
[   31.605932] Code:
[   31.784553] 00 48 89 df e8 51 fe ff ff 48 3d 00 f0 ff ff 77 6c 44 89 20 48 
8d 48 44 c7 40 04 02 40 00 7a 48 8b 53 78 48 8b 92 10 02 00 00 <48> 8b 52 08 48 
c7 40 0c 00 00 00 00 83 ca 04 89 50 08 48 8d 50 14
[   31.856932] RSP: 0018:ffffbc194066b978 EFLAGS: 00010287
[   31.856932] RAX: ffffbc1950303000 RBX: ffff9d7033ebdd40 RCX: ffffbc1950303044
[   31.856932] RDX: 0000000000000000 RSI: 00000000000001a8 RDI: 0000000000000150
[   31.856932] RBP: ffffbc194066b988 R08: 0000000000000001 R09: 0000000000000002
[   31.856932] R10: ffff9d707e6857c8 R11: ffff9d7033ebdd40 R12: 0000000002000002
[   31.856932] R13: ffff9d7033ebdd40 R14: ffff9d70338e7c00 R15: ffff9d70335e0000
[   31.856932] FS:  00007fae02a828c0(0000) GS:ffff9d707e500000(0000) 
knlGS:0000000000000000
[   31.856932] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   31.856932] CR2: 0000000000000008 CR3: 000000003390a000 CR4: 00000000000006e0
[   31.856932] Call Trace:
[   31.856932]  i915_request_alloc+0x24e/0x370 [i915]
[   31.856932]  i915_gem_init+0x26b/0x470 [i915]
[   31.856932]  i915_driver_load+0xab8/0xd80 [i915]
[   31.856932]  ? mutex_lock+0x12/0x30
[   31.856932]  i915_pci_probe+0x46/0x60 [i915]
[   31.856932]  local_pci_probe+0x46/0x90
[   31.856932]  pci_device_probe+0x11c/0x1a0
[   31.856932]  driver_probe_device+0x2e3/0x460
[   31.856932]  __driver_attach+0xe4/0x110
[   31.856932]  ? driver_probe_device+0x460/0x460
[   31.856932]  bus_for_each_dev+0x74/0xb0
[   31.856932]  ? kmem_cache_alloc_trace+0x1c4/0x1d0
[   31.856932]  driver_attach+0x1e/0x20
[   31.856932]  bus_add_driver+0x159/0x230
[   31.856932]  ? 0xffffffffc03f3000
[   31.856932]  driver_register+0x70/0xc0
[   31.856932]  ? 0xffffffffc03f3000
[   31.856932]  __pci_register_driver+0x57/0x60
[   31.856932]  i915_init+0x55/0x58 [i915]
[   31.856932]  do_one_initcall+0x4a/0x1c4
[   31.856932]  ? _cond_resched+0x19/0x30
[   31.856932]  ? kmem_cache_alloc_trace+0xb8/0x1d0
[   31.856932]  ? do_init_module+0x27/0x220
[   31.856932]  do_init_module+0x60/0x220
[   31.856932]  load_module+0x14f4/0x1890
[   31.856932]  __do_sys_finit_module+0xbd/0x120
[   31.856932]  ? __do_sys_finit_module+0xbd/0x120
[   31.856932]  __x64_sys_finit_module+0x1a/0x20
[   31.856932]  do_syscall_64+0x5a/0x110
[   31.856932]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[   31.856932] RIP: 0033:0x7fae03507219
[   31.856932] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 
f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 
f0 ff ff 73 01 c3 48 8b 0d 47 fc 0c 00 f7 d8 64 89 01 48
[   31.856932] RSP: 002b:00007fff8b162d68 EFLAGS: 00000246 ORIG_RAX: 
0000000000000139
[   31.856932] RAX: ffffffffffffffda RBX: 000055d27a1d8da0 RCX: 00007fae03507219
[   31.856932] RDX: 0000000000000000 RSI: 00007fae033ebcad RDI: 0000000000000012
[   31.856932] RBP: 00007fae033ebcad R08: 0000000000000000 R09: 0000000000000000
[   31.856932] R10: 0000000000000012 R11: 0000000000000246 R12: 0000000000000000
[   31.856932] R13: 000055d27a1ce9e0 R14: 0000000000020000 R15: 000055d27a1d8da0
[   31.856932] Modules linked in: i915(+) i2c_algo_bit drm_kms_helper 
syscopyarea sysfillrect sysimgblt hid_generic firewire_ohci fb_sys_fops usbhid 
sdhci_pci cqhci firewire_core psmouse drm pata_acpi ahci libahci gpio_ich sdhci 
lpc_ich crc_itu_t hid e1000e video
[   31.856932] CR2: 0000000000000008
[   35.778712] ---[ end trace 47fce85f566a6373 ]---
[   35.834067] RIP: 0010:gen4_render_ring_flush+0x60/0x110 [i915]
[   35.903864] Code: 00 48 89 df e8 51 fe ff ff 48 3d 00 f0 ff ff 77 6c 44 89 
20 48 8d 48 44 c7 40 04 02 40 00 7a 48 8b 53 78 48 8b 92 10 02 00 00 <48> 8b 52 
08 48 c7 40 0c 00 00 00 00 83 ca 04 89 50 08 48 8d 50 14

So currently the only way to use the computer is to use it on serial
line or to remove `quiet splash` and `$vt_handoff` to set `nomodeset`
instead to get a text-only console on screen using commands like that:

systemctl start serial-getty@ttyS0.service
systemctl start getty@tty0.service

It's possible to not remove `$vt_handoff` and get a network console over
ssh but there will be nothing displayed on screen so if there is
cryptsetup disk unlocking step to do on startup it has to be done
blindly.

** Affects: linux-signed (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1813509

Title:
  [i915] NULL pointer on Linux 4.18.0-14-generic / cosmic

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-signed/+bug/1813509/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to