Unity8 crash while doing search in home scope

Bug #1237942 reported by Thomas Strehl
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
unity8 (Ubuntu)
Fix Released
High
Albert Astals Cid

Bug Description

Doing a search in home scope and while still getting results started scrolling.

Related branches

Revision history for this message
Thomas Strehl (strehl-t) wrote :
Revision history for this message
Paweł Stołowski (stolowski) wrote :

Unfortunately the core file doesn't provide any useful backtrace, just garbage (a mismatch with unity8 executable? or corrupted stack).

no longer affects: unity-scope-home
kevin gunn (kgunn72)
Changed in unity8:
assignee: nobody → Michał Sawicz (saviq)
importance: Undecided → High
Revision history for this message
Michał Sawicz (saviq) wrote :

Can't reproduce.

Please reopen if you get a .crash again.

Changed in unity8:
status: New → Incomplete
assignee: Michał Sawicz (saviq) → nobody
importance: High → Undecided
Revision history for this message
Nick Dedekind (nick-dedekind) wrote :
Download full text (8.1 KiB)

I can reproduce this. Might be the same?

To reproduce (only attempted on desktop):
1) ./run
2) Go to home scope
3) activate search and type 'test'
4) expand 'Files & Folders' category (this is first cat for me, and only seems to occur on this one)
5) click on search again
6) clear search
7) type 'test' in search field again
8) crash

Video attached.

Crash stack:

ASSERT: "!isEmpty()" in file /usr/include/qt5/QtCore/qlist.h, line 288

Program received signal SIGABRT, Aborted.
0x00007ffff5d91f77 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff5d91f77 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff5d955e8 in __GI_abort () at abort.c:90
#2 0x00007ffff66b73f5 in qt_message_fatal (context=..., message=...) at global/qlogging.cpp:868
#3 QMessageLogger::fatal (this=this@entry=0x7fffffffc8b0,
    msg=msg@entry=0x7ffff68d0248 "ASSERT: \"%s\" in file %s, line %d") at global/qlogging.cpp:356
#4 0x00007ffff66b4494 in qt_assert (assertion=<optimised out>, file=<optimised out>, line=<optimised out>)
    at global/qglobal.cpp:1977
#5 0x00007fffcc1a3814 in QList<ListViewWithPageHeader::ListItem*>::first (this=0xa59ef8)
    at /usr/include/qt5/QtCore/qlist.h:288
#6 0x00007fffcc1a05f8 in ListViewWithPageHeader::onModelUpdated (this=0xa59ec0, changeSet=...)
    at /home/nick/Work/phablet/trunk/plugins/ListViewWithPageHeader/listviewwithpageheader.cpp:959
#7 0x00007fffcc1a23f9 in ListViewWithPageHeader::qt_static_metacall (_o=0xa59ec0,
    _c=QMetaObject::InvokeMetaMethod, _id=10, _a=0x7fffffffcc10)
    at /home/nick/Work/phablet/trunk/builddir/plugins/ListViewWithPageHeader/moc_listviewwithpageheader.cpp:175
#8 0x00007ffff6866196 in QMetaObject::activate (sender=0xa657e0, signalOffset=<optimised out>,
    local_signal_index=<optimised out>, argv=0x7fffffffcc10) at kernel/qobject.cpp:3445
#9 0x00007ffff76b3c06 in QQuickVisualModel::modelUpdated(QQuickChangeSet const&, bool) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#10 0x00007ffff7604ad8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#11 0x00007ffff7606023 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#12 0x00007ffff760938a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#13 0x00007ffff760bd60 in QQuickVisualDataModel::_q_itemsInserted(int, int) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#14 0x00007ffff76b20e5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#15 0x00007ffff76b270f in QQuickVisualDataModel::qt_metacall(QMetaObject::Call, int, void**) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#16 0x00007ffff686625d in QMetaObject::activate (sender=sender@entry=0xafefa0, signalOffset=<optimised out>,
    local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7fffffffcf70)
    at kernel/qobject.cpp:3460
#17 0x00007ffff68666c7 in QMetaObject::activate (sender=sender@entry=0xafefa0,
    m=m@entry=0x7ffff6c4af80 <QAbstractItemModel::staticMetaObject>,
    local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7fffffffcf70)
    at kernel/qobjec...

Read more...

Revision history for this message
Nick Dedekind (nick-dedekind) wrote :
Changed in unity8:
status: Incomplete → Confirmed
Revision history for this message
Nick Dedekind (nick-dedekind) wrote :

I believe this occurs when you remove all remaining items and insert in same cycle.

Did some quick debug.
http://pastebin.ubuntu.com/6399289/

Changed in unity8:
importance: Undecided → High
Revision history for this message
Albert Astals Cid (aacid) wrote :

So i can't repro but Nick can't and he confirms a patch i have fixes the issue for him, now we just need to create a testcase :D

Changed in unity8:
assignee: nobody → Albert Astals Cid (aacid)
Changed in unity8:
status: Confirmed → In Progress
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:unity8 at revision None, scheduled for release in unity8, milestone phone-v1-freeze

Changed in unity8:
status: In Progress → Fix Committed
Michał Sawicz (saviq)
Changed in unity8 (Ubuntu):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (6.6 KiB)

This bug was fixed in the package unity8 - 7.84+14.04.20131128.2-0ubuntu1

---------------
unity8 (7.84+14.04.20131128.2-0ubuntu1) trusty; urgency=low

  [ Michal Hruby ]
  * Depend on the separate scopes plugin
  * Move the BottomBar* DBus communicator to the Utils plugin.

  [ Michał Sawicz ]
  * Wait for DashHome to be available in tst_Shell. (LP: #1254898)
  * Use plugindir from unity-shell-api.pc.
  * Expect stop in upstart job and raise in case of surfaceflinger. (LP:
    #1239876)

  [ Albert Astals ]
  * Fix time test in Qt 5.2 Make factors an array instead of a
    object/dict Objects/dicts are unordered by definition, it happened
    that Qt 5.0 gave them in the orrder we wanted, but with Qt 5.2 is
    failing, and we don't even need the "key", so array works as well
    :).
  * Test that the dash hswipe is disabled while the inner stuff is
    moving .
  * Skip restMaximizeVisibleAreaMoveUpAndShowHeader, it's causing too
    many failed runs And we are confident it's failing because of the
    suboptimal scenegraph run in 5.0.x.
  * Make Dash::test_show_scope_on_load more robust If we are testing
    showScopeOnLoaded make sure we force a scope reload after we set it,
    otherwise it may just happen that the scope has already been loaded
    and the expectaction that we'll change the list to it is just wrong.
  * Dash renderer signals: No need to pass the model up and down Whoever
    is listening to the signal has access to the item that emits the
    signal and has the model right there accessible if needs it.
  * LVWPH: Fix header going bad when setContentHeight ends up moving the
    viewport How to reproduce the bug easily without the patch: * In the
    Dash Home, search for london * Scroll to the bottom * Start moving
    to the apps scope very slowly * At around 3/4 of the move you'll see
    the header in the home scope went to a bad position * Go back to the
    Dash Home. (LP: #1237942, #1246351)
  * Remove unused AppInfo and VideoInfo files .
  * Kill unused ApplicationsFilterGrid.qml .
  * Unify ScopeView and GenericScopeView .
  * Fix header getting lost as per bug 1245824. (LP: #1245824)
  * Remove unused Time.js and its test .
  * Do not include the QtQml megaheader Include only qqml.h which is
    what we need in these files.
  * Don't do stuff if our parent context is gone We'll be gone soon too
    (and crash probably) so don't do anything. This looks a bit like a
    workaround, wait for 5.2 better painting/dispatching loop to see if
    this is not needed anymore, we find a better way to do it, or we
    decide this is fine.

  [ Lars Uebernickel ]
  * Allow setting different indicator positions for different profiles.

  [ Mirco Müller ]
  * Added checkbox for toggling between echo-modes of password-
    entryfields in ext. snap-decisions.
  * Fixes bug #1200569. (LP: #1200569)

  [ Andrea Cimitan ]
  * Switch to application scope when a dash swipe is taking place and an
    app is on foreground. (LP: #1231996)
  * Shifts wallpaper rendering for greeter lockscreen to be inline with
    shell. (LP: #1231731)
  * Dinamically load the Carousel/Filtergrid with more than 6 items.
    (LP: #1226288, #1234105)
  * R...

Read more...

Changed in unity8 (Ubuntu):
status: Fix Committed → Fix Released
Michał Sawicz (saviq)
Changed in unity8:
status: Fix Committed → Fix Released
Michał Sawicz (saviq)
Changed in unity8 (Ubuntu):
assignee: nobody → Albert Astals Cid (aacid)
importance: Undecided → High
no longer affects: unity8
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.