segfault when repeatedly sorting

Bug #1797665 reported by marneu on 2018-10-13
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Trojitá
Unknown
Medium
trojita (Ubuntu)
Medium
Unassigned

Bug Description

STEPS TO REPRODUCE
 1. Click on a folder
 2. Click a column header to sort by that column
 3. Repeat #2 several times (can be a different header)

EXPECTED RESULTS
Every click on the column header should result in sorting, with multiple clicks on the same header alternating between ascending and descending.

ACTUAL RESULTS
Assuming there are more than a couple messages and the column header is clicked more than a couple times, the application segfaults.

AFFECTED VERSIONS
trojita 0.7-0ubuntu2 (also upstream git master 76151f1a9226b27da9039d8701dc91a9f5e7c056)

NOTES
Using the menu to change the sorting does not produce the same result, but it may be that it's impossible to change the sorting as quickly.

marneu (marneu) wrote :
marneu (marneu) on 2018-10-13
description: updated
Walter Lapchynski (wxl) wrote :

Unfortunately, I can't reproduce this. I do have a fairly empty inbox, though. How many messages and what size are you dealing with?

Changed in trojita (Ubuntu):
status: New → Incomplete
marneu (marneu) wrote :

Good point. I've just tried it again, and sorting works fine in my smaller imap folders. The main inbox has 78 messages.

marneu (marneu) wrote :

The size of the messages ranges from 2KB to 300KB, with the vast majority between 4KB and 10KB.

other points of interest:

- 99% of all mails in my inbox are gpg-encrypted (though it doesn't matter whether Trojita is able to decrypt them or not).

- I'm running it in a VirtualBox VM with 3D acceleration disabled.

Walter Lapchynski (wxl) wrote :

I actually got this to fail in as little as about 10 messages. It's also that way in the latest git master, so it looks like it's an unsolved issue. Pushing upstream.

tags: added: lubuntu
summary: - Application quits when clicking on a column header
+ Application quits when repeatedly sorting
Walter Lapchynski (wxl) on 2018-10-16
description: updated
Changed in trojita (Ubuntu):
status: Incomplete → Confirmed
importance: Undecided → Medium

STEPS TO REPRODUCE
 1. Click on a folder
 2. Click a column header to sort by that column
 3. Repeat #2 several times (can be a different header)

EXPECTED RESULTS
Every click on the column header should result in sorting, with multiple clicks on the same header alternating between ascending and descending.

ACTUAL RESULTS
Assuming there are more than a couple messages and the column header is clicked more than a couple times, the application quits.

AFFECTED VERSIONS
trojita 0.7-0ubuntu2 (also upstream git master 76151f1a9226b27da9039d8701dc91a9f5e7c056)

NOTES
Using the menu to change the sorting does not produce the same result, but it may be that it's impossible to change the sorting as quickly.

DOWNSTREAM BUG
https://bugs.launchpad.net/ubuntu/+source/trojita/+bug/1797665

EXPECTED RESULT

SOFTWARE VERSIONS
(available in About System)
KDE Plasma Version:
KDE Frameworks Version:
Qt Version:

ADDITIONAL INFORMATION

description: updated
summary: - Application quits when repeatedly sorting
+ segfault when repeatedly sorting
description: updated
Walter Lapchynski (wxl) on 2018-10-16
Changed in trojita (Ubuntu):
status: Confirmed → Triaged
Changed in trojita:
importance: Unknown → Medium
status: Unknown → New
Download full text (12.0 KiB)

I was able to get a backtrace after a long series of random clicking. This is with a random and pretty old snapshot of Qt.

Thread 1 "trojita" received signal SIGSEGV, Segmentation fault.
0x00007ffff2625fa9 in QSortFilterProxyModelPrivate::proxy_to_source(QModelIndex const&) const () at /var/tmp/portage/dev-qt/qtcore-5.11.9999/work/qtcore-5.11.9999/src/corelib/itemmodels/qsortfilterproxymodel.cpp:430
430 /var/tmp/portage/dev-qt/qtcore-5.11.9999/work/qtcore-5.11.9999/src/corelib/itemmodels/qsortfilterproxymodel.cpp: No such file or directory.
(gdb) bt
#0 0x00007ffff2625fa9 in QSortFilterProxyModelPrivate::proxy_to_source(QModelIndex const&) const () at /var/tmp/portage/dev-qt/qtcore-5.11.9999/work/qtcore-5.11.9999/src/corelib/itemmodels/qsortfilterproxymodel.cpp:430
#1 0x00007ffff2625fe1 in QSortFilterProxyModel::mapToSource (this=<optimized out>, proxyIndex=...) at /var/tmp/portage/dev-qt/qtcore-5.11.9999/work/qtcore-5.11.9999/src/corelib/itemmodels/qsortfilterproxymodel.cpp:2849
#2 0x00007ffff2624ee5 in QSortFilterProxyModel::flags (this=<optimized out>, index=...) at /var/tmp/portage/dev-qt/qtcore-5.11.9999/work/qtcore-5.11.9999/src/corelib/itemmodels/qsortfilterproxymodel.cpp:2329
#3 0x00007ffff35a4211 in QModelIndex::flags (this=0x7fffffffbcc0) at ../../include/QtCore/../../../qtwidgets-5.11.9999/src/corelib/itemmodels/qabstractitemmodel.h:458
#4 QTreeViewPrivate::isIndexExpanded (idx=..., this=0x555555c01620) at ../../include/QtWidgets/5.11.0/QtWidgets/private/../../../../../../qtwidgets-5.11.9999/src/widgets/itemviews/qtreeview_p.h:214
#5 QTreeView::isExpanded (this=this@entry=0x555555bfbe70, index=...) at /var/tmp/portage/dev-qt/qtwidgets-5.11.9999/work/qtwidgets-5.11.9999/src/widgets/itemviews/qtreeview.cpp:841
#6 0x00007ffff35af1da in QTreeView::verticalScrollbarValueChanged (this=0x555555bfbe70, value=33) at /var/tmp/portage/dev-qt/qtwidgets-5.11.9999/work/qtwidgets-5.11.9999/src/widgets/itemviews/qtreeview.cpp:4020
#7 0x00007ffff353e42f in QAbstractItemView::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qabstractitemview.cpp:422
#8 0x00007ffff267106b in QMetaObject::activate(QObject*, int, int, void**) () at /var/tmp/portage/dev-qt/qtcore-5.11.9999/work/qtcore-5.11.9999/src/corelib/kernel/qobject.cpp:3771
#9 0x00007ffff2671677 in QMetaObject::activate (sender=sender@entry=0x555555c021d0, m=m@entry=0x7ffff39be960 <QAbstractSlider::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffbe50)
    at /var/tmp/portage/dev-qt/qtcore-5.11.9999/work/qtcore-5.11.9999/src/corelib/kernel/qobject.cpp:3633
#10 0x00007ffff33de36e in QAbstractSlider::valueChanged (this=this@entry=0x555555c021d0, _t1=<optimized out>, _t1@entry=33) at .moc/moc_qabstractslider.cpp:304
#11 0x00007ffff33de9d4 in QAbstractSlider::setValue (this=0x555555c021d0, value=33) at /var/tmp/portage/dev-qt/qtwidgets-5.11.9999/work/qtwidgets-5.11.9999/src/widgets/widgets/qabstractslider.cpp:546
#12 0x00007ffff26711af in QtPrivate::QSlotObjectBase::call (a=0x7fffffffbff0, r=0x7fffffffd3c0, this=0x555555d6f7a0) at ../../include/QtCore/../../../qtcore-5.11.9999/src/c...

Changed in trojita:
status: New → Unknown
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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