Bug 475204

Summary: In a three monitor system, it appears that the timing of reactivation of the monitors might be important for Kontact to crash?
Product: [Applications] kontact Reporter: stakanov.s
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: nicolas.fella
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description stakanov.s 2023-10-04 08:19:48 UTC
Application: kontact (5.24.1 (23.08.1))

Qt Version: 5.15.10
Frameworks Version: 5.110.0
Operating System: Linux 6.5.4-1-default x86_64
Windowing System: X11
Distribution: "openSUSE Tumbleweed"
DrKonqi: 5.27.8 [KCrashBackend]

-- Information about the crash:
The crash is favored when comming back from idling, if the condition of wakeup of these three monitors is for whatever reason different from the state Kontakt found when idling. That is: three monitors (one DP the others with adapters). I have noticed that sometimes the third monitor in the row is the first to wake up and not the principal. In these conditions the application is either shifted of what appears to be in that moment the primary monitor. That can lead to Kontact being in the middle of two screens or oversized on the already awaken (but smaller screen). 
As a result this often leads to a crash, today I found it already crashed on wake up but I notice flickering of monitors and plasma offered the "rearangement window of monitors applet" as a spontaneous popup, without having clicked on it, so it "sensed" the issue (this behavior happened already several times in the past).  Kontakt in this circumstances presents this crash. I am quite sure that the bug indicated as related is actually the very same as this one.

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: Kontact (kontact), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f887f5693dd in __memmove_avx_unaligned_erms () at /lib64/libc.so.6
#5  0x00007f886db0f93a in memmove (__len=262112, __src=0x7f82cd8be810, __dest=<optimized out>) at /usr/include/bits/string_fortified.h:36
#6  copy_unswapped (rect=<synthetic pointer>..., img=..., dstBytesPerLine=262112, dst=<optimized out>) at qxcbbackingstore.cpp:547
#7  native_sub_image (swap=false, rect=<synthetic pointer>..., src=<optimized out>, dstStride=262112, buffer=<optimized out>) at qxcbbackingstore.cpp:590
#8  QXcbBackingStoreImage::flushPixmap(QRegion const&, bool) (this=0x55ff5790c310, region=<optimized out>, fullRegion=<optimized out>) at qxcbbackingstore.cpp:669
#9  0x00007f886db0ff39 in QXcbBackingStoreImage::flushPixmap(QRegion const&, bool) (fullRegion=false, region=..., this=0x55ff5790c310) at qxcbbackingstore.cpp:627
#10 QXcbBackingStoreImage::put(unsigned int, QRegion const&, QPoint const&) (this=0x55ff5790c310, dst=29360167, region=..., offset=<optimized out>) at qxcbbackingstore.cpp:741
#11 0x00007f886db10869 in QXcbBackingStore::flush(QWindow*, QRegion const&, QPoint const&) (this=0x55ff5858b340, window=<optimized out>, region=<optimized out>, offset=...) at qxcbbackingstore.cpp:877
#12 0x00007f888055a5d4 in QBackingStore::flush(QRegion const&, QWindow*, QPoint const&) (this=this@entry=0x55ff58586a70, region=..., window=0x55ff58519200, offset=...) at painting/qbackingstore.cpp:263
#13 0x00007f8880bb294f in QWidgetRepaintManager::flush(QWidget*, QRegion const&, QPlatformTextureList*) (this=this@entry=0x55ff5858b390, widget=0x55ff5797cfd0, region=..., widgetTextures=<optimized out>) at kernel/qwidgetrepaintmanager.cpp:1198
#14 0x00007f8880bb44c9 in QWidgetRepaintManager::flush() (this=0x55ff5858b390) at kernel/qwidgetrepaintmanager.cpp:1096
#15 0x00007f8880bb6528 in QWidgetRepaintManager::paintAndFlush() (this=0x55ff5858b390) at kernel/qwidgetrepaintmanager.cpp:1028
#16 0x00007f8880bff051 in QWidgetWindow::handleResizeEvent(QResizeEvent*) (this=this@entry=0x55ff58519200, event=event@entry=0x7ffc5e6f1850) at kernel/qwidgetwindow.cpp:842
#17 0x00007f8880c02f02 in QWidgetWindow::event(QEvent*) (this=0x55ff58519200, event=0x7ffc5e6f1850) at kernel/qwidgetwindow.cpp:322
#18 0x00007f8880ba519e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55ff58519200, e=0x7ffc5e6f1850) at kernel/qapplication.cpp:3640
#19 0x00007f887feed568 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55ff58519200, event=0x7ffc5e6f1850) at kernel/qcoreapplication.cpp:1064
#20 0x00007f887feed73e in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1474
#21 0x00007f888037959c in QGuiApplicationPrivate::processGeometryChangeEvent(QWindowSystemInterfacePrivate::GeometryChangeEvent*) (e=<optimized out>) at kernel/qguiapplication.cpp:2610
#22 0x00007f888035036c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#23 0x00007f886db1b1aa in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#24 0x00007f8876713ef0 in  () at /lib64/libglib-2.0.so.0
#25 0x00007f8876715b18 in  () at /lib64/libglib-2.0.so.0
#26 0x00007f88767161cc in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#27 0x00007f887ff464a6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55ff579335f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#28 0x00007f887feebffb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffc5e6f1ad0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#29 0x00007f887fef4490 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#30 0x00007f888037055c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#31 0x00007f8880ba5115 in QApplication::exec() () at kernel/qapplication.cpp:2832
#32 0x000055ff5702cfd3 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kontact-23.08.1/src/main.cpp:216
[Inferior 1 (process 3366) detached]

The reporter indicates this bug may be a duplicate of or related to bug 474088.

Reported using DrKonqi
Comment 1 Nicolas Fella 2023-10-04 10:25:26 UTC

*** This bug has been marked as a duplicate of bug 473602 ***