Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 533132 - media-sound/clementine USE=projectm with dev-qt/qtgui[egl] - when opening visualizations menu, segmentation fault in QEglContext::createSurface(QPaintDevice*, QEglProperties const*) () from /usr/lib64/qt4/libQtGui.so.4
Summary: media-sound/clementine USE=projectm with dev-qt/qtgui[egl] - when opening vis...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Lars Wendler (Polynomial-C) (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 588908
  Show dependency tree
 
Reported: 2014-12-20 17:52 UTC by Alex Efros
Modified: 2018-06-03 23:20 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
thread apply all bt full (gdb-bt-full.txt,18.34 KB, text/plain)
2014-12-21 16:53 UTC, Alex Efros
Details
bt short (clementine-SIGSEGV-20171129-bt-short.log,3.29 KB, text/x-log)
2017-11-29 23:53 UTC, Jiří Moravec
Details
bt full (clementine-SIGSEGV-20171129-bt-full.log,49.54 KB, text/x-log)
2017-11-29 23:53 UTC, Jiří Moravec
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Efros 2014-12-20 17:52:06 UTC
If qtgui compiled with USE=egl and clementine with USE=projectm then clementine crash when I open it 'visualizations' menu.

I'm using nvidia-drivers-343.36, USE=egl is enabled globally (i.e. mesa also built with egl if that important) so I suppose it should work, but it isn't.

I've tried both clementine-1.2.2 and 1.2.3.

To workaround this issue and get visualizations to work I've to:
  # USE="-egl" emerge -1av qtgui qtopengl

Here is error I got in kernel log:

kern.info: clementine[15990]: segfault at 10 ip 00007ff029d32e28 sp 00007fff486dad40 error 4 in libQtGui.so.4.8.5[7ff029401000+b79000]
kern.alert: grsec: Segmentation fault occurred at 0000000000000010 in /usr/bin/clementine[clementine:15990] uid/euid:1000/1000 gid/egid:1000/1000, parent /bin/bash[bash:9081] uid/euid:1000/1000 gid/egid:1000/1000

and here is what I got in clementine's output in console:

QEglContext::chooseConfig(): Could not find a suitable EGL configuration  
Requested: "type=gl,8 rgba=0,0,0,0 surface-type=window"  
Available:  
"id=1 type=es1,es2,69 rgba=8,8,8,8 depth=24 stencil=8 
    surface-type=window,pixmap,pbuffer,3079 caveat=none 
    max-pbuffer-size=16384x16384 native-renderable=false 
    visual-id=36 visual-type=32770 bind-texture=no-rgb,no-rgba 
    min-swap-interval=0 max-swap-interval=200 conformant=true"  
...
"id=118 type=es1,es2,69 rgba=5,6,5,0 surface-type=pbuffer,3073 
    caveat=none max-pbuffer-size=16384x16384 native-renderable=false 
    visual-id=0 visual-type=32768 bind-texture=no-rgb,no-rgba 
    min-swap-interval=0 max-swap-interval=200 conformant=true"  


Portage 2.2.14 (python 3.3.5-final-0, hardened/linux/amd64, gcc-4.8.3, glibc-2.19-r1, 3.15.10-hardened-r1 x86_64)
=================================================================
System uname: Linux-3.15.10-hardened-r1-x86_64-Intel-R-_Core-TM-_i7-2600K_CPU_@_3.40GHz-with-gentoo-2.2
KiB Mem:     8133928 total,   1479120 free
KiB Swap:    8388604 total,   8388604 free
Timestamp of tree: Sat, 20 Dec 2014 06:45:01 +0000
ld GNU ld (Gentoo 2.24 p1.4) 2.24
app-shells/bash:          4.2_p53
dev-java/java-config:     2.2.0
dev-lang/perl:            5.20.1-r4
dev-lang/python:          2.7.7, 3.3.5-r1
dev-util/cmake:           2.8.12.2-r1
dev-util/pkgconfig:       0.28-r1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6-r1, 1.13.4
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.8.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2-r1
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.16 (virtual/os-headers)
sys-libs/glibc:           2.19-r1
Repositories: gentoo perl-experimental-snapshots gamerlay powerman local
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/upsmon-usb/EXT/DownOS /opt/upsmon-usb/EXT/JSystem /service /usr/inferno/keydb /usr/inferno/lib /usr/inferno/services /usr/share/config /usr/share/easy-rsa /usr/share/gnupg/qualified.txt /var/log /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage-distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y --autounmask-write"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-logs clean-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="http://tux.rainside.sk/gentoo/ http://trumpetti.atm.tut.fi/gentoo/ http://gentoo.inode.at/"
LANG="ru_RU.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j8"
PKGDIR="/usr/portage-packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--exclude ChangeLog --delete-excluded"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/perl-experimental-snapshots /var/lib/layman/gamerlay /var/lib/layman/powerman /usr/local/portage"
SYNC="rsync://rsync.ua.gentoo.org/gentoo-portage"
USE="X a52 aac adns alac alsa amd64 avx bash-completion berkdb bzip2 caps cdda cddb cli cracklib crypt cups cxx dbus dri drm dts dvb dvd egl flac fontconfig gallium gdbm gif gnutls gpg hardened iconv icu id3tag idn ipv6 jpeg jpeg2k justify libnotify mac mad matroska mbox mmx mng modules mp3 mpeg multilib musepack ncurses network-cron nls nptl nsplugin ogg opengl openmp openvg pam pax_kernel pcre perl png qt3support readline session spell sse sse2 sse3 sse4_1 sse4_2 ssl ssse3 svg tcpd theora tiff truetype udev unicode urandom vdpau vim-syntax vorbis wavpack x264 xattr xosd xtpax xv xvid xvmc zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="log_config vhost_alias autoindex alias rewrite dir deflate filter mime negotiation auth_basic authn_file authz_host authz_user authz_groupfile cgi actions headers env setenvif" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64 pc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en ru ru_RU" NGINX_MODULES_HTTP="access auth_basic autoindex browser charset empty_gif fastcgi geo gzip limit_conn limit_req map memcached proxy referer rewrite scgi split_clients ssi upstream_ip_hash userid uwsgi fancyindex" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" QEMU_SOFTMMU_TARGETS="x86_64 i386" QEMU_USER_TARGETS="x86_64 i386" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="nvidia nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, USE_PYTHON
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2014-12-21 10:05:55 UTC
Please attach the gdb backtrace output matching that segmentation fault.
Comment 2 Alex Efros 2014-12-21 16:51:53 UTC
I've removed "No symbol table info available." printed every second line from gdb output. I'll attach file with `thread apply all bt full`.


Program received signal SIGSEGV, Segmentation fault.
0x000067a2500a6e28 in QEglContext::createSurface(QPaintDevice*, QEglProperties const*) ()
   from /usr/lib64/qt4/libQtGui.so.4
(gdb) bt full
#0  0x000067a2500a6e28 in QEglContext::createSurface(QPaintDevice*, QEglProperties const*) ()
   from /usr/lib64/qt4/libQtGui.so.4
#1  0x000067a2505f6df8 in ?? () from /usr/lib64/qt4/libQtOpenGL.so.4
#2  0x000067a250575148 in QGLWidget::event(QEvent*) () from /usr/lib64/qt4/libQtOpenGL.so.4
#3  0x000067a24f9434ec in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib64/qt4/libQtGui.so.4
#4  0x000067a24f94a9ed in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib64/qt4/libQtGui.so.4
#5  0x000067a252d43c3d in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/lib64/qt4/libQtCore.so.4
#6  0x000067a24f9aa478 in QWidget::setParent(QWidget*, QFlags<Qt::WindowType>) ()
   from /usr/lib64/qt4/libQtGui.so.4
#7  0x000067a24f9ab355 in QWidget::setParent(QWidget*) () from /usr/lib64/qt4/libQtGui.so.4
#8  0x000067a24fe584ba in QAbstractScrollArea::setViewport(QWidget*) ()
   from /usr/lib64/qt4/libQtGui.so.4
#9  0x000005a66d6e08b2 in VisualisationContainer::Init() ()
#10 0x000005a66d6e15c0 in VisualisationContainer::showEvent(QShowEvent*) ()
#11 0x000067a24f9a9764 in QWidget::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#12 0x000067a24fdb9aa1 in QFrame::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#13 0x000067a24fe59683 in QAbstractScrollArea::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#14 0x000067a24f9434ec in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib64/qt4/libQtGui.so.4
#15 0x000067a24f94a9ed in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib64/qt4/libQtGui.so.4
#16 0x000067a252d43c3d in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/lib64/qt4/libQtCore.so.4
#17 0x000067a24f9a69fd in QWidgetPrivate::show_helper() () from /usr/lib64/qt4/libQtGui.so.4
#18 0x000067a24f9a8a29 in QWidget::setVisible(bool) () from /usr/lib64/qt4/libQtGui.so.4
#19 0x000005a66d717e7e in ?? ()
#20 0x000067a252d5ccff in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
   from /usr/lib64/qt4/libQtCore.so.4
#21 0x000067a24f93a37f in QAction::triggered(bool) () from /usr/lib64/qt4/libQtGui.so.4
#22 0x000067a24f93c7ac in QAction::activate(QAction::ActionEvent) ()
   from /usr/lib64/qt4/libQtGui.so.4
#23 0x000067a24fe0087c in ?? () from /usr/lib64/qt4/libQtGui.so.4
#24 0x000067a24fe058ef in ?? () from /usr/lib64/qt4/libQtGui.so.4
#25 0x000067a24f9a9aa6 in QWidget::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#26 0x000067a24fe09f1b in QMenu::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#27 0x000067a24f9434ec in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib64/qt4/libQtGui.so.4
#28 0x000067a24f94ab55 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib64/qt4/libQtGui.so.4
#29 0x000067a252d43c3d in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/lib64/qt4/libQtCore.so.4
#30 0x000067a24f94a1f2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/qt4/libQtGui.so.4
#31 0x000067a24f9d9393 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#32 0x000067a24f9d7971 in QApplication::x11ProcessEvent(_XEvent*) ()
   from /usr/lib64/qt4/libQtGui.so.4
#33 0x000067a24fa049c2 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#34 0x000067a252182429 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#35 0x000067a2521826b8 in ?? () from /usr/lib64/libglib-2.0.so.0
#36 0x000067a2521827c1 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#37 0x000067a252d7afc7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#38 0x000067a24fa04a9b in ?? () from /usr/lib64/qt4/libQtGui.so.4
#39 0x000067a252d42083 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib64/qt4/libQtCore.so.4
#40 0x000067a252d424f5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib64/qt4/libQtCore.so.4
#41 0x000067a252d48d4c in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#42 0x000005a66d50fc4c in main ()
(gdb)
Comment 3 Alex Efros 2014-12-21 16:53:14 UTC
Created attachment 392184 [details]
thread apply all bt full
Comment 4 Nikoli 2015-03-14 12:37:17 UTC
I am not sure if this is bug in clementine. Does EGL actually work fine for you? Please try testing other apps with EGL and qtgui[egl].

How well does eglgears_x11 from x11-apps/mesa-progs work for you? I heard that nvidia-drivers do not support EGL well yet.
Comment 5 Alex Efros 2015-03-31 14:51:10 UTC
# eselect opengl set nvidia
# eglinfo 
eglinfo: symbol lookup error: eglinfo: undefined symbol: eglGetModesMESA
# eglgears_x11 
EGL_VERSION = 1.4
EGLUT: failed to choose a config
# eglgears_screen 
eglgears_screen: symbol lookup error: eglgears_screen: undefined symbol: eglGetScreensMESA

# eselect opengl set xorg-x11
# eglinfo 
libEGL warning: DRI2: failed to authenticate
EGL API version: 1.4
EGL vendor string: Mesa Project
EGL version string: 1.4 (DRI2)
EGL client APIs: OpenGL OpenGL_ES OpenGL_ES2 OpenGL_ES3 
EGL extensions string:
    EGL_MESA_configless_context EGL_KHR_surfaceless_context
Configurations:
...
# eglgears_x11 
libEGL warning: DRI2: failed to authenticate
EGL_VERSION = 1.4 (DRI2)
---WORKS OK---
# eglgears_screen 
libEGL warning: DRI2: failed to authenticate
EGL_VERSION = 1.4 (DRI2)
EGLUT: failed to choose a config
Comment 6 Nikoli 2015-08-28 20:14:21 UTC
Seems EGL is broken in your system, so why enable it for Qt?
Comment 7 Fat-Zer 2017-03-06 06:37:06 UTC
Is this is still an issue?
Could you verify it against recent versions of qt/nvidia-drivers/clementine/libprojectm?
Comment 8 Alex Efros 2017-03-06 08:04:11 UTC
  # USE="egl projectm" emerge -uDN clementine
has (re)emerged these packages:
  N media-libs/ftgl-2.1.3_rc5
  N media-gfx/nvidia-cg-toolkit-3.1.0013-r3
  N media-libs/libprojectm-2.1.0-r1
  R media-libs/gst-plugins-bad-1.10.3
  R dev-qt/qtgui-4.8.6-r4
  R dev-qt/qtopengl-4.8.6-r1
  R media-sound/clementine-1.3.1-r5

And yes, it's still crash:

2017-03-06_07:59:16.76086 kern.info: clementine[15050]: segfault at 10 ip 00006a180faae8a6 sp 000070bc1b01e200 error 4 in libQtGui.so.4.8.6[6a180f192000+b8f000]
2017-03-06_07:59:16.76088 kern.alert: grsec: Segmentation fault occurred at 0000000000000010 in /usr/bin/clementine[clementine:15050] uid/euid:1000/1000 gid/egid:1000/1000, parent /bin/bash[bash:15049] uid/euid:1000/1000 gid/egid:1000/1000

Here is console output while crashing:

10:03:02.016 WARN  unknown                          QEgl::display(): Falling back to EGL_DEFAULT_DISPLAY 
10:03:02.016 WARN  unknown                          QEgl::display(): Can't even open the default display 
10:03:02.016 WARN  unknown                          QEglContext::chooseConfig(): Could not find a suitable EGL configuration  
10:03:02.016 WARN  unknown                          Requested: "type=gl,8 rgba=0,0,0,0 surface-type=window"  
10:03:02.016 WARN  unknown                          Available:  
Segmentation fault
Comment 9 Fat-Zer 2017-03-07 03:46:39 UTC
ok, I've tried it myself and couldn't got to work EGL with nvidia-drivers(375.26) at all (even for eglxgears_x11 eglInitialize() fails). In such conditions opengl examples from Qt segfalted the same way clementine does.

So Alex, does EGL actually works on your system? And if not, why do you have it enabaled at all and are there any reasons to expect it to  work someway properly?
Otherwise, if it does, how you managed to do it?

As for now I consider the problem is not on clementine's side, but rather on the nvidia's and/or qt4's one.
Comment 10 Fat-Zer 2017-03-07 05:01:12 UTC
~Update~

After fixing #606584 situation changed a bit:
- eglgears and eglinfo started to display meaningful information.
- Qt opengl examples stopped segfaulting but stil swearing a lot and display nothing but a black square...
- Clementine segfaults a bit differently:

=============
(gdb) bt 20
#0  0x00007ffff1db26c0 in XVisualIDFromVisual () from /usr/lib64/libX11.so.6
#1  0x00007ffff2b5d249 in qt_x11_getX11InfoForWindow (xinfo=0x1c23530, att=...) at /usr/src/debug/dev-qt/qtgui-4.8.6-r4/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qwidget_x11.cpp:3116
#2  0x00007ffff2b50ab5 in qt_x11_getX11InfoForWindow (xinfo=0x1c23530, a=...) at /usr/src/debug/dev-qt/qtgui-4.8.6-r4/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qwidget_x11.cpp:438
#3  0x00007ffff2b5161f in QWidgetPrivate::create_sys (this=0x1c23350, window=94371921, initializeWindow=true, destroyOldWindow=true)
    at /usr/src/debug/dev-qt/qtgui-4.8.6-r4/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qwidget_x11.cpp:599
#4  0x00007ffff2ae25ae in QWidget::create (this=0x1c572b0, window=94371921, initializeWindow=true, destroyOldWindow=true) at /usr/src/debug/dev-qt/qtgui-4.8.6-r4/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qwidget.cpp:1513
#5  0x00007ffff330dfe7 in qt_set_winid_on_widget (w=0x1c572b0, id=94371921) at /usr/src/debug/dev-qt/qtgui-4.8.6-r4/qt-everywhere-opensource-src-4.8.6/src/gui/egl/qegl_x11.cpp:327
#6  0x00007ffff330e50e in QEgl::createSurface (device=0x1c572c0, config=0xcaf36b, properties=0x0) at /usr/src/debug/dev-qt/qtgui-4.8.6-r4/qt-everywhere-opensource-src-4.8.6/src/gui/egl/qegl_x11.cpp:410
#7  0x00007ffff3309237 in QEglContext::createSurface (this=0x1cc99e0, device=0x1c572c0, properties=0x0) at /usr/src/debug/dev-qt/qtgui-4.8.6-r4/qt-everywhere-opensource-src-4.8.6/src/gui/egl/qegl.cpp:356
#8  0x00007ffff39123da in QGLWidgetPrivate::recreateEglSurface (this=0x1c23350) at /usr/src/debug/dev-qt/qtopengl-4.8.6-r1/qt-everywhere-opensource-src-4.8.6/src/opengl/qgl_x11egl.cpp:376
#9  0x00007ffff3876041 in QGLWidget::event (this=0x1c572b0, e=0x7fffffffa910) at /usr/src/debug/dev-qt/qtopengl-4.8.6-r1/qt-everywhere-opensource-src-4.8.6/src/opengl/qgl.cpp:4332
#10 0x00007ffff2a8d762 in QApplicationPrivate::notify_helper (this=0xf00210, receiver=0x1c572b0, e=0x7fffffffa910) at /usr/src/debug/dev-qt/qtgui-4.8.6-r4/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qapplication.cpp:4565
#11 0x00007ffff2a8d44d in QApplication::notify (this=0x7fffffffc890, receiver=0x1c572b0, e=0x7fffffffa910) at /usr/src/debug/dev-qt/qtgui-4.8.6-r4/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qapplication.cpp:4530
#12 0x00007ffff6e9faed in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#13 0x00007ffff2a7df49 in QCoreApplication::sendEvent (receiver=0x1c572b0, event=0x7fffffffa910) at ../../../qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcoreapplication.h:231
#14 0x00007ffff2af844a in QWidget::setParent (this=0x1c572b0, parent=0x1c988e0, f=...) at /usr/src/debug/dev-qt/qtgui-4.8.6-r4/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qwidget.cpp:10322
#15 0x00007ffff2af7c80 in QWidget::setParent (this=0x1c572b0, parent=0x1c988e0) at /usr/src/debug/dev-qt/qtgui-4.8.6-r4/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qwidget.cpp:10173
#16 0x00007ffff308cc76 in QAbstractScrollArea::setViewport (this=0x1c988e0, widget=0x1c572b0) at /usr/src/debug/dev-qt/qtgui-4.8.6-r4/qt-everywhere-opensource-src-4.8.6/src/gui/widgets/qabstractscrollarea.cpp:547
#17 0x000000000077bb39 in VisualisationContainer::Init() ()
#18 0x000000000077c7a8 in VisualisationContainer::showEvent(QShowEvent*) ()
#19 0x00007ffff2af5837 in QWidget::event (this=0x1c988e0, event=0x7fffffffb1b0) at /usr/src/debug/dev-qt/qtgui-4.8.6-r4/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qwidget.cpp:8607
=============

Gonna to force qtgui/qtopengl[-egl] for clementine[projectm] if no objections.
Comment 11 Alex Efros 2017-03-07 06:31:19 UTC
(In reply to Fat-Zer from comment #9)
> So Alex, does EGL actually works on your system?
> And if not, why do you have it enabaled at all and
> are there any reasons to expect it to  work someway properly?

Well, one of reasons to enable these USE flags was an attempt to clarify this and find out is it works on my system in some real app. :) As I mentioned in comment 5 at least eglgears_x11 works ok.
Comment 12 Fat-Zer 2017-03-07 13:10:21 UTC
(In reply to Alex Efros from comment #11)
> Well, one of reasons to enable these USE flags was an attempt to clarify
> this and find out is it works on my system in some real app. :) As I
> mentioned in comment 5 at least eglgears_x11 works ok.

Actually, according to #5 it doesn't work... Note that when you switch to xorg implementation it is likely that it just falls back to software rendering...
Comment 13 Jiří Moravec 2017-11-28 19:48:28 UTC
Mine eglgears_x11 and eglinfo run xorg-x11 implementation of OpenGL without problems or even warnings, but running clementine with dev-qt/qtgui:4[egl], dev-qt/qtopengl:4[egl] still ending with segfault in libQtOpenGL.so.4.8.7
Comment 14 Andreas Sturmlechner gentoo-dev 2017-11-29 19:11:25 UTC
(In reply to Jiří Moravec from comment #13)
> Mine eglgears_x11 and eglinfo run xorg-x11 implementation of OpenGL without
> problems or even warnings, but running clementine with dev-qt/qtgui:4[egl],
> dev-qt/qtopengl:4[egl] still ending with segfault in libQtOpenGL.so.4.8.7
Which version did you test, please?
Comment 15 Jiří Moravec 2017-11-29 21:09:52 UTC
(In reply to Andreas Sturmlechner from comment #14)
> (In reply to Jiří Moravec from comment #13)
> > Mine eglgears_x11 and eglinfo run xorg-x11 implementation of OpenGL without
> > problems or even warnings, but running clementine with dev-qt/qtgui:4[egl],
> > dev-qt/qtopengl:4[egl] still ending with segfault in libQtOpenGL.so.4.8.7
> Which version did you test, please?

x11-apps/mesa-progs-8.3.0
Comment 16 Jiří Moravec 2017-11-29 23:52:22 UTC
Sorry, as I just found, mine error is maybe different from yours. But only manifest when qtopengl/qtgui packages are build with USE="egl". So for full disclosure mine gdb backtraces (short/full) are attached.
Comment 17 Jiří Moravec 2017-11-29 23:53:04 UTC
Created attachment 507244 [details]
bt short
Comment 18 Jiří Moravec 2017-11-29 23:53:29 UTC
Created attachment 507246 [details]
bt full
Comment 19 Jiří Moravec 2017-11-30 13:12:23 UTC
And now it's look more like race condition, because when I ran it in gdb first time it hit segfault but second time clementine fully started and played music without any hiccup. Really confusing...
Comment 20 Andreas Sturmlechner gentoo-dev 2018-05-10 10:33:26 UTC
Please test with latest snapshot.
Comment 21 Dennis Schridde 2018-05-10 15:41:50 UTC
(In reply to Andreas Sturmlechner from comment #20)
> Please test with latest snapshot.

Assuming Clementine uses projectm to display *.milk visualisations, media-sound/clementine[projectm] seems to work without crashes so far.

* media-sound/clementine-1.3.1_p20180416[projectm]
* media-libs/libprojectm-2.1.0-r2
* dev-qt/qtgui-5.9.5[egl]
* media-libs/mesa-18.1.0_rc3
Comment 22 Alex Efros 2018-05-10 19:31:23 UTC
(In reply to Andreas Sturmlechner from comment #20)
> Please test with latest snapshot.

# USE="egl eglfs projectm" emerge -uDNa world
[ebuild  N     ] media-libs/ftgl-2.1.3_rc5  USE="-static-libs" 
[ebuild  N     ] media-gfx/nvidia-cg-toolkit-3.1.0013-r3  USE="-doc -examples" ABI_X86="(64) -32" 
[ebuild  N     ] media-libs/libprojectm-2.1.0-r2  USE="openmp -debug" VIDEO_CARDS="nvidia" 
[ebuild   R    ] x11-apps/mesa-progs-8.3.0  USE="egl*" 
[ebuild   R    ] dev-qt/qtgui-5.9.4-r3  USE="egl* eglfs*" 
[ebuild   R    ] media-sound/clementine-1.3.1_p20180416  USE="projectm*" 
[ebuild   R    ] media-video/vlc-2.2.8-r1  USE="projectm*" 

Most of visualisations works now! Some just black screen, but I see few lines like this in kernel log, may be the reason:

kern.alert: grsec: denied RWX mprotect of /usr/lib64/opengl/nvidia/lib/libGLdispatch.so.0 by /usr/bin/clementine[clementine:30225]
Comment 23 Andreas Sturmlechner gentoo-dev 2018-06-03 23:20:16 UTC
Thanks for checking back.