So, the relevant madness appears to be: …snip all the glib detritus… ==30400== Invalid read of size 8 ==30400== at 0xE8587FB: QGLXContext::makeCurrent(QPlatformSurface*) (qglxintegration.cpp:333) ==30400== by 0x6339772: QOpenGLContext::makeCurrent(QSurface*) (qopenglcontext.cpp:812) ==30400== by 0x4F9626A: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.3.0) ==30400== by 0x4F96F1D: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.3.0) ==30400== by 0x6301448: QWindow::event(QEvent*) (qwindow.cpp:1956) ==30400== by 0x4FC0D72: QQuickWindow::event(QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.3.0) ==30400== by 0x5B2E6DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3504) ==30400== by 0x5B33455: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3287) ==30400== by 0x6BDB9D4: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:935) ==30400== by 0x62FABC5: QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) (qcoreapplication.h:240) ==30400== by 0x62FB724: QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (qguiapplication.cpp:1566) ==30400== by 0x62E2427: QWindowSystemInterface::sendWindowSystemEvents(QFlags) (qwindowsysteminterface.cpp:579) ==30400== Address 0xe1a8f90 is 16 bytes inside a block of size 192 free'd ==30400== at 0x4C2C2BC: operator delete(void*) (vg_replace_malloc.c:503) ==30400== by 0xE83611A: QXcbConnection::updateScreens() (qxcbconnection.cpp:258) ==30400== by 0xE836814: QXcbConnection::handleXcbEvent(xcb_generic_event_t*) (qxcbconnection.cpp:928) ==30400== by 0xE837A0A: QXcbConnection::processXcbEvents() (qxcbconnection.cpp:1232) ==30400== by 0x6C0B5B5: QObject::event(QEvent*) (qobject.cpp:1241) ==30400== by 0x5B2E6DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3504) ==30400== by 0x5B33455: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3287) ==30400== by 0x6BDB9D4: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:935) ==30400== by 0x6BDD826: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:237) ==30400== by 0x6C33242: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:279) ==30400== by 0x849FDE3: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4101.0) ==30400== by 0x84A0027: g_main_context_iterate.isra.24 (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4101.0) ==30400== ==30400== Invalid read of size 8 ==30400== at 0xE858525: QGLXContext::swapBuffers(QPlatformSurface*) (qglxintegration.cpp:392) ==30400== by 0x6339A71: QOpenGLContext::swapBuffers(QSurface*) (qopenglcontext.cpp:906) ==30400== by 0x4F96A8B: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.3.0) ==30400== by 0x4F96F1D: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.3.0) ==30400== by 0x6301448: QWindow::event(QEvent*) (qwindow.cpp:1956) ==30400== by 0x4FC0D72: QQuickWindow::event(QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.3.0) ==30400== by 0x5B2E6DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3504) ==30400== by 0x5B33455: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3287) ==30400== by 0x6BDB9D4: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:935) ==30400== by 0x62FABC5: QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) (qcoreapplication.h:240) ==30400== by 0x62FB724: QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (qguiapplication.cpp:1566) ==30400== by 0x62E2427: QWindowSystemInterface::sendWindowSystemEvents(QFlags) (qwindowsysteminterface.cpp:579) ==30400== Address 0xe1a8f90 is 16 bytes inside a block of size 192 free'd ==30400== at 0x4C2C2BC: operator delete(void*) (vg_replace_malloc.c:503) ==30400== by 0xE83611A: QXcbConnection::updateScreens() (qxcbconnection.cpp:258) ==30400== by 0xE836814: QXcbConnection::handleXcbEvent(xcb_generic_event_t*) (qxcbconnection.cpp:928) ==30400== by 0xE837A0A: QXcbConnection::processXcbEvents() (qxcbconnection.cpp:1232) ==30400== by 0x6C0B5B5: QObject::event(QEvent*) (qobject.cpp:1241) ==30400== by 0x5B2E6DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3504) ==30400== by 0x5B33455: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3287) ==30400== by 0x6BDB9D4: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:935) ==30400== by 0x6BDD826: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:237) ==30400== by 0x6C33242: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:279) ==30400== by 0x849FDE3: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4101.0) ==30400== by 0x84A0027: g_main_context_iterate.isra.24 (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4101.0) ==30400== ==30400== Invalid read of size 8 ==30400== at 0xE8587FB: QGLXContext::makeCurrent(QPlatformSurface*) (qglxintegration.cpp:333) ==30400== by 0x6339772: QOpenGLContext::makeCurrent(QSurface*) (qopenglcontext.cpp:812) ==30400== by 0x4F9626A: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.3.0) ==30400== by 0x4F971C4: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.3.0) ==30400== by 0x5B2E6DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3504) ==30400== by 0x5B33455: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3287) ==30400== by 0x6BDB9D4: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:935) ==30400== by 0x6C320CC: QTimerInfoList::activateTimers() (qcoreapplication.h:237) ==30400== by 0x6C323F0: timerSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:185) ==30400== by 0x849FDE3: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4101.0) ==30400== by 0x84A0027: g_main_context_iterate.isra.24 (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4101.0) ==30400== by 0x84A00CB: g_main_context_iteration (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4101.0) ==30400== Address 0xe1a8f90 is 16 bytes inside a block of size 192 free'd ==30400== at 0x4C2C2BC: operator delete(void*) (vg_replace_malloc.c:503) ==30400== by 0xE83611A: QXcbConnection::updateScreens() (qxcbconnection.cpp:258) ==30400== by 0xE836814: QXcbConnection::handleXcbEvent(xcb_generic_event_t*) (qxcbconnection.cpp:928) ==30400== by 0xE837A0A: QXcbConnection::processXcbEvents() (qxcbconnection.cpp:1232) ==30400== by 0x6C0B5B5: QObject::event(QEvent*) (qobject.cpp:1241) ==30400== by 0x5B2E6DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3504) ==30400== by 0x5B33455: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3287) ==30400== by 0x6BDB9D4: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:935) ==30400== by 0x6BDD826: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:237) ==30400== by 0x6C33242: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:279) ==30400== by 0x849FDE3: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4101.0) ==30400== by 0x84A0027: g_main_context_iterate.isra.24 (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4101.0) ==30400== ==30400== Invalid read of size 8 ==30400== at 0xE858525: QGLXContext::swapBuffers(QPlatformSurface*) (qglxintegration.cpp:392) ==30400== by 0x6339A71: QOpenGLContext::swapBuffers(QSurface*) (qopenglcontext.cpp:906) ==30400== by 0x4F96A8B: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.3.0) ==30400== by 0x4F971C4: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.3.0) ==30400== by 0x5B2E6DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3504) ==30400== by 0x5B33455: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3287) ==30400== by 0x6BDB9D4: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:935) ==30400== by 0x6C320CC: QTimerInfoList::activateTimers() (qcoreapplication.h:237) ==30400== by 0x6C323F0: timerSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:185) ==30400== by 0x849FDE3: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4101.0) ==30400== by 0x84A0027: g_main_context_iterate.isra.24 (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4101.0) ==30400== by 0x84A00CB: g_main_context_iteration (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4101.0) ==30400== Address 0xe1a8f90 is 16 bytes inside a block of size 192 free'd ==30400== at 0x4C2C2BC: operator delete(void*) (vg_replace_malloc.c:503) ==30400== by 0xE83611A: QXcbConnection::updateScreens() (qxcbconnection.cpp:258) ==30400== by 0xE836814: QXcbConnection::handleXcbEvent(xcb_generic_event_t*) (qxcbconnection.cpp:928) ==30400== by 0xE837A0A: QXcbConnection::processXcbEvents() (qxcbconnection.cpp:1232) ==30400== by 0x6C0B5B5: QObject::event(QEvent*) (qobject.cpp:1241) ==30400== by 0x5B2E6DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3504) ==30400== by 0x5B33455: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3287) ==30400== by 0x6BDB9D4: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:935) ==30400== by 0x6BDD826: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:237) ==30400== by 0x6C33242: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:279) ==30400== by 0x849FDE3: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4101.0) ==30400== by 0x84A0027: g_main_context_iterate.isra.24 (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4101.0) ==30400==