QOpenGLShaderProgram: could not create shader program, QOpenGLShader: could not create shader, Could not link shader program X11 from a Mac XQuartz
-
SLimGUI version 4.0.1 from Messerlab, seg faults and coredumps when using a Mac and XQuartz trying to open via X11 on a RHEL 8 cluster. There is a closed issue at their Git page blaming Qt. Could it really be this XQuartz bug?
rpm -qa|grep -i Qt qt5-qtbase-gui-5.12.5-6.el8.x86_64 qt5-rpm-macros-5.12.5-3.el8.noarch qt5-qtbase-5.12.5-6.el8.x86_64 qt5-qtbase-devel-5.12.5-6.el8.x86_64 qt5-srpm-macros-5.12.5-3.el8.noarch qt5-qtbase-common-5.12.5-6.el8.noarch
here are the last errors before the coredump:
13:32:20 : QOpenGLWidget: Failed to make context current 13:32:20 : QOpenGLShaderProgram: could not create shader program 13:32:20 : QOpenGLShader: could not create shader 13:32:20 : Could not link shader program:
a backtrace from GDB shows:
(gdb) thread apply all bt Thread 3 (Thread 0x155546a48700 (LWP 656143)): #0 0x00001555533d3f21 in poll () from /lib64/libc.so.6 #1 0x000015554eec89b6 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 #2 0x000015554eec8ae0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #3 0x000015555428518b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5 #4 0x000015555423118b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5 #5 0x000015555408fd42 in QThread::exec() () from /lib64/libQt5Core.so.5 #6 0x000015555541cee9 in QDBusConnectionManager::run() () from /lib64/libQt5DBus.so.5 #7 0x0000155554091076 in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5 #8 0x00001555530cb2de in start_thread () from /lib64/libpthread.so.0 #9 0x00001555533dee83 in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x155547e89700 (LWP 656142)): #0 0x00001555533d3f21 in poll () from /lib64/libc.so.6 #1 0x000015554e7766cf in _xcb_conn_wait () from /lib64/libxcb.so.1 #2 0x000015554e77835a in xcb_wait_for_event () from /lib64/libxcb.so.1 #3 0x000015554acc73d8 in QXcbEventQueue::run() () from /lib64/libQt5XcbQpa.so.5 #4 0x0000155554091076 in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5 #5 0x00001555530cb2de in start_thread () from /lib64/libpthread.so.0 #6 0x00001555533dee83 in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x155555514c80 (LWP 656044)): #0 0x0000155553440c27 in __memmove_avx_unaligned_erms () from /lib64/libc.so.6 #1 0x00001555463a28bb in emit_element_none.isra () from /lib64/libGLX_system.so.0 #2 0x00001555463a2b71 in emit_DrawArrays_none () from /lib64/libGLX_system.so.0 #3 0x0000155554b7a800 in QOpenGLTextureBlitterPrivate::blit(unsigned int, QMatrix4x4 const&, QGenericMatrix<3, 3, float> const&) () from /lib64/libQt5Gui.so.5 --Type <RET> for more, q to quit, c to continue without paging-- #4 0x0000155554b0d3b6 in blitTextureForWidget(QPlatformTextureList const*, int, QWindow*, QRect const&, QOpenGLTextureBlitter*, QPoint const&, bool) () from /lib64/libQt5Gui.so.5 #5 0x0000155554b0dcf6 in QPlatformBackingStore::composeAndFlush(QWindow*, QRegion const&, QPoint const&, QPlatformTextureList*, bool) () from /lib64/libQt5Gui.so.5 #6 0x000015554acbb148 in QXcbBackingStore::composeAndFlush(QWindow*, QRegion const&, QPoint const&, QPlatformTextureList*, bool) () from /lib64/libQt5XcbQpa.so.5 #7 0x0000155554e1c6c3 in QWidgetBackingStore::qt_flush(QWidget*, QRegion const&, QBackingStore*, QWidget*, QPlatformTextureList*, QWidgetBackingStore*) () from /lib64/libQt5Widgets.so.5 #8 0x0000155554e1e158 in QWidgetBackingStore::flush(QWidget*) () from /lib64/libQt5Widgets.so.5 #9 0x0000155554e1f787 in QWidgetBackingStore::doSync() () from /lib64/libQt5Widgets.so.5 #10 0x0000155554e1f9a9 in QWidgetBackingStore::sync(QWidget*, QRegion const&) () from /lib64/libQt5Widgets.so.5 #11 0x0000155554e6cb6c in QWidgetWindow::handleExposeEvent(QExposeEvent*) () from /lib64/libQt5Widgets.so.5 #12 0x0000155554e6d62e in QWidgetWindow::event(QEvent*) () from /lib64/libQt5Widgets.so.5 #13 0x0000155554e0f5f5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5 #14 0x0000155554e16b10 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5 #15 0x0000155554232326 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5 #16 0x000015555489456e in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) () from /lib64/libQt5Gui.so.5 #17 0x00001555548947fd in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /lib64/libQt5Gui.so.5 #18 0x000015555487176b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Gui.so.5 #19 0x000015554acc845e in xcbSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5XcbQpa.so.5 #20 0x000015554eec867d in g_main_context_dispatch () from /lib64/libglib-2.0.so.0 #21 0x000015554eec8a48 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 #22 0x000015554eec8ae0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #23 0x000015555428518b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5 #24 0x000015555423118b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5 #25 0x00001555542391a6 in QCoreApplication::exec() () from /lib64/libQt5Core.so.5 #26 0x000000000056cbac in main ()
MobaXterm with Windows works just fine. Is there a work around for this? We do see version 5.12.5-6 is available via dnf update.
-
Hi,
Did you consider using the Qt online installer so you can build SLimGUI with a more recent version of Qt ?
-
Hi,
Did you consider using the Qt online installer so you can build SLimGUI with a more recent version of Qt ?
@SGaist No would that create a SLimGUI that could be then uploaded the our server as a module that could be loaded ad hoc? Or is what is created only then for use on a Mac?
-
The suggestion is to built it in a Linux machine so that you can then use it on your target.