Версия 2.6.0-alt1 падает с сегфолтом при наведений курсора на некоторые (?) пункты контекстного меню записей. Т.е. при открытий контекстного меню и прохождений курсора над какими-то пунктами всё хорошо но при указаний на другие - происходит сегфолт: ==8<============================================================================ Вт июл 14 14:02:26 2020] keepassxc[1692768]: segfault at 8 ip 00007f52cf7a78d0 sp 00007fff4e567dc8 error 4 in libQt5Gui.so.5.12.9[7f52cf755000+410000] Вт июл 14 14:02:26 2020] Code: b8 80 00 00 00 48 85 ff 74 10 48 8b 07 40 0f b6 f6 ff a0 18 01 00 00 0f 1f 00 31 c0 c3 90 66 66 2e 0f 1f 84 00 00 00 00 00 90 <48> 8b 47 08 48 8b 78 78 48 85 ff 75 f3 48 8b 90 20 01 00 00 48 85 ==8<============================================================================
Если откатить пакет до предыдущей версий (2.5.4-alt1), проблема не наблюдается.
В качестве обходного пути можно изменить язык приложения на английский. Открыл запись в апстриме: https://github.com/keepassxreboot/keepassxc/issues/5070
Может еще и backtrace приложить? #0 QWindow::screen (this=<optimized out>) at kernel/qwindow.cpp:1987 #1 0x00007fefd8071b32 in QMenu::popup (this=0x560492549b30, p=..., atAction=atAction@entry=0x0) at ../../src/widgets/kernel/qwidget_p.h:1015 #2 0x00007fefd80730ab in QMenu::internalDelayedPopup (this=0x56049258f6f0) at /usr/include/c++/9/bits/atomic_base.h:413 #3 0x00007fefd744c505 in QObject::event (this=this@entry=0x56049258f6f0, e=e@entry=0x7ffe62e5d4c0) at kernel/qobject.cpp:1283 #4 0x00007fefd7f31735 in QWidget::event (this=this@entry=0x56049258f6f0, event=event@entry=0x7ffe62e5d4c0) at kernel/qwidget.cpp:9409 #5 0x00007fefd80784a3 in QMenu::event (this=0x56049258f6f0, e=0x7ffe62e5d4c0) at widgets/qmenu.cpp:3071 #6 0x00007fefd7eefc42 in QApplicationPrivate::notify_helper (this=this@entry=0x560491d5c180, receiver=receiver@entry=0x56049258f6f0, e=e@entry=0x7ffe62e5d4c0) at kernel/qapplication.cpp:3700 #7 0x00007fefd7ef91c0 in QApplication::notify (this=0x7ffe62e5d830, receiver=0x56049258f6f0, e=0x7ffe62e5d4c0) at kernel/qapplication.cpp:3446 #8 0x00007fefd7421212 in QCoreApplication::notifyInternal2 (receiver=0x56049258f6f0, event=0x7ffe62e5d4c0) at ../../src/corelib/kernel/qobject.h:142 #9 0x00007fefd7476370 in QTimerInfoList::activateTimers (this=0x560491de7950) at kernel/qtimerinfo_unix.cpp:643 #10 0x00007fefd7476bf4 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182 #11 0x00007fefd5d9435d in g_main_dispatch (context=0x7fefcc005010) at ../glib/gmain.c:3309 #12 g_main_context_dispatch (context=context@entry=0x7fefcc005010) at ../glib/gmain.c:3974 #13 0x00007fefd5d945e0 in g_main_context_iterate (context=context@entry=0x7fefcc005010, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4047 #14 0x00007fefd5d9466f in g_main_context_iteration (context=0x7fefcc005010, may_block=may_block@entry=1) at ../glib/gmain.c:4108 #15 0x00007fefd7476fa1 in QEventDispatcherGlib::processEvents (this=0x560491de8dd0, flags=...) at kernel/qeventdispatcher_glib.cpp:422 #16 0x00007fefd741fe9b in QEventLoop::exec (this=this@entry=0x7ffe62e5d700, flags=..., flags@entry=...) at ../../src/corelib/global/qflags.h:140 #17 0x00007fefd7427942 in QCoreApplication::exec () at ../../src/corelib/global/qflags.h:120 #18 0x00007fefd78c6d6c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1784 #19 0x00007fefd7eefbb5 in QApplication::exec () at kernel/qapplication.cpp:2856 #20 0x0000560490802b95 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/keepassxc-2.6.0/src/main.cpp:160
Как отметил https://github.com/droidmonkey в https://github.com/keepassxreboot/keepassxc/issues/5070 это действительно баг в Qt, см. https://bugreports.qt.io/browse/QTBUG-83946 Воспроизводится на текущем Сизифе с примерно тем же backtrace: Thread 1 "menus" received signal SIGSEGV, Segmentation fault. QWindow::screen (this=<optimized out>) at kernel/qwindow.cpp:1987 1987 Q_D(const QWindow); (gdb) bt #0 QWindow::screen (this=<optimized out>) at kernel/qwindow.cpp:1987 #1 0x00007ffff7bfdb32 in QMenu::popup (this=0x597520, p=..., atAction=0x0) at ../../src/widgets/kernel/qwidget_p.h:1015 #2 0x0000000000404620 in MainWindow::aboutQt (this=0x7fffffffd9f0) at mainwindow.cpp:207 ...
Кстати, смена языка приложений на английский не помогает, крошится всё равно.
Могу пока обрадоывать лишь тем, что я уже занят сборкой Qt-5.15.
@evg проверьте, пожалуйста. По-моему проблема ушла с обновлением Qt и т.п. Сейчас еще отправляю версию 2.6.1 в Сизиф.
*** Bug 39359 has been marked as a duplicate of this bug. ***
> я уже занят сборкой Qt-5.15. Оно уже готово и в недалёком будущем поедет в p9.
> Оно уже готово и в недалёком будущем поедет в p9. Похоже, будущее гораздо дальше, чем предполагалось ранее.
Можно ещё на всякий проверить обновлённый keepassxc http://git.altlinux.org/tasks/269925/
Сделано задание для p9 #269978, в котором данная проблема должна исправляться.
(Ответ для Aleksei Nikiforov на комментарий #12) > Сделано задание для p9 #269978, в котором данная проблема должна > исправляться. Проверил с заданием 269978 - ошибка исправлена, keepassxc не падает.
qt5-base-5.12.9-alt1.M90P.1 -> p9: Thu Apr 15 2021 Aleksei Nikiforov <darktemplar@altlinux> 5.12.9-alt1.M90P.1 - Backported QMenu updates from Qt-5.15.2 (Closes: 38709).