Bug 45176

Summary: Ошибка сегментирования при запуске $ kumir2-classic
Product: Sisyphus Reporter: Vladislav Glinkin <glinkinvd>
Component: kumir2Assignee: Andrey Cherepanov <cas>
Status: REOPENED --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: alexei.mezin, andey4, apis, cas, dd, kunitskijds, rider, shad, wladimir-post
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
Логи none

Description Vladislav Glinkin 2023-02-08 14:03:33 MSK
Created attachment 12440 [details]
Логи

Платформа:
sisyphus-education-10.1-x86-64-kde

Версия пакета:
qt5-wayland-5.15.8-alt1.x86_64

Шаги воспроизведения:
1)При входе в систему выбрать Wayland в качестве протокола графического сервера
2)Запустить из меню приложений "Кумир"/из терминала $ kumir2-classic

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

Ожидаемый результат:
Приложение успешно запускается

При использовании X11 всё запускается корректно.
В p10 на версии пакета qt5-wayland-5.15.7-alt2.x86_64 ошибка так же воспроизводится.

Прикрепляю логи при запуске из терминала
Comment 1 apis@bk.ru 2025-06-14 20:12:03 MSK
Аналогичное поведение на платформах

alt-kworkstation-11.0-x86_64
alt-education-11.0rc-20250613-x86_64

kumir2-classic вылетает с ошибкой сегментирования сразу, версии для учителей или Про запускаются, но закрываются с ошибкой сегментирования если попытаться создать новую программу.
Comment 2 Repository Robot 2025-06-22 16:19:14 MSK
kumir2-2.1.0-alt12.git330a5532 -> sisyphus:

 Sun Jun 22 2025 Andrey Cherepanov <cas@altlinux> 2.1.0-alt12.git330a5532
 - New snapshot.
 - Fixed run on Wayland (ALT #45176).
Comment 3 Куницкий Дмитрий 2025-06-23 10:45:57 MSK
kumir2-2.1.0-alt12 Ошибка воспроизводится.
Comment 4 Andrey Cherepanov 2025-06-23 10:47:10 MSK
(Ответ для Куницкий Дмитрий на комментарий #3)
> kumir2-2.1.0-alt12 Ошибка воспроизводится.

Это починено при запуске из меню. Вы это проверяли?
Comment 5 Куницкий Дмитрий 2025-06-23 10:53:58 MSK
(Ответ для Andrey Cherepanov на комментарий #4)
> (Ответ для Куницкий Дмитрий на комментарий #3)
> > kumir2-2.1.0-alt12 Ошибка воспроизводится.
> 
> Это починено при запуске из меню. Вы это проверяли?

Для образа Alt p11 Kworkstation не воспроизводится через меню, но в ошибка в терминале остается.
В образе Alt p11 workstation при запуске из меню ничего не происходит. А при запуске из терминала ошибка воспроизводится.
Comment 6 Aleksandr Shamaraev 2025-09-07 17:01:04 MSK
(Ответ для Куницкий Дмитрий на комментарий #5)
> В образе Alt p11 workstation при запуске из меню ничего не происходит. А при
> запуске из терминала ошибка воспроизводится.

Альт Рабочая Станция 11.1, все кумиры открываются с ярлыков.

с консоли в гноме
QT_QPA_PLATFORM=xcb kumir2-classic

по другому вы врятли запустите "старое" приложение в вайланд
Comment 7 Alexei V. Mezin 2026-02-23 22:25:13 MSK
> с консоли в гноме
> QT_QPA_PLATFORM=xcb kumir2-classic

Не в Гноме тоже, и не только для classic. IDE запускается, но вызов редактора приводит к падению. Нужен враппер, добавляющий при запуске в wayland переменную 
QT_QPA_PLATFORM=xcb
Comment 8 Anton Farygin 2026-02-23 22:35:58 MSK
ну или в исходники добавить детект wayland при старте.
Comment 9 oldnet 2026-02-23 22:40:49 MSK
проблема все еще актуальна (Альт Рабочая Станция 11 Gnome Wayland). Обращу внимание что при запуске из консоли (в ярлыке прописана команда env QT_QPA_PLATFORM=xcb kumir2-classic не приводит к запуску, хотя запуск происходит из консоли) среда работает до момента смены раскладки клавиатуры.
Comment 10 Aleksandr Shamaraev 2026-02-24 06:57:44 MSK
Всем доброго времени суток.

Сдается мне я нашел кое что любопытное.

Поэкспериментировав с запуском на гном регулярке я обратил внимание на 
fusermount3: failed to access mountpoint /run/user/1000/gvfs: Permission denied

которое вылезло у меня при запуске 
$ QT_QPA_PLATFORM=xcb dbus-run-session gtk-launch kumir2-classic

при этом соглашусь с oldnet при переключениях раскладки туда сюда кумир падает

Я попробовал все это дело запустить под root, ради любопытства, под ним все работает нормально, при постоянных печатаньях и переключениях раскладки кумир не падает.. 

пойдя от обратного, под тем же root дойдя до конструкции 
# QT_QPA_PLATFORM=xcb kumir2-classic

кумир работает нормально, по крайней мере при печатании и переключении так ни разу и не упал..

могу предположить, что ошибка сегментации связана как раз с этим делом

fusermount3: failed to access mountpoint /run/user/1000/gvfs: Permission denied
Comment 11 Aleksandr Shamaraev 2026-02-24 07:00:02 MSK
либо еще с какими правами у пользователя...

по факту если поэкспериментировать, много ругается на порталы

(/usr/libexec/xdg-desktop-portal:4904): xdg-desktop-portal-WARNING **: 14:59:17.325: Failed to create secret proxy: Ошибка вызова StartServiceByName для org.freedesktop.secrets: Подключение прервано

(/usr/libexec/xdg-desktop-portal:4904): xdg-desktop-portal-WARNING **: 14:59:17.325: No skeleton to export

(/usr/libexec/xdg-desktop-portal:4904): GLib-GIO-CRITICAL **: 14:59:17.326: Error while sending AddMatch() message: Подключение прервано

(/usr/libexec/xdg-desktop-portal:4904): GLib-GIO-CRITICAL **: 14:59:17.326: Error while sending AddMatch() message: Подключение прервано


ну это без дебага
Comment 12 Andrey Cherepanov 2026-02-24 07:03:55 MSK
https://github.com/a-a-maly/kumir2/issues/26#issuecomment-1869722662

Действительно, работа с клавиатурой под Linux у нас сделана через иксы.
Не уверен, что это можно быстро исправить.
Большое спасибо за информацию о механизмах обхода!
Comment 13 Aleksandr Shamaraev 2026-02-24 07:32:37 MSK
(Ответ для Andrey Cherepanov на комментарий #12)
> https://github.com/a-a-maly/kumir2/issues/26#issuecomment-1869722662
> 
> Действительно, работа с клавиатурой под Linux у нас сделана через иксы.
> Не уверен, что это можно быстро исправить.
> Большое спасибо за информацию о механизмах обхода!

он падает при переключении раскладок клавиатуры при 
$ QT_QPA_PLATFORM=xcb kumir2-classic

по дебагу
Thread 1 "kumir2-classic" received signal SIGSEGV, Segmentation fault.
0x00007ffff6b81c13 in std::__atomic_base<int>::load (this=<optimized out>, __m=std::memory_order_relaxed) at /usr/include/c++/14/bits/atomic_base.h:501
warning: 501	/usr/include/c++/14/bits/atomic_base.h: Нет такого файла или каталога
(gdb) bt
#0  0x00007ffff6b81c13 in std::__atomic_base<int>::load (this=<optimized out>, __m=std::memory_order_relaxed) at /usr/include/c++/14/bits/atomic_base.h:501
#1  QAtomicOps<int>::loadRelaxed<int> (_q_value=...) at ../../include/QtCore/../../src/corelib/thread/qatomic_cxx11.h:239
#2  QBasicAtomicInteger<int>::loadRelaxed (this=<optimized out>) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:107
#3  QtPrivate::RefCount::ref (this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qrefcount.h:55
#4  QString::operator= (this=this@entry=0x7fffffffde48, other=...) at text/qstring.cpp:2407
#5  0x00007fffe020bdd8 in Editor::Utils::isRussianLayout () at /usr/src/debug/kumir2-2.1.0/src/plugins/editor/utils.cpp:56
#6  0x00007fffe01e8d49 in Editor::EditorInstance::timerEvent (this=0x55555826a7f0, e=<optimized out>) at /usr/src/debug/kumir2-2.1.0/src/plugins/editor/editor.cpp:256
#7  0x00007ffff6d25cfb in QObject::event (this=0x55555826a7f0, e=0x7fffffffe020) at kernel/qobject.cpp:1369
#8  0x00007ffff79a54d2 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55555826a7f0, e=0x7fffffffe020) at kernel/qapplication.cpp:3640
#9  0x00007ffff6cf8378 in QCoreApplication::notifyInternal2 (receiver=0x55555826a7f0, event=0x7fffffffe020) at kernel/qcoreapplication.cpp:1064
#10 0x00007ffff6cf8562 in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#11 0x00007ffff6d543c1 in QTimerInfoList::activateTimers (this=0x55555578d310) at kernel/qtimerinfo_unix.cpp:643
#12 0x00007ffff6d54cec in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:183
#13 0x00007ffff5d08ad6 in g_main_dispatch (context=0x7fffec000eb0) at ../glib/gmain.c:3565
#14 0x00007ffff5d681a7 in g_main_context_dispatch_unlocked (context=0x7fffec000eb0) at ../glib/gmain.c:4425
#15 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7fffec000eb0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4490
#16 0x00007ffff5d05cd0 in g_main_context_iteration (context=0x7fffec000eb0, may_block=1) at ../glib/gmain.c:4556
#17 0x00007ffff6d5506d in QEventDispatcherGlib::processEvents (this=0x55555578c270, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#18 0x00007ffff6cf6ce2 in QEventLoop::exec (this=this@entry=0x7fffffffe280, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#19 0x00007ffff6cff5e2 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#20 0x0000555555558dc9 in Application::main (this=0x555555581b70) at /usr/src/debug/kumir2-2.1.0/src/app/kumir2-launcher.cpp:362
#21 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kumir2-2.1.0/src/app/kumir2-launcher.cpp:529
(gdb)
Comment 14 Aleksandr Shamaraev 2026-02-24 07:35:17 MSK
странно, что под root не падает...