Shortly after installing Slackware Linux 15.0 I added the following record to /etc/X11/xorg.conf to stop the _kernel_ from intermittently crashing when the box transitioned to power-saving modes while Xorg was running:
Code:
# in the Monitor section
Option "DPMS" "false"
Though the Slackware Linux 15.0 box's kernel has not crashed since the aforementioned record was added, disabling DPMS within Xorg did not eliminate Xorg's power-saving-related problems/crashes.
A pause in activity long enough for the Slackware Linux 15.0 box to begin powering down subsystems (e.g. the monitor) often causes Xorg to crash. The crashes are more frequent when the following power-saving-related records in /etc/X11/xorg.conf are not commented-out:
Code:
# in the ServerFlags section
BlankTime 3
StandbyTime 5 # only uncommented when the DPMS option is "true" (its default)
SuspendTime 10 # only uncommented when the DPMS option is "true" (its default)
Offtime 30 # only uncommented when the DPMS option is "true" (its default)
and less frequent when only BlankTime is uncommented.
The crashes are usually so severe/sudden that Xorg is unable to log the problem (via Xorg.0.log). Records from /var/log/Xorg.0.log made when Xorg aborted (rather than crashed) follow:
Code:
[ 13416.036] (EE) Backtrace:
[ 13416.037] (EE) 0: /usr/libexec/Xorg (OsLookupColor+0x135) [0x5910a5]
[ 13416.039] (EE) 1: /lib64/libpthread.so.0 (funlockfile+0x50) [0x7fd28fae63a0]
[ 13416.040] (EE) unw_get_proc_name failed: no unwind info found [-10]
[ 13416.040] (EE) 2: /usr/lib64/xorg/modules/drivers/radeon_drv.so (?+0x0) [0x7fd28f0689e2]
[ 13416.040] (EE) unw_get_proc_name failed: no unwind info found [-10]
[ 13416.041] (EE) 3: /usr/lib64/xorg/modules/drivers/radeon_drv.so (?+0x0) [0x7fd28f069ac1]
[ 13416.054] (EE) 4: /usr/libexec/Xorg (xf86DetachAllCrtc+0x9fd) [0x4b155d]
[ 13416.054] (EE) 5: /usr/libexec/Xorg (xf86DestroyCursorInfoRec+0xad6) [0x4bc7a6]
[ 13416.055] (EE) 6: /usr/libexec/Xorg (xf86DestroyCursorInfoRec+0xe05) [0x4bcad5]
[ 13416.055] (EE) 7: /usr/libexec/Xorg (RamDacHandleColormaps+0x743) [0x4bb463]
[ 13416.057] (EE) 8: /usr/libexec/Xorg (miPointerUpdateSprite+0x1e3) [0x57a043]
[ 13416.057] (EE) 9: /usr/libexec/Xorg (miPointerUpdateSprite+0x4f6) [0x57a356]
[ 13416.058] (EE) 10: /usr/libexec/Xorg (compIsAlternateVisual+0x271b) [0x4c96cb]
[ 13416.058] (EE) 11: /usr/libexec/Xorg (AddTraps+0x59da) [0x50b8da]
[ 13416.058] (EE) 12: /usr/libexec/Xorg (ConfineToShape+0x9ea) [0x448d5a]
[ 13416.058] (EE) 13: /usr/libexec/Xorg (MaybeDeliverEventsToClient+0x16f7) [0x44cd37]
[ 13416.059] (EE) 14: /usr/libexec/Xorg (WindowsRestructured+0x3a) [0x44ce6a]
[ 13416.059] (EE) 15: /usr/libexec/Xorg (miMoveWindow+0x20d) [0x5861ed]
[ 13416.059] (EE) 16: /usr/libexec/Xorg (CompositeRegisterImplicitRedirectionException+0xe5d) [0x4c633d]
[ 13416.059] (EE) 17: /usr/libexec/Xorg (ConfigureWindow+0x52d) [0x469b7d]
[ 13416.059] (EE) 18: /usr/libexec/Xorg (ProcBadRequest+0x6fd) [0x43a54d]
[ 13416.059] (EE) 19: /usr/libexec/Xorg (SendErrorToClient+0x33e) [0x43fafe]
[ 13416.060] (EE) 20: /usr/libexec/Xorg (InitFonts+0x3a5) [0x443995]
[ 13416.066] (EE) 21: /lib64/libc.so.6 (__libc_start_main+0xcd) [0x7fd28f91903d]
[ 13416.067] (EE) 22: /usr/libexec/Xorg (_start+0x2a) [0x42e14a]
[ 13416.067] (EE)
[ 13416.067] (EE) Bus error at address 0x7fd288937000
[ 13416.067] (EE)
Fatal server error:
[ 13416.067] (EE) Caught signal 7 (Bus error). Server aborting
[ 13416.067] (EE)
[ 13416.067] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 13416.067] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 13416.067] (EE)
[ 13416.067] (II) AIGLX: Suspending AIGLX clients for VT switch
[ 13418.350] (EE) Server terminated with error (1). Closing log file.
Representative records from /var/log/syslog which may be related follow:
Code:
May 23 19:06:08 una kernel: [drm:uvd_v1_0_ib_test [radeon]] *ERROR* radeon: fence wait timed out.
May 23 19:06:08 una kernel: [drm:radeon_ib_ring_tests [radeon]] *ERROR* radeon: failed testing IB on ring 5 (-110).
May 23 19:06:08 una kernel: ------------[ cut here ]------------
May 23 19:06:08 una kernel: WARNING: CPU: 0 PID: 2964 at drivers/gpu/drm/ttm/ttm_bo.c:409 ttm_bo_release+0x2e2/0x310 [ttm]
May 23 19:06:08 una kernel: Modules linked in: cuse fuse xt_length xt_tcpudp iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 iptable_mangle ip_tables x_tables uvcvideo vide
obuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common hid_generic videodev mc usbhid hid edac_mce_amd platform_profile kvm_amd joydev radeon sparse_keymap drm_ttm_helper ccp ttm drm_kms_helper
drm agpgart i2c_algo_bit kvm irqbypass snd_ctl_led fb_sys_fops snd_hda_codec_idt snd_hda_codec_generic ledtrig_audio snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg syscopyarea snd_intel_sdw_acpi r816
9 evdev snd_hda_codec realtek psmouse snd_hda_core sysfillrect snd_hwdep snd_pcm snd_timer snd serio_raw i2c_piix4 sysimgblt mdio_devres k10temp i2c_core libphy thermal hp_accel soundcore battery lis3lv
02d ohci_pci ohci_hcd ehci_pci ehci_hcd ac video button acpi_cpufreq loop ext4 mbcache jbd2 [last unloaded: wmi]
May 23 19:06:08 una kernel: CPU: 0 PID: 2964 Comm: InputThread Not tainted 5.15.38 #1
May 23 19:06:08 una kernel: Hardware name: Hewlett-Packard HP Pavilion dv4 Notebook PC/3642, BIOS F.03 09/03/2009
May 23 19:06:08 una kernel: RIP: 0010:ttm_bo_release+0x2e2/0x310 [ttm]
May 23 19:06:08 una kernel: Code: e8 63 2e bb d5 e9 b2 fd ff ff 48 8b 7d 98 b9 30 75 00 00 31 d2 be 01 00 00 00 e8 39 50 bb d5 48 8b 45 e8 eb 9d 4c 89 e0 eb 98 <0f> 0b e9 3d fd ff ff e8 42 2c bb d5 e9
f2 fe ff ff be 03 00 00 00
May 23 19:06:08 una kernel: RSP: 0018:ffff9568c020bca0 EFLAGS: 00010202
May 23 19:06:08 una kernel: RAX: 0000000000000001 RBX: ffff9568c020bce0 RCX: 0000000000000000
May 23 19:06:08 una kernel: RDX: 0000000000000002 RSI: ffffffff9734631d RDI: ffff89d8539611d8
May 23 19:06:08 una kernel: RBP: ffff89d8539611d8 R08: ffff89d8539611d8 R09: 0000000000000064
May 23 19:06:08 una kernel: R10: 0000000000000010 R11: ffff89d8515f0201 R12: ffff89d942fd46f0
May 23 19:06:08 una kernel: R13: ffff89d853961078 R14: ffff89d87aa43cc0 R15: ffff89d86821eb88
May 23 19:06:08 una kernel: FS: 00007fd283fff640(0000) GS:ffff89d94c000000(0000) knlGS:0000000000000000
May 23 19:06:08 una kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 23 19:06:08 una kernel: CR2: 00007f4b1fe59628 CR3: 00000000116a0000 CR4: 00000000000006f0
May 23 19:06:08 una kernel: Call Trace:
May 23 19:06:08 una kernel: <TASK>
May 23 19:06:08 una kernel: radeon_bo_unref+0x1a/0x30 [radeon]
May 23 19:06:08 una kernel: radeon_gem_object_free+0x30/0x50 [radeon]
May 23 19:06:08 una kernel: drm_gem_dmabuf_release+0x36/0x50 [drm]
May 23 19:06:08 una kernel: dma_buf_release+0x3a/0x90
May 23 19:06:08 una kernel: __dentry_kill+0xf8/0x170
May 23 19:06:08 una kernel: __fput+0xdb/0x240
May 23 19:06:08 una kernel: task_work_run+0x5c/0x90
May 23 19:06:08 una kernel: do_exit+0x33e/0xa40
May 23 19:06:08 una kernel: do_group_exit+0x33/0xa0
May 23 19:06:08 una kernel: get_signal+0xaf/0x9a0
May 23 19:06:08 una kernel: arch_do_signal_or_restart+0xed/0x780
May 23 19:06:08 una kernel: ? __x64_sys_futex+0x73/0x1c0
May 23 19:06:08 una last message buffered 1 times
May 23 19:06:08 una kernel: exit_to_user_mode_prepare+0xdc/0x1c0
May 23 19:06:08 una kernel: syscall_exit_to_user_mode+0x1d/0x40
May 23 19:06:08 una kernel: do_syscall_64+0x48/0xc0
May 23 19:06:08 una kernel: entry_SYSCALL_64_after_hwframe+0x44/0xae
May 23 19:06:08 una kernel: RIP: 0033:0x7fd28fae528b
May 23 19:06:08 una kernel: Code: Unable to access opcode bytes at RIP 0x7fd28fae5261.
May 23 19:06:08 una kernel: RSP: 002b:00007fd283ffdf58 EFLAGS: 00000282 ORIG_RAX: 00000000000000ca
May 23 19:06:08 una kernel: RAX: fffffffffffffe00 RBX: 000000000338d3c0 RCX: 00007fd28fae528b
May 23 19:06:08 una kernel: RDX: 0000000000000002 RSI: 0000000000000080 RDI: 0000000000622ac0
May 23 19:06:08 una kernel: RBP: 000000000000000e R08: 0000000000000000 R09: 0000000000000000
May 23 19:06:08 una kernel: R10: 0000000000000000 R11: 0000000000000282 R12: 0000000000000001
May 23 19:06:08 una kernel: R13: 00007fd283ffdfbc R14: 00000000005c5dc0 R15: 00007fd283fff640
May 23 19:06:08 una kernel: </TASK>
May 23 19:06:08 una kernel: ---[ end trace b885f6a63e55d539 ]---
Representative records from /var/log/messages which may be related follow:
Code:
messages-May 30 20:47:22 una kernel: Restarting tasks ... done.
messages-May 30 20:47:22 una kernel: video LNXVIDEO:00: Restoring backlight state
messages-May 30 20:47:22 una elogind-daemon[1036]: System resumed.
messages-May 30 20:47:22 una kernel: PM: suspend exit
messages-May 30 20:47:22 una acpid: client connected from 1178[0:100]
messages-May 30 20:47:22 una acpid: 1 client rule loaded
messages:May 30 20:47:22 una kernel: upowerd[3735]: segfault at 8 ip 000055b10ce6552d sp 00007ffc8df3d9e0 error 4 in upowerd[55b10ce4f000+1d000]
messages-May 30 20:47:22 una kernel: Code: 8d 15 2f 9c 00 00 be 80 00 00 00 48 8d 3d ec 82 00 00 31 c0 e8 04 9f fe ff 49 8b 44 24 18 48 8b 78 08 e8 86 f0 fe ff 48 89 c5 <8b> 40 08 85 c0 74 33 31 db 66 2e 0f 1f 84 00 00 00 00 00 e8 0b de
messages-May 30 20:47:22 una dbus-daemon[1021]: [system] Activated service 'org.freedesktop.UPower' failed: Process org.freedesktop.UPower received signal 11
--
messages-Jun 4 00:21:56 una kernel: video LNXVIDEO:00: Restoring backlight state
messages-Jun 4 00:21:56 una elogind-daemon[1019]: System resumed.
messages-Jun 4 00:21:56 una kernel: PM: suspend exit
messages-Jun 4 00:21:56 una acpid: client connected from 1160[0:100]
messages:Jun 4 00:21:56 una kernel: upowerd[1652]: segfault at 28 ip 0000564b7eb40a2e sp 00007ffd89257980 error 4 in upowerd[564b7eb3d000+1d000]
messages-Jun 4 00:21:56 una kernel: Code: 15 41 99 01 00 be 80 00 00 00 31 c0 41 56 4c 8d 35 05 ae 01 00 41 55 41 54 55 53 48 89 fb 4c 89 f7 48 83 ec 58 e8 f2 c9 ff ff <48> 8b 43 28 48 8d 6c 24 20 4c 8d 6c 24 18 48 89 ef 4c 8d 64 24 10
messages-Jun 4 00:21:56 una acpid: 1 client rule loaded
messages-Jun 4 00:21:56 una dbus-daemon[1004]: [system] Activated service 'org.freedesktop.UPower' failed: Process org.freedesktop.UPower received signal 11
--
messages-Jun 5 17:08:56 una elogind-daemon[1029]: System resumed.
messages-Jun 5 17:08:56 una kernel: PM: suspend exit
messages-Jun 5 17:08:56 una acpid: client connected from 1170[0:100]
messages-Jun 5 17:08:56 una acpid: 1 client rule loaded
messages:Jun 5 17:08:56 una kernel: upowerd[1863]: segfault at 28 ip 00005626bbda8a2e sp 00007ffd3030f960 error 4 in upowerd[5626bbda5000+1d000]
messages-Jun 5 17:08:56 una kernel: Code: 15 41 99 01 00 be 80 00 00 00 31 c0 41 56 4c 8d 35 05 ae 01 00 41 55 41 54 55 53 48 89 fb 4c 89 f7 48 83 ec 58 e8 f2 c9 ff ff <48> 8b 43 28 48 8d 6c 24 20 4c 8d 6c 24 18 48 89 ef 4c 8d 64 24 10
messages-Jun 5 17:08:56 una dbus-daemon[1014]: [system] Activated service 'org.freedesktop.UPower' failed: Process org.freedesktop.UPower received signal 11
There were no crashes (or even minor hickups) when using the power-saving-related /etc/X11/xorg.conf records throughout a half-decade of heavy Slackware Linux 14.x use.
Debugging suggestions are welcome, as are practical work-arounds until the (Xorg? elogind?, upowerd?, dbus?) bug is identified and eliminated.