SUMMARY I just bought a Displayport Samsung monitor and when connecting it through USB-C and DisplayLink on my Ubuntu 21.04 a really weird behavior happens. The moment I connect the monitor KDE applications start to randomly crash and from then they cannot be started anymore. Looking at the logs I can repeatedly (around 3 million times!!) see the message: [warn] epoll_wait: Bad file descriptor I'm not able to see any other relevant log message. The most strange issue is that if I disconnect the monitor or if I connect it through regular HDMI the problem instantly disappears. I don't really know if it's a plasma or displaylink bug. The problem does not happen with other non plasma applications (chrome, firefox...) I filed a bug on DisplayLink already without answer yet: https://www.displaylink.org/forum/showthread.php?t=67936 Any hint what can be wrong? No STEPS TO REPRODUCE 1. Connect the monitor through displayport 2. continue working as usual 3. observe crashes kontact, dolphin, systemsettings, ... EXPECTED RESULT No crashes and regular workflow SOFTWARE/OS VERSIONS Linux/KDE Plasma: 5.23 (but the behavior is the same in 5.21 and 5.22 My KUbuntu is 21.10 (but before upgrading, the problem was present in 21.04) KDE Frameworks Version: 5.87, but with 5.86 was the same Qt Version: 5.15.2
Can you please attach a backtrace of the crash? See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
Sorry for the delay I had to get back to the office to test. Here you have a crash report for the systemsettings app. Hope this helps: Application: System Settings (systemsettings5), signal: Segmentation fault [KCrash Handler] #4 QWidget::hide (this=0x55f992e69294) at kernel/qwidget.cpp:7916 #5 0x00007fd5be68156d in QMenuBarPrivate::updateGeometries (this=0x55fccd2a3f20) at widgets/qmenubar.cpp:256 #6 0x00007fd5be6861a0 in QMenuBar::changeEvent (this=0x55fccd32cb70, e=0x7ffd6b1ab0a0) at widgets/qmenubar.cpp:1446 #7 0x00007fd5be52e146 in QWidget::event (this=0x55fccd32cb70, event=0x7ffd6b1ab0a0) at kernel/qwidget.cpp:8961 #8 0x00007fd5be4eb6b3 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55fccd32cb70, e=0x7ffd6b1ab0a0) at kernel/qapplication.cpp:3632 #9 0x00007fd5bd8ee16a in QCoreApplication::notifyInternal2 (receiver=0x55fccd32cb70, event=0x7ffd6b1ab0a0) at kernel/qcoreapplication.cpp:1063 #10 0x00007fd5be51f305 in QWidgetPrivate::updateFont (this=this@entry=0x55fccd2a3f20, font=...) at kernel/qwidget.cpp:4654 #11 0x00007fd5be52e600 in QWidget::event (this=0x55fccd32cb70, event=0x7ffd6b1ab250) at kernel/qwidget.cpp:9055 #12 0x00007fd5be4eb6b3 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55fccd32cb70, e=0x7ffd6b1ab250) at kernel/qapplication.cpp:3632 #13 0x00007fd5bd8ee16a in QCoreApplication::notifyInternal2 (receiver=0x55fccd32cb70, event=0x7ffd6b1ab250) at kernel/qcoreapplication.cpp:1063 #14 0x00007fd5be547596 in sendScreenChangeRecursively (widget=0x55fccd32cb70) at kernel/qwidgetwindow.cpp:752 #15 0x00007fd5be5475c6 in sendScreenChangeRecursively (widget=<optimized out>) at kernel/qwidgetwindow.cpp:757 #16 0x00007fd5be547696 in QWidgetWindow::handleScreenChange (this=0x55fccd33a130) at kernel/qwidgetwindow.cpp:764 #17 QWidgetWindow::qt_static_metacall (_c=QMetaObject::InvokeMetaMethod, _a=<optimized out>, _id=<optimized out>, _o=0x55fccd33a130) at .moc/moc_qwidgetwindow_p.cpp:77 #18 QWidgetWindow::qt_static_metacall (_o=0x55fccd33a130, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qwidgetwindow_p.cpp:70 #19 0x00007fd5bd925a88 in doActivate<false> (sender=0x55fccd33a130, signal_index=3, argv=0x7ffd6b1ab3c0) at kernel/qobject.cpp:3898 #20 0x00007fd5bd91ed67 in QMetaObject::activate (sender=sender@entry=0x55fccd33a130, m=m@entry=0x7fd5be365300 <QWindow::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd6b1ab3c0) at kernel/qobject.cpp:3946 #21 0x00007fd5bdde77b3 in QWindow::screenChanged (this=this@entry=0x55fccd33a130, _t1=<optimized out>, _t1@entry=0x55fcccf27710) at .moc/moc_qwindow.cpp:729 #22 0x00007fd5bdde8001 in QWindowPrivate::emitScreenChangedRecursion (this=<optimized out>, newScreen=0x55fcccf27710) at kernel/qwindow.cpp:484 #23 0x00007fd5be5204d5 in QWidgetPrivate::create (this=this@entry=0x55fcccd712d0) at kernel/qwidget.cpp:1288 #24 0x00007fd5be5207fe in QWidget::create (this=0x55fcccfcb710, window=<optimized out>, initializeWindow=<optimized out>, destroyOldWindow=<optimized out>) at kernel/qwidget.cpp:1179 #25 0x00007fd5be683adf in QMenuBarPrivate::handleReparent (this=<optimized out>) at widgets/qmenubar.cpp:1421 #26 0x00007fd5be683fa9 in QMenuBarPrivate::init (this=0x55fccd2a3f20) at widgets/qmenubar.cpp:705 #27 0x00007fd5be684198 in QMenuBar::QMenuBar (this=<optimized out>, parent=<optimized out>) at widgets/qmenubar.cpp:741 #28 0x00007fd5be6456c2 in QMainWindow::menuBar (this=0x55fcccfcb710) at widgets/qmainwindow.cpp:508 #29 0x00007fd5beef4c3b in KXmlGuiWindow::createGUI(QString const&) () from /lib/x86_64-linux-gnu/libKF5XmlGui.so.5 #30 0x00007fd5beef55db in KXmlGuiWindow::setupGUI(QSize const&, QFlags<KXmlGuiWindow::StandardWindowOption>, QString const&) () from /lib/x86_64-linux-gnu/libKF5XmlGui.so.5 #31 0x00007fd5beef5721 in KXmlGuiWindow::setupGUI(QFlags<KXmlGuiWindow::StandardWindowOption>, QString const&) () from /lib/x86_64-linux-gnu/libKF5XmlGui.so.5 #32 0x000055fccb9b3288 in ?? () #33 0x000055fccb9b0560 in ?? () #34 0x00007fd5bd221fd0 in __libc_start_call_main (main=main@entry=0x55fccb9afae0, argc=argc@entry=1, argv=argv@entry=0x7ffd6b1aba78) at ../sysdeps/nptl/libc_start_call_main.h:58 #35 0x00007fd5bd22207d in __libc_start_main_impl (main=0x55fccb9afae0, argc=1, argv=0x7ffd6b1aba78, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd6b1aba68) at ../csu/libc-start.c:409 #36 0x000055fccb9b12d5 in ?? () [Inferior 1 (process 72725) detached]
Thanks! #4 QWidget::hide (this=0x55f992e69294) at kernel/qwidget.cpp:7916 #5 0x00007fd5be68156d in QMenuBarPrivate::updateGeometries (this=0x55fccd2a3f20) at widgets/qmenubar.cpp:256 This is very suspicious to me. It seems like the geometry of the new screen is causing Qt to freak out and do something invalid. This might be an issue with the screen itself, or it might be a problem with how KScreen is presenting it. Moving to KScreen.
Thanks a lot for the prompt feedback. Just for the record I tried this with 3 different physical monitors and happens with all of them (they are from the same brand and model though). Don't hesitate to ask for more details if necessary. Thanks once again!
*** Bug 450591 has been marked as a duplicate of this bug. ***
I'm now suspecting a Qt issue. Can we ask you to please check if this is still an issue with Plasma 5.25 or 5.26 when using the latest version of the KDE Qt patch collection? If it is, please change the status to CONFIRMED when replying. If not, or if you can't because you no longer use this setup, you can change the status to RESOLVED WORKSFORME. Thanks a lot!
Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone!
This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone!
For me the bug seems to happen to. I noticed it only happens when I have Plasma shell active with the Globalmenu in them. If I stop Plasma the bug won't happen. But I have Plasma running with Global menu and my screen not mirrored than the bug doesn't happen. Have to check if it still happens with Qt6. #4 0x00007f5d0afcfd75 in QWidget::hide() () at /lib64/libQt5Widgets.so.5 #5 0x00007f5d0b1357f5 in () at /lib64/libQt5Widgets.so.5 #6 0x00007f5d0b13a219 in QMenuBar::changeEvent(QEvent*) () at /lib64/libQt5Widgets.so.5 #7 0x00007f5d0afe6d17 in QWidget::event(QEvent*) () at /lib64/libQt5Widgets.so.5 #8 0x00007f5d0afa51ae in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5 #9 0x00007f5d0a2ee1d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5 #10 0x00007f5d0afd82a2 in QWidgetPrivate::updateFont(QFont const&) () at /lib64/libQt5Widgets.so.5 #11 0x00007f5d0afe77b8 in QWidget::event(QEvent*) () at /lib64/libQt5Widgets.so.5 #12 0x00007f5d0afa51ae in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5 #13 0x00007f5d0a2ee1d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5 #14 0x00007f5d0afff416 in () at /lib64/libQt5Widgets.so.5 #15 0x00007f5d0afff446 in () at /lib64/libQt5Widgets.so.5 #16 0x00007f5d0afff50e in () at /lib64/libQt5Widgets.so.5 #17 0x00007f5d0a326423 in () at /lib64/libQt5Core.so.5 #18 0x00007f5d0a78067f in QWindow::screenChanged(QScreen*) () at /lib64/libQt5Gui.so.5 #19 0x00007f5d0a780ecf in QWindowPrivate::emitScreenChangedRecursion(QScreen*) () at /lib64/libQt5Gui.so.5 #20 0x00007f5d0afd944d in QWidgetPrivate::create() () at /lib64/libQt5Widgets.so.5 #21 0x00007f5d0afd979b in QWidget::create(unsigned long long, bool, bool) () at /lib64/libQt5Widgets.so.5 #22 0x00007f5d0b137cc3 in () at /lib64/libQt5Widgets.so.5 #23 0x00007f5d0b1380b5 in () at /lib64/libQt5Widgets.so.5 #24 0x00007f5d0b0fa8ea in QMainWindow::menuBar() const () at /lib64/libQt5Widgets.so.5 #25 0x00007f5d0b9597ac in Konsole::MainWindow::setupActions() () at /lib64/libkonsoleapp.so.1 #26 0x00007f5d0b95c5b9 in Konsole::MainWindow::MainWindow() () at /lib64/libkonsoleapp.so.1 #27 0x00007f5d0b95cf0c in Konsole::Application::newMainWindow() () at /lib64/libkonsoleapp.so.1 #28 0x00007f5d0b95d488 in Konsole::Application::processWindowArgs(bool&) () at /lib64/libkonsoleapp.so.1 #29 0x00007f5d0b95d78a in Konsole::Application::newInstance() () at /lib64/libkonsoleapp.so.1 #30 0x00005634c10c81dc in () #31 0x00007f5d0982a1f0 in __libc_start_call_main (main=main@entry=0x5634c10c66a0, argc=argc@entry=1, argv=argv@entry=0x7ffccf975258) at ../sysdeps/nptl/libc_start_call_main.h:58 #32 0x00007f5d0982a2b9 in __libc_start_main_impl (main=0x5634c10c66a0, argc=1, argv=0x7ffccf975258, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffccf975248) at ../csu/libc-start.c:360 #33 0x00005634c10c8985 in () [Inferior 1 (process 6264) detached]
Created attachment 168304 [details] my screen layout
Also it only happens if I mirror one of my 3 screens with the left most screen.
Change left most screen with the screen that isn't market as the primary screen that is used as a source for a mirror with the 3rd screen.,,,,,,,,,,,
Björn, this bug report is closed, and the crash you're experiencing looks different. Please submit a new bug report about it, and make sure that the backtrace you include has full debug symbols. Thanks!