Summary: | KDE applications segfault when XLIB_SKIP_ARGB_VISUALS is defined | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Tristan Miller <psychonaut> |
Component: | generic-crash | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | auxsvr, kde, kde, simonandric5 |
Priority: | NOR | ||
Version: | 5.10.5 | ||
Target Milestone: | 1.0 | ||
Platform: | Other | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=376990 | ||
Latest Commit: | Version Fixed In: |
Description
Tristan Miller
2017-09-09 18:45:12 UTC
Then don't set that flag... But in any case, the bug isn't with plasmashell, from your own report okular is crashing too. Please report to Qt Edit. As it's the menu it could be the plasma-integration qpt acting as the difference. If you unset any env vars that mention KDE and it goes away please reassign to plasma-integration. (In reply to David Edmundson from comment #2) > Edit. > As it's the menu it could be the plasma-integration qpt acting as the > difference. > > If you unset any env vars that mention KDE and it goes away please reassign > to plasma-integration. Even with those environment variables unset (or indeed, with all environment variables unset), I can still reproduce the issue. I can report the issue to Qt, but it does seem strange than the problem is reproducible only when running KDE applications through Plasma. As I mentioned, I haven't been able to reproduce the issue when running non-KDE Qt applications, nor when running any applications (KDE, Qt, or other) on other desktop environments. (In reply to David Edmundson from comment #1) > Then don't set that flag... On further investigation, it seems that the vanilla Emacs distribution does not set this environment variable. Rather, it is set by a wrapper script included in the Emacs package from openSUSE (and possibly other distributions). I've asked downstream about the purpose of this flag and whether it can be removed pending a fix for this issue: https://bugzilla.opensuse.org/show_bug.cgi?id=1057971 It seems to be the breeze qstyle which is the difference. Can you set to "Fusion" (which is a much simpler one) and confirm? I can reproduce also with Fusion and Windows style. It seems to be QToolTip causing this. When I start Dolphin or System Settings they crash right away when creating a KToolTipWidget whereas Okular crashes as soon as I hover a tool button which spawns a QToolTip. When I set my widget style to Fusion or MS Windows 9x, I am no longer able to trigger the crash using the method described in my OP (i.e., launching Okular and then activating a pull-down menu). However, like Kai, Dolphin consistently crashes on launch no matter what widget style is selected. Kwrite does not crash with Fusion style at all. It crashes with Oxygen and Breeze as soon as a tooltip appears. Better backtrace: Thread 1 "dolphin" received signal SIGSEGV, Segmentation fault. #0 qglx_findConfig (display=display@entry=0x64aae0, screen=screen@entry=0, format=..., highestPixelFormat=highestPixelFormat@entry=false, drawableBit=drawableBit@entry=1) at qglxconvenience.cpp:206 #1 0x00007ffff7fec1f4 in qglx_findVisualInfo (display=0x64aae0, screen=screen@entry=0, format=format@entry=0xa82310, drawableBit=drawableBit@entry=1) at qglxconvenience.cpp:233 #2 0x00007ffff7fe768d in QXcbGlxWindow::createVisual (this=0xa822b0) at qxcbglxwindow.cpp:61 #3 0x00007fffe4827f4c in QXcbWindow::create (this=0xa822b0) at qxcbwindow.cpp:424 #4 0x00007fffe480ee2f in QXcbIntegration::createPlatformWindow (this=<optimized out>, window=0xa81d20) at qxcbintegration.cpp:205 #5 0x00007ffff275c4e1 in QWindowPrivate::create (this=0xa81d80, recursive=recursive@entry=false, nativeHandle=nativeHandle@entry=0) at kernel/qwindow.cpp:438 #6 0x00007ffff275c83f in QWindow::create (this=this@entry=0xa81d20) at kernel/qwindow.cpp:619 #7 0x00007ffff2d16304 in QWidgetPrivate::create_sys (this=this@entry=0xa81620, window=window@entry=0, initializeWindow=initializeWindow@entry=true, destroyOldWindow=destroyOldWindow@entry=true) at kernel/qwidget.cpp:1478 #8 0x00007ffff2d15909 in QWidget::create (this=this@entry=0xa815e0, window=window@entry=0, initializeWindow=initializeWindow@entry=tr at kernel/qwidget.cpp:1338 #9 0x00007ffff2d15c92 in QWidgetPrivate::createWinId (this=<optimized out>) at kernel/qwidget.cpp:2581 #10 0x00007ffff2d165eb in QWidget::createWinId (this=<optimized out>) at kernel/qwidget.cpp:2600 #11 0x00007ffff4624abf in KToolTipWidget::KToolTipWidget(QWidget*) () from /usr/lib/x86_64-linux-gnu/libKF5WidgetsAddons.so.5 #12 0x00007ffff74d7a7e in ?? () from /usr/lib/x86_64-linux-gnu/libdolphinprivate.so.5 #13 0x00007ffff74cc8d2 in DolphinView::DolphinView(QUrl const&, QWidget*) () from /usr/lib/x86_64-linux-gnu/libdolphinprivate.so.5 Seems to crash accessing a nullptr returned by glXGetVisualFromFBConfig which according to docs can return null: "If config is a valid GLX frame buffer configuration and it has an associated X Visual, then information describing that visual is returned; otherwise NULL is returned. Use XFree to free the data returned." https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glXGetVisualFromFBConfig.xml And it probably does here because you explicitly told it to skip some visuals Using openSUSE 15.1, this report is still valid, as XLIB_SKIP_ARGB_VISUALS='' still crashes okular 1.10.0. (In reply to auxsvr from comment #11) > Using openSUSE 15.1, this report is still valid, as > XLIB_SKIP_ARGB_VISUALS='' still crashes okular 1.10.0. Not reproducible for me with openSUSE 15.1 (KDE 5.55.0, Qt 5.9.7). I tried various applications (Okular 1.6.3, Dolphin) and various widget styles (Breeze, Fusion). What version of Qt are you running? Is it possible it's an old version that doesn't contain Kai's patch? Using KDE Frameworks 5.70.0, Qt 5.14.1 and breeze dark, okular is crashing when launched from emacs, unless I change the code in /usr/bin/emacs to prevent it from defining XLIB_SKIP_ARGB_VISUALS. How can this be if the patch is in Qt 5.9.7? I also can't reproduce this problem with openSUSE Tumbleweed. auxsvr@gmail.com, openSUSE Leap 15.1 is due to be EOL'd in two months. Perhaps you could upgrade to 15.2 and try testing again? I confirm that on openSUSE 15.2 okular no longer crashes, even though XLIB_SKIP_ARGB_VISUALS=1 is defined. |