Контекст
Gentoo (default/linux/amd64/17.1/desktop/gnome/systemd)
Обновляем мир вечером в пятницу
В субботу утром система после перезагрузки встречает черным экраном, ctrl+alt+f{1-7} не переключает
Детали
Загружается в recovery, отключаем gdm в systemd, перезагружаемся, читаем journal:
...
/usr/libexec/gdm-x-session[2049]: /bin/sh: /usr/bin/X: Permission denied
gdm-x-session[2047]: Gdm: X server did not write display string
/usr/libexec/gdm-x-session[2047]: Unable to run X server
...
Session c1 logged out. Waiting for processes to exit.
gdm[2023]: segfault at 0 ip 0000558879483456 sp 00007ffd89cf28d0 error 4 in gdm[558879464000+3b000]
Обходим
package.mask:
=x11-base/xorg-server-21.1.2-r2
emerge x11-base/xorg-server
Читаем
diff <(curl https://gitweb.gentoo.org/repo/gentoo.git/plain/x11-base/xorg-server/xorg-server-21.1.1-r2.ebuild) <(curl https://gitweb.gentoo.org/repo/gentoo.git/plain/x11-base/xorg-server/xorg-server-21.1.2-r2.ebuild)
160,161c160,165
< #The new meson build system do not leave X symlink
< ln -s Xorg "${ED}"/usr/bin/X
---
> # The meson build system does not support install-setuid
> if ! use systemd || ! use elogind; then
> if use suid; then
> chmod u+s "${ED}"/usr/bin/Xorg
> fi
> fi
Читаем, что происходит между 21.1.1 и 21.1.2 в репозитории xserver:
| | * 9852b2938 - (4 days ago) xserver 21.1.2 - Povilas Kanapickas (HEAD, tag: xorg-server-21.1.2, origin/server-21.1-branch)
| | * 9fe299107 - (4 days ago) hw/xfree86: fix sbus build for SPARC - Sam James
| | * 0b67785cd - (4 days ago) render: Fix out of bounds access in SProcRenderCompositeGlyphs() - Povilas Kanapickas
| | * 7209982d2 - (4 days ago) Xext: Fix out of bounds access in SProcScreenSaverSuspend() - Povilas Kanapickas
| | * 6f09e7d39 - (4 days ago) xfixes: Fix out of bounds access in *ProcXFixesCreatePointerBarrier() - Povilas Kanapickas
| | * a82d523ed - (4 days ago) record: Fix out of bounds access in SwapCreateRegister() - Povilas Kanapickas
| | * a39218d99 - (4 days ago) remove the PRE_RELEASE message. - Matthieu Herrb
| | * fc2eb7e8c - (12 days ago) test: #undef NDEBUG so assert is not compiled away - Matt Turner
| | * 7caf29ca6 - (5 weeks ago) meson: Correctly set DDXOSVERRORF and DDXBEFORERESET on xwin - Povilas Kanapickas
| | * 101791f80 - (2 weeks ago) glamor: fix free of uninitialised pointers - Jonathan Gray
| | * 2c6989f81 - (3 weeks ago) xkb: fix XkbSetMap check for the keytypes count - Peter Hutterer
| | * 49444ce9f - (5 weeks ago) Revert "hw/xfree86: Propagate physical dimensions from DRM connector" - Povilas Kanapickas
| | * 6f11b3c80 - (6 weeks ago) dri2: add crocus to the list of va_gl users - Dave Airlie
| | * 8eb1396d3 - (4 weeks ago) xf86/logind: Fix drm_drop_master before vt_reldisp - Jocelyn Falempe
| | * 6834f977a - (4 weeks ago) xf86/logind: fix call systemd_logind_vtenter after receiving drm device resume - Jocelyn Falempe
| | * 0ed7b1224 - (2 months ago) xfree86: On Linux, while only seat0 can have TTYs, don't assmume all seat0s have TTYs - nerdopolis
| | * 6b997fb74 - (6 weeks ago) xserver 21.1.1 - Povilas Kanapickas (tag: xorg-server-21.1.1)
В итоге на 21.1.1:
ls -l /usr/bin/X /usr/bin/Xorg
lrwxrwxrwx 1 root root 4 Dec 19 10:15 /usr/bin/X -> Xorg
-rwxr-xr-x 1 root root 275 Dec 19 10:14 /usr/bin/Xorg
A на 21.1.2 (консолька заботливо подсветила красненьким Xorg):
ls -l /usr/bin/X /usr/bin/Xorg
lrwxrwxrwx 1 root root 4 Dec 19 11:31 /usr/bin/X -> Xorg
-rws--x--x 1 root root 275 Dec 19 11:31 /usr/bin/Xorg
/usr/bin/Xorg
- скрипт, и выполниться без r
не может.
Познаем
Я не могу ответить на вопрос «а как должно быть?» и «кто виноват и что делать?».
У нас есть:
- Jonas Stein, написал ebuild 21.1.2
- Povilas Kanapickas и компания, написали сам 21.1.2
Я честно просмотрел все коммиты, но это не моя сфера компетенции.
Главный вопрос: кому писать баг-репорт?
Дополнительный вопрос: это нормально для gdm падать при таком с segfault?