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

crash in KDE application because QWidgetPrivate gets initialized too late

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • Not Evaluated
    • None
    • 4.8.6
    • None

    Description

      QWidgetPrivate::allWidgets is initialized in QApplication::initialize which is called after qt_init in QApplication::construct.
      But this code path wants to create a QWidget before that and runs into the ASSERT.
      This didnt happen to me with 4.8.5 but that might be because it crashed earlier in another place.
      The application called is the KDE Application juk --graphicssystem opengl.
      This happens only with opengl set as graphicssystem.

      Here is the stack trace.

      #0 0x00007ffff3327ad9 in raise () from /lib64/libc.so.6
      #1 0x00007ffff33290ce in abort () from /lib64/libc.so.6
      #2 0x00007ffff522b74b in qt_message_output (msgType=QtFatalMsg,
      buf=0x9ca8b8 "ASSERT: \"allWidgets\" in file kernel/qwidget.cpp, line 1286") at global/qglobal.cpp:2359
      #3 0x00007ffff522b8c7 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg,
      msg=0x7ffff53fb608 "ASSERT: \"%s\" in file %s, line %d", ap=0x7fffffffb2d8) at global/qglobal.cpp:2405
      #4 0x00007ffff522c091 in qFatal (msg=0x7ffff53fb608 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2588
      #5 0x00007ffff522b304 in qt_assert (assertion=0x7ffff4997973 "allWidgets", file=0x7ffff4997850 "kernel/qwidget.cpp", line=1286)
      at global/qglobal.cpp:2054
      #6 0x00007ffff41346ef in QWidgetPrivate::init (this=0xa0bf90, parentWidget=0x0, f=...) at kernel/qwidget.cpp:1286
      #7 0x00007ffff4134181 in QWidget::QWidget (this=0x949890, dd=..., parent=0x0, f=...) at kernel/qwidget.cpp:1207
      #8 0x00007ffff41a07b8 in QDesktopWidget::QDesktopWidget (this=0x949890) at kernel/qdesktopwidget_x11.cpp:220
      #9 0x00007ffff40ddd30 in QApplication::desktop () at kernel/qapplication.cpp:3277
      #10 0x00007fffe91e1ba2 in QGLPixmapData::createPixmapForImage (this=0x963dd0, image=..., flags=..., inPlace=false)
      at qpixmapdata_gl.cpp:476
      #11 0x00007fffe91e105a in QGLPixmapData::fromImage (this=0x963dd0, image=..., flags=...) at qpixmapdata_gl.cpp:375
      #12 0x00007ffff4206767 in QPixmapData::copy (this=0x963dd0, data=0x8351a0, rect=...) at image/qpixmapdata.cpp:156
      #13 0x00007fffe91e1f6a in QGLPixmapData::copy (this=0x963dd0, data=0x8351a0, rect=...) at qpixmapdata_gl.cpp:522
      #14 0x00007ffff41fd3bd in QPixmap::copy (this=0x7fffffffb9e0, rect=...) at image/qpixmap.cpp:390
      #15 0x00007fffe42cc385 in Oxygen::TileSet::initPixmap (this=this@entry=0x963ea0, pixmaps=..., pix=..., w=14, h=14, rect=...)
      at /var/tmp/portage/kde-base/liboxygenstyle-4.11.5/work/liboxygenstyle-4.11.5/libs/oxygen/oxygentileset.cpp:50
      #16 0x00007fffe42cc4c7 in Oxygen::TileSet::TileSet (this=0x963ea0, pix=..., w1=<optimized out>, h1=<optimized out>, w3=<optimized out>,
      h3=<optimized out>, x1=14, y1=14, w2=1, h2=1, stretch=false)
      at /var/tmp/portage/kde-base/liboxygenstyle-4.11.5/work/liboxygenstyle-4.11.5/libs/oxygen/oxygentileset.cpp:118
      #17 0x00007fffe42ca64f in Oxygen::ShadowCache::tileSet (this=this@entry=0x7fffffffba40, key=...)
      at /var/tmp/portage/kde-base/liboxygenstyle-4.11.5/work/liboxygenstyle-4.11.5/libs/oxygen/oxygenshadowcache.cpp:123
      #18 0x00007fffe452f42c in Oxygen::MdiWindowShadowFactory::MdiWindowShadowFactory (this=0x7e5d20, parent=<optimized out>, helper=...)
      at /var/tmp/portage/kde-base/kstyles-4.11.5/work/kstyles-4.11.5/kstyles/oxygen/oxygenmdiwindowshadow.cpp:95
      #19 0x00007fffe454cfba in Oxygen::Style::Style (this=0x885510)
      at /var/tmp/portage/kde-base/kstyles-4.11.5/work/kstyles-4.11.5/kstyles/oxygen/oxygenstyle.cpp:173
      #20 0x00007fffe455a2c1 in Oxygen::StylePlugin::create (this=<optimized out>, key=...)
      at /var/tmp/portage/kde-base/kstyles-4.11.5/work/kstyles-4.11.5/kstyles/oxygen/oxygenstyle.cpp:127
      #21 0x00007ffff44ce66d in QStyleFactory::create (key=...) at styles/qstylefactory.cpp:193
      #22 0x00007ffff40d88a2 in QApplication::style () at kernel/qapplication.cpp:1465
      #23 0x00007ffff4177570 in qt_set_x11_resources (font=0x0, fg=0x0, bg=0x0, button=0x0) at kernel/qapplication_x11.cpp:1293
      #24 0x00007ffff417d7bd in qt_init (priv=0x78a2f0, display=0x0, visual=0, colormap=0) at kernel/qapplication_x11.cpp:2412
      #25 0x00007ffff40d7103 in QApplicationPrivate::construct (this=0x78a2f0, dpy=0x0, visual=0, cmap=0) at kernel/qapplication.cpp:842
      #26 0x00007ffff40d6d5e in QApplication::QApplication (this=0x7fffffffd8f0, argc=@0x7ffff5c1e57c: 1, argv=0x774880, GUIenabled=true,
      _internal=17041413) at kernel/qapplication.cpp:775
      #27 0x00007ffff60f8122 in KApplication::KApplication (this=0x7fffffffd8f0, GUIenabled=true, cData=...)
      at /var/tmp/portage/kde-base/kdelibs-4.11.5/work/kdelibs-4.11.5/kdeui/kernel/kapplication.cpp:381
      #28 0x00007ffff60fe1ad in KUniqueApplication::KUniqueApplication (this=0x7fffffffd8f0, GUIenabled=true, configUnique=<optimized out>)
      at /var/tmp/portage/kde-base/kdelibs-4.11.5/work/kdelibs-4.11.5/kdeui/kernel/kuniqueapplication.cpp:314
      #29 0x00000000004327a5 in main (argc=3, argv=0x7fffffffda38) at /var/tmp/portage/kde-base/juk-4.11.5/work/juk-4.11.5/main.cpp:86

      Attachments

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

        Activity

          People

            peppe Giuseppe D'Angelo
            farmboy0 Enrico Horn
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes