tst_quickutils segfaults with Qt 5.2 in qv4functionobject

Bug #1266707 reported by Timo Jyrinki
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ubuntu UI Toolkit
Fix Released
Critical
Zsombor Egri
ubuntu-ui-toolkit (Ubuntu)
Fix Released
Critical
Zoltan Balogh

Bug Description

There seem to happen some segfaults when running the tests on x86 against Qt 5.2:

https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-beta2/+builds?build_text=ubuntu-ui-toolkit&build_state=all

armhf seems unaffected.

To upgrade to the Qt 5.2 easily (now possible on desktop where all dependencies are built):
apt-add-repository ppa:canonical-qt5-edgers/qt5-beta2
apt-get update
apt-get dist-upgrade

See/describe dependencies of packages at http://pad.ubuntu.com/qt52-dependencies

Tags: qt5.2

Related branches

tags: added: qt5.2
description: updated
Revision history for this message
Cris Dywan (kalikiana) wrote :

This is the crash in the latest Qt5.2 - it's a regression in qtdeclarative/v4 by the looks of it since this passed fine before with 5.2.

jsruntime/qv4functionobject.cpp:137: void QV4::FunctionObject::init(QV4::StringRef, bool): Assertion `scope->next != (ExecutionContext *)0x1' failed

This is in tests/unit/tst_components/tst_quickutils.qml either test_modelDelegateHeightForEmptyObjectModelElements or the ListView "list". It may be triggered by code in modules/Ubuntu/Components/plugin/quickutils.cpp.

summary: - ui-toolkit test segfaults with Qt 5.2
+ tst_quickutils segfaults with Qt 5.2 in qv4functionobject
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:ubuntu-ui-toolkit at revision None, scheduled for release in ubuntu-ui-toolkit, milestone Unknown

Changed in ubuntu-ui-toolkit:
status: New → Fix Committed
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :
Changed in ubuntu-ui-toolkit:
status: Fix Committed → Confirmed
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Note that it's however only a single TabBarAPI test. If I comment that single test out, the next failure happens in tst_Layouts:
https://launchpadlibrarian.net/162930347/buildlog_ubuntu-trusty-amd64.ubuntu-ui-toolkit_1%3A0.1.46%2B14.04.20131216-0~919%2B201401180719~ubuntu14.04.1%2Bdisabletests3_FAILEDTOBUILD.txt.gz

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

After disabling also tst_inversemousearea (seen failing at https://launchpadlibrarian.net/162931483/buildlog_ubuntu-trusty-i386.ubuntu-ui-toolkit_1%3A0.1.46%2B14.04.20131216-0~919%2B201401180719~ubuntu14.04.1%2Bdisabletests4_FAILEDTOBUILD.txt.gz ) I finally get a build through. Note that armhf builds with all tests enabled, this is x86 only (but also seem hard to reproduce on non-PPA machines).

For x86 testing you should be able to use eg. personal PPA just fine.

The "successful" x86 build is visible at:
https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily/+sourcepub/3836082/+listing-archive-extra

Bill Filler (bfiller)
Changed in ubuntu-ui-toolkit:
assignee: nobody → Zoltan Balogh (bzoltan)
Changed in ubuntu-ui-toolkit (Ubuntu):
status: New → Confirmed
assignee: nobody → Zoltan Balogh (bzoltan)
importance: Undecided → Critical
description: updated
Revision history for this message
Zsombor Egri (zsombi) wrote :

This seems to be caused by the second QQmlEngine instance used in creating the UbuntuColors and palette object for the Theme context property. Transforming Theme and UbuntuColors into a proper singleton type seems to solve the race.

Zsombor Egri (zsombi)
Changed in ubuntu-ui-toolkit:
assignee: Zoltan Balogh (bzoltan) → Zsombor Egri (zsombi)
Zsombor Egri (zsombi)
Changed in ubuntu-ui-toolkit:
status: Confirmed → In Progress
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:ubuntu-ui-toolkit at revision 924, scheduled for release in ubuntu-ui-toolkit, milestone Unknown

Changed in ubuntu-ui-toolkit:
status: In Progress → Fix Committed
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:ubuntu-ui-toolkit at revision None, scheduled for release in ubuntu-ui-toolkit, milestone Unknown

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :
Changed in ubuntu-ui-toolkit (Ubuntu):
status: Confirmed → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (4.3 KiB)

This bug was fixed in the package ubuntu-ui-toolkit - 0.1.46+14.04.20140212-0ubuntu1

---------------
ubuntu-ui-toolkit (0.1.46+14.04.20140212-0ubuntu1) trusty; urgency=low

  [ Andrew Hayzen ]
  * Fixed text not aligned at vertical centre if the listitem height has
    changed dynamically. Fixed no removeItemAnimation if the listitem
    height has been set. (LP: #1263688, #1263682)

  [ CI bot ]
  * Trunk as is, for CI Train release.

  [ William Hua ]
  * Also update LANGUAGE when setLanguage is called for dynamic
    translation. (LP: #1263163). (LP: #1263163)

  [ Timo Jyrinki ]
  * A qtdeclarative5-private-dev packaging change adding a dependency on
    libqt5v8-5-private-dev has been backported to all Ubuntu versions
    now, so this workaround can now be dropped - building both against
    Qt 5.2 and 5.0.2 works.
  * Add #include for QDebug to fix Qt 5.2 build.

  [ Christian Dywan ]
  * Split build and install steps in debian/rules.
  * Use integer Date constructor in date picker tests for Qt 5.2.
  * Run unit_x11 test cases via Xvfb and address failures. (LP:
    #1258017, #1237812, #1242646)
  * Don't redirect output of the input file in itself.
  * Don't try to deploy non-existing qml and js files. (LP: #1259228)
  * Assert textField focus, button visibility and pressed after tapping
    clear.
  * Split documentation for previously group properties. (LP: #1266842)
  * Suppress errors to work-around font error messages. (LP: #1256999)
  * ListItems.Empty's default property needs to be data not children.
    (LP: #1190509)

  [ Pete Woods ]
  * Handle the unity-action-api quit signal. (LP: #1269409)

  [ Zsombor Egri ]
  * Date picker component. Provides full date and month only picking
    functionality.
  * DatePicker test case fix, setting the minimum limit to value that is
    earlier than the date value set. (LP: #1266515)
  * Fixing state restoration when nested dynamic component properties
    are restored. (LP: #1267039)
  * Removing obsolete functionality from QuickUtils. (LP: #1266707)
  * StateSaver failure with Repeater fixed. Indirectly fixes StateSaver
    with ListView and GridView. (LP: #1267900)
  * TabBar test case failure fix for Qt5.2. (LP: #1256930)
  * InverseMouseArea API test removed, being a duplicate of the other
    InverseMouseArea tests. Connecting to th eproper enabledChanged
    signal in InverseMouseArea resolves the warning in Qt5.2 stating
    enabledChanged was overwritten in QQuickMouseArea. (LP: #1266707)
  * Panel implementation for DatePicker. Presents the DatePicker either
    in a panel covering the OSK area or in a Popover, depending on the
    form factor and presence of input method provider.
  * Layout tests now wait for the currentLayout change completion. (LP:
    #1266707)
  * Extra QQmlEngine instance removed from plugin, which seemed to cause
    some race conditions with Qt5.2. As result UbuntuColors got
    transferred from context property into singleton object, Theme's
    palette creation delayed till its first access. (LP: #1266707)
  * DateUtils test failure fix. (LP: #1273893)

  [ Florian Boucault ]
  * Ubuntu UI Toolkit Gallery: reimplemented in a cleaner way the
    respo...

Read more...

Changed in ubuntu-ui-toolkit (Ubuntu):
status: Fix Committed → Fix Released
Tim Peeters (tpeeters)
Changed in ubuntu-ui-toolkit:
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.