Shell crashes when swiping the greeter with Qt 5.1.1

Bug #1223032 reported by Ricardo Salveti
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
qtbase-opensource-src (Ubuntu)
Fix Released
Critical
Unassigned
unity8 (Ubuntu)
Invalid
Critical
Unassigned

Bug Description

Using unity8 from https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-beta-proper together with Qt 5.1.1, which following packages:

unity8 1:7.81.3+13.10.20130905.2 -0+201309091433~302~ubuntu13.10.1
libqt5core5:armhf 5.1.1+dfsg-2ubuntu1~saucy1~test5
libqt5opengl5:armhf 5.1.1+dfsg-2ubuntu1~saucy1~test5

Qt5.1.1 based build:
http://s-jenkins:8080/job/ubuntu-touch-image-saucy-qt51/5/artifact/saucy-preinstalled-phablet-armhf.zip

Steps to reproduce:
1 - Boot the phone
2 - Swipe the greeter

Doesn't happen all the time, not easy to reproduce.

Backtrace:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x4d930460 (LWP 1577)]
0x00000000 in ?? ()
(gdb) bt full
#0 0x00000000 in ?? ()
No symbol table info available.
#1 0x40521df6 in QSGOpaqueTextureMaterial::compare (this=0x4e248f8c, o=0x4e2a1e54) at scenegraph/util/qsgtexturematerial.cpp:317
        diff = <optimized out>
        other = 0x4e2a1e54
#2 0x4051b0e4 in nodeLessThan (nodeA=0x4e248ee8, nodeB=0x4e2a1db0) at scenegraph/coreapi/qsgdefaultrenderer.cpp:86
        cmp = <optimized out>
        nodeB = 0x4e2a1db0
        nodeA = 0x4e248ee8
#3 0x4051bbb8 in QAlgorithmsPrivate::qSortHelper<QSGNode**, QSGNode*, bool (*)(QSGNode*, QSGNode*)> (start=0x4e10fe98, end=0x4e10fea0, end@entry=0x4e10fea4, t=@0x4e10fe98: 0x4e2a1db0,
    lessThan=lessThan@entry=0x4051b091 <nodeLessThan(QSGNode*, QSGNode*)>) at /usr/include/qt5/QtCore/qalgorithms.h:348
        span = 3
        low = 0x4e10fe98
        high = <optimized out>
        pivot = 0x4e10fe9c
#4 0x4051bba4 in QAlgorithmsPrivate::qSortHelper<QSGNode**, QSGNode*, bool (*)(QSGNode*, QSGNode*)> (start=<optimized out>, end=0x4e10feb4, t=@0x4e10fe98: 0x4e2a1db0,
    lessThan=lessThan@entry=0x4051b091 <nodeLessThan(QSGNode*, QSGNode*)>) at /usr/include/qt5/QtCore/qalgorithms.h:382
        span = <optimized out>
        low = 0x4e10fea4
        high = <optimized out>
        pivot = <optimized out>
#5 0x4051bb28 in qSort<QSGNode**, bool (*)(QSGNode*, QSGNode*)> (lessThan=<optimized out>, end=<optimized out>, start=<optimized out>) at /usr/include/qt5/QtCore/qalgorithms.h:184
No locals.
#6 QSGDefaultRenderer::render (this=0x4e10fcc0) at scenegraph/coreapi/qsgdefaultrenderer.cpp:240
        end = 8
        i = 0
        lessThan = 0x4051b091 <nodeLessThan(QSGNode*, QSGNode*)>
        start = <optimized out>
        r = <optimized out>
        sortNodes = <optimized out>
        opaqueStart = <optimized out>
        transparentStart = <optimized out>
#7 0x4051f1de in QSGRenderer::renderScene (this=this@entry=0x4e10fcc0, bindable=...) at scenegraph/coreapi/qsgrenderer.cpp:274
        profileFrames = false
        bindTime = 0
        renderTime = 0
#8 0x4051f2e8 in QSGRenderer::renderScene (this=this@entry=0x4e10fcc0) at scenegraph/coreapi/qsgrenderer.cpp:231
        b = warning: RTTI symbol not found for class 'QSGRenderer::renderScene()::B'
{<QSGBindable> = {_vptr.QSGBindable = 0x40648ad8 <vtable for QSGRenderer::renderScene()::B+8>}, <No data fields>}
#9 0x40525e56 in QSGContext::renderNextFrame (this=<optimized out>, renderer=0x4e10fcc0, fboId=<optimized out>) at scenegraph/qsgcontext.cpp:313
No locals.
#10 0x4054952e in QQuickWindowPrivate::renderSceneGraph (this=this@entry=0x19e3000, size=...) at items/qquickwindow.cpp:336
        _qml_memory_scope = {pushed = false}
        fboId = <optimized out>
        devicePixelRatio = <optimized out>
#11 0x40536ace in QSGRenderThread::syncAndRender (this=this@entry=0x19e3738) at scenegraph/qsgthreadedrenderloop.cpp:595
        i = 0
        profileFrames = <optimized out>
        syncRequested = <optimized out>
        __PRETTY_FUNCTION__ = "void QSGRenderThread::syncAndRender()"
        waitTimer = {t1 = 2116, t2 = 385602945}
        repaintRequested = <optimized out>
#12 0x40537996 in QSGRenderThread::run (this=0x19e3738) at scenegraph/qsgthreadedrenderloop.cpp:666
No locals.
#13 0x40a2986c in QThreadPrivate::start (arg=0x19e3738) at thread/qthread_unix.cpp:345
        __clframe = {__cancel_routine = 0x40a28ff1 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x19e3738, __do_it = 1, __cancel_type = <optimized out>}
        thr = 0x19e3738
        data = <optimized out>
        objectName = {static null = {<No data fields>}, d = 0x40b9be94 <QArrayData::shared_null>}
#14 0x41793e64 in start_thread (arg=0x4d930460) at pthread_create.c:313
        pd = 0x4d930460
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {1301481080, 1301480544, 0, 1301478888, -1097374448, 1084397521, -1097374448, 27146232, 1301478888, 1098464835, 0 <repeats 16 times>,
                536870931, 0 <repeats 37 times>}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#15 0x40f58758 in ?? () at ../ports/sysdeps/unix/sysv/linux/arm/nptl/../clone.S:96 from /lib/arm-linux-gnueabihf/libc.so.6
No locals.
#16 0x40f58758 in ?? () at ../ports/sysdeps/unix/sysv/linux/arm/nptl/../clone.S:96 from /lib/arm-linux-gnueabihf/libc.so.6

Tags: qt5.1

CVE References

tags: added: qt5.1
Changed in qtbase-opensource-src (Ubuntu):
importance: Undecided → Critical
Changed in unity8 (Ubuntu):
importance: Undecided → Critical
Revision history for this message
Michał Sawicz (saviq) wrote :

Doesn't look like unity8 can actually do anything here - the trace looks limited to Qt.

Changed in unity8 (Ubuntu):
status: New → Incomplete
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Does not crash with Qt 5.2 anymore.

Changed in unity8 (Ubuntu):
status: Incomplete → Invalid
Changed in qtbase-opensource-src (Ubuntu):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (13.3 KiB)

This bug was fixed in the package qtbase-opensource-src - 5.2.1+dfsg-1ubuntu7

---------------
qtbase-opensource-src (5.2.1+dfsg-1ubuntu7) trusty; urgency=medium

  [ Colin Watson ]
  * Add arm64 to archs that don't use -m64

qtbase-opensource-src (5.2.1+dfsg-1ubuntu6) trusty; urgency=medium

  * Add Use-None-instead-of-GLX_NONE.patch:
    - Cherry-pick upstream patch (LP: #1288278)

qtbase-opensource-src (5.2.1+dfsg-1ubuntu5) trusty; urgency=medium

  * Only run tests on armhf, amd64 and i386.

qtbase-opensource-src (5.2.1+dfsg-1ubuntu4) trusty; urgency=medium

  [ Chris Gagnon ]
  * Enable unit tests

qtbase-opensource-src (5.2.1+dfsg-1ubuntu3) trusty; urgency=medium

  * Revert the transitional package change final landing.

qtbase-opensource-src (5.2.1+dfsg-1ubuntu2) trusty; urgency=medium

  * libqt5core5 transitional package to be able to run ABI related tests

qtbase-opensource-src (5.2.1+dfsg-1ubuntu1) trusty; urgency=low

  [ Dmitry Shachnev ]
  * Update watch file (taken from Debian).
  * Fix generating documentation by building qdoc before using it.
  * Remove qtcreator.qdoc from qtbase5-doc.install, as it is already in
    qtbase5-dev.install.
  * Merge with Debian up to 5.2.0~beta1+dfsg-3.
    - Fixes build failures on powerpc and armel.
  * Add debian/patches/fix_cppcodemarker_crash.patch to fix qdoc
    crash that caused ubuntu-ui-toolkit to FTBFS (LP: #1217331).

  [ Łukasz 'sil2100' Zemczak ]
  * Cherry-pick two submitted patches to support appmenu-qt: (LP: #1157213)
    - make_qkdetheme_constructor_public.diff
    - platformtheme_env.diff

  [ Timo Jyrinki ]
  * New upstream release 5.2.1 (LP: #1256341) (LP: #1223032) (LP: #1222988)
    (LP: #1223042) (LP: #1253120) (LP: #1251262)
  * Sync with Debian 5.2.0+dfsg-7, remaining changes:
    - Remove firebird and ibase dependencies
    - Maintainer fields and Vcs-Bzr
    - No gdb required on ppc64el
    - Provides: qt-default to qt5-default
    - Define explicit list on which archs openvg required
    - Additional patches:
      + disable_overlay_scrollbars.diff
      + load_testability_from_env_var.patch
      + make_qkdetheme_constructor_public.diff
      + platformtheme_env.diff
      + qdoc-Fix-crash-in-Generator-generateInnerNode.patch
      + 0001-Do-not-overwrite-basePixmap-of-QIconLoader-PixmapEnt.patch
    - Use our symbols files
    - Additional multi-arch packages (not correct policy-wise)
  * Drop upstream patches:
    - add_since_52_to_new_QColor_features.patch
    - fix_cppcodemarker_crash.patch
    - fix_usr-move_workaround_in_the_presence_of_multi-arch.patch
    - make_QColor_understand_AARRGGBB.patch
    - Add-workaround-for-GL-on-Android-emulator.patch
    - 0001-Do-not-overwrite-basePixmap-of-QIconLoader-PixmapEnt.patch
    - fix_destroy_qapp_segfault.diff
  * Remove Ubuntu patches:
    - enable_appmenu_support.diff (obsolete)
    - 0001-Implement-XEmbed-protocol.patch (submitted and merged upstream)
    - fix_maliit_activation.patch (not used anymore)
    - inputmethod_fix_focusout.patch (not used anymore)
    - fix_number_precision_qjsondocument.patch_8e8becdc.patch (upstream)
    - bug1227629.patch (merged upstream)
    - fix_rowinserted.patch (LP: #1242630...

Changed in qtbase-opensource-src (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.