Bug 44537 - Черный экран при попытке свернуть-развернуть программу.
Summary: Черный экран при попытке свернуть-развернуть программу.
Status: CLOSED WORKSFORME
Alias: None
Product: Sisyphus
Classification: Development
Component: libwayland-client (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Yuri N. Sedunov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-12-05 12:50 MSK by Евгений
Modified: 2024-03-21 09:47 MSK (History)
8 users (show)

See Also:


Attachments
error (31.80 KB, image/png)
2022-12-05 12:50 MSK, Евгений
no flags Details
Падает wayland (5.85 KB, text/plain)
2022-12-08 11:42 MSK, Sergey V Turchin
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Евгений 2022-12-05 12:50:51 MSK
Created attachment 12030 [details]
error

Проверено на стендах обновленных до sisyphus

p10-kworkstation-10.1-x86-64
p10-education-10-x86-64-kde

Версия пакета: plasma5-layer-shell-qt-5.26.4-alt1.x86_64

Шаги воспроизведения:

1) При старте системы выбрать графический сеанс - Wayland 
Проверить сеанс можно командой из консоли:
$ echo $XDG_SESSION_TYPE
$ wayland

2) открыть любую программу к примеру kwrite или konsole(терминал) из меню приложений.

3) свернуть-развернуть несколько раз(можно стрелками в углу сверху справа или ПКМ на верхней панели программы и дальше выбрать действие)

Ожидаемый результат: программа сворачивается и разворачивается без проблем

Фактический результат: появляется окно с ошибкой на черном экране(во вложении).
После закрытия окна ошибки, остается черный экран, не реагирует на клавиатуру и мышь, действий предпринять никаких нельзя.

Окно с ошибкой появляется только на p10-kworkstation-10.1-x86-64.


Так же проверялось в p10 на стендах:

p10-kworkstation-10.1-x86-64
p10-education-10-x86-64-kde

Версия пакета: plasma5-layer-shell-qt-5.26.4-alt1.x86_64
Comment 1 Sergey V Turchin 2022-12-08 11:39:40 MSK
src/wayland-client.c:

/** Get the protocol object version of a proxy object
 *
 * \param proxy The proxy object
 * \return The protocol object version of the proxy or 0
 *
 * Gets the protocol object version of a proxy object, or 0
 * if the proxy was created with unversioned API.
 *
 * A returned value of 0 means that no version information is
 * available, so the caller must make safe assumptions about
 * the object's real version.
 *
 * wl_display's version will always return 0.
 *
 * \memberof wl_proxy
 */

WL_EXPORT uint32_t
wl_proxy_get_version(struct wl_proxy *proxy)
{
    return proxy->version;
}

нормально ли, что проверки указателя proxy нет?
Comment 2 Sergey V Turchin 2022-12-08 11:42:47 MSK
Created attachment 12053 [details]
Падает wayland
Comment 3 Yuri N. Sedunov 2022-12-08 12:31:51 MSK
$ echo $XDG_SESSION_TYPE 
wayland
$ /usr/lib/kf5/bin/kwrite
QSocketNotifier: Can only be used with threads started with QThread
kf.service.services: The desktop entry file "/usr/share/applications/qemu.desktop" has Type= "Application" but no Exec line
kf.service.sycoca: Invalid Service :  "/usr/share/applications/qemu.desktop"
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()

10 раз развернул-свернул, 10 раз фуллскрин сделал -- воспроизвести не смог.
Перевешивай на кеды.
Comment 4 Sergey V Turchin 2022-12-08 13:55:35 MSK
Не нужно сворачивать/разворачивать.
Нужно навести курсор мыши на приложение на панели задач Plasma, чтоб упал wayland в wl_proxy_get_version() при попытке снять скриншот окна.
Comment 5 Yuri N. Sedunov 2022-12-08 15:47:46 MSK
Видимо, найдется еще много способов уронить плазму, проверять не буду.

https://bugs.kde.org/show_bug.cgi?id=450922
https://bugs.kde.org/show_bug.cgi?id=452806
Ведут они все сюда:
https://bugreports.qt.io/browse/QTBUG-101948

Но ты можешь смело идти со своим какрашем в апстрим wayland'a.
Comment 6 Sergey V Turchin 2022-12-08 15:59:46 MSK
(In reply to Yuri N. Sedunov from comment #5)
> https://bugreports.qt.io/browse/QTBUG-101948
Не совсем, но смысл может быть тот же.

> Видимо, найдется еще много способов уронить плазму, проверять не буду.
Да. В libwayland-client вообще никаких проверок почти нет на ненулевые указатели. Шаг влево-вправо -- упал.

> Но ты можешь смело идти со своим какрашем в апстрим wayland'a
Я подумаю, но это привилегия мантейнера.
Comment 7 Евгений 2022-12-20 10:05:44 MSK
Проверено на стендах обновленных до sisyphus

p10-kworkstation-10.1-x86-64
p10-education-10-x86-64-kde

Версия пакета: plasma5-layer-shell-qt-5.26.4-alt1.x86_64

Ошибка не воспроизводится


Так же проверено в Р10 на стендах:
p10-kworkstation-10.1-x86-64
p10-education-10-x86-64-kde

Версия пакета: plasma5-layer-shell-qt-5.26.4-alt1.x86_64

Ошибка не воспроизводится
Comment 8 Олег Соловьев 2022-12-20 10:21:02 MSK
только что упало
Comment 9 Sergey V Turchin 2022-12-21 16:11:53 MSK
src/wayland-client.c:

/** Get the protocol object version of a proxy object
 *
 * \param proxy The proxy object
 * \return The protocol object version of the proxy or 0
 *
 * Gets the protocol object version of a proxy object, or 0
 * if the proxy was created with unversioned API.
 *
 * A returned value of 0 means that no version information is
 * available, so the caller must make safe assumptions about
 * the object's real version.
 *
 * wl_display's version will always return 0.
 *
 * \memberof wl_proxy
 */

WL_EXPORT uint32_t
wl_proxy_get_version(struct wl_proxy *proxy)
{
    return proxy->version;
}

нормально ли, что проверки указателя "proxy" нет?
Comment 10 Tatyana Gagina 2023-01-20 12:02:24 MSK
На p10:
libwayland-client-1.21.0-alt1.1
plasma5-layer-shell-qt-5.26.4-alt1

На Sisyphus:
plasma5-layer-shell-qt-5.26.5-alt1
libwayland-client-1.21.0-alt1.1

Не удалось воспроизвести ни на Sisyphus, ни на p10 даже при многократном сворачивании/разворачивании.
Принимались попытки и с другими программами - тоже не воспроизводится.


Если следовать этим шагам https://bugzilla.altlinux.org/show_bug.cgi?id=44537#c4, то есть 
при попытке снять скриншот окна навести курсор мыши на приложение на панели задач Plasma - то ошибка только в Spectacle. Пишет: "Не удалось создать снимок экрана". 
Версия: kde5-spectacle-22.12.1-alt1 (Sisyphus) и kde5-spectacle-22.08.3-alt1 (p10).
Далее если навести на приложение на панели задач Plasma (и выполнении др.действий_ - проблем нет.

Вопрос открыт: возможно ли, что были выполнены какие-либо ещё действия, чтобы данная ошибка воспроизвелась?
Comment 11 Sergey V Turchin 2023-01-23 13:27:57 MSK
(In reply to Tatyana Gagina from comment #10)
> Вопрос открыт: возможно ли, что были выполнены какие-либо ещё действия,
> чтобы данная ошибка воспроизвелась?
Включить всплывающие подсказки у виджета панели задач.
Comment 12 strepkovaas 2024-03-21 09:47:25 MSK
Не удалось воспроизвести ошибку.Проверялось на реальном оборудовании.
Версия пакета libwayland-client-1.22.0-alt1.1-x86_64