Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-75269

QOpenGLShaderProgram::setUniformValue crashes in QOpenGLFunctions::glUniformMatrix4fv after resume

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • Not Evaluated
    • None
    • 5.13.0 Beta2
    • GUI: OpenGL
    • None
    • Linux/X11

    Description

      I upgraded to Qt 5.13 (using qt5.git branch 5.13) and now every time I suspend+resume my laptop, plasmashell crashes, with the backtrace below.

      #0  0x0000000000000000 in  ()
      #1  0x00007f1259c0fdc4 in QOpenGLFunctions::glUniformMatrix4fv(int, int, unsigned char, float const*) (value=0x4030d44, transpose=0 '\000', count=1, location=<optimized out>, this=<optimized out>) at ../../include/QtGui/../../..
      /../qtbase/src/gui/opengl/qopenglfunctions.h:2053
      #2  0x00007f1259c0fdc4 in QOpenGLShaderProgram::setUniformValue(int, QMatrix4x4 const&) (this=<optimized out>, location=<optimized out>, value=...) at /d/qt/5/kde/qtbase/src/gui/opengl/qopenglshaderprogram.cpp:2854
      #3  0x00007f11de4dd140 in Plotter::render() (this=0x4030cd0) at /d/kde/src/5/frameworks/kdeclarative/src/qmlcontrols/kquickcontrolsaddons/plotter.cpp:656
      #4  0x00007f125935889f in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7f11924aeac8, r=0x4030cd0, this=<optimized out>) at ../../include/QtCore/../../../../qtbase/src/corelib/kernel/qobjectdefs_impl.h:394
      #5  0x00007f125935889f in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0x2c637b0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=6, argv=0x7f11924aeac8, argv@entry=0x0) at /d/
      qt/5/kde/qtbase/src/corelib/kernel/qobject.cpp:3782
      #6  0x00007f1259358cf5 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x2c637b0, m=m@entry=0x7f125f2b6b00 <QQuickWindow::staticMetaObject>, local_signal_index=local_signal_index@entry=6,
       argv=argv@entry=0x0) at /d/qt/5/kde/qtbase/src/corelib/kernel/qobject.cpp:3652
      #7  0x00007f125edfa5ea in QQuickWindow::beforeRendering() (this=this@entry=0x2c637b0) at .moc/moc_qquickwindow.cpp:527
      #8  0x00007f125edfe402 in QQuickWindowPrivate::renderSceneGraph(QSize const&) (this=this@entry=0x2c09d60, size=...) at /d/qt/5/kde/qtdeclarative/src/quick/items/qquickwindow.cpp:461
      #9  0x00007f125eda0396 in QSGRenderThread::syncAndRender() (this=this@entry=0x3be8200) at /d/qt/5/kde/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:646
      #10 0x00007f125eda3c23 in QSGRenderThread::run() (this=0x3be8200) at /d/qt/5/kde/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:730
      #11 0x00007f125915efe4 in QThreadPrivate::start(void*) (arg=0x3be8200) at /d/qt/5/kde/qtbase/src/corelib/thread/qthread_unix.cpp:364
      #12 0x00007f12564c9559 in start_thread () at /lib64/libpthread.so.0
      #13 0x00007f12584f782f in clone () at /lib64/libc.so.6
      

      Using gdb I found out more:

      2047│ inline void QOpenGLFunctions::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
      2048│ {
      2049│ #if defined(QT_OPENGL_ES_2) && defined(Q_OS_ANDROID)
      2050│     ::glUniformMatrix4fv(location, count, transpose, value);
      2051│ #else
      2052│     Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
      2053├───> d_ptr->f.UniformMatrix4fv(location, count, transpose, value);
      2054│ #endif
      2055│     Q_OPENGL_FUNCTIONS_DEBUG
      2056│ }
      
      (gdb) p $7->d_ptr->f.UniformMatrix4fv
      $11 = (void (*)(GLint, GLsizei, GLboolean, const GLfloat *)) 0x0
      

      GPU: NVIDIA Corporation GM107GLM [Quadro M2000M]
      Driver: NVIDIA dlloader X Driver 390.116

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            lagocs Laszlo Agocs
            dfaure_kdab David Faure
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes