segfault when repeatedly sorting

Bug #1797665 reported by marneu on 2018-10-13
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Trojitá
Unknown
Medium
trojita (Ubuntu)
Medium
Rolf Leggewie

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.

It seems that size of messages rather than just number of messages is important to reproduce this problems. Certainly more messages will promote the problem but bigger messages will have a more substantial effect.

The window size also has an effect. The smaller the window, the more likely the problem will occur.

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
Rolf Leggewie (r0lf) wrote :

I was unable to reproduce this with a self-compiled trojita 0.7-0ubuntu2 on bionic. Is this still an issue?

Changed in trojita (Ubuntu):
assignee: nobody → Rolf Leggewie (r0lf)
status: Triaged → Incomplete
Rolf Leggewie (r0lf) wrote :

I intend to close this ticket soon if no confirmation of this still being a problem comes forward.

Walter Lapchynski (wxl) wrote :

So with 10 emails, I can easily reproduce this in dingo with 0.7-0ubuntu2. With less emails, it doesn't work.

Changed in trojita (Ubuntu):
status: Incomplete → Confirmed
Dan Simmons (kc2bez) wrote :

I was also able to reproduce this in cosmic with 0.7-0ubuntu2. For me, the segfault happened when there were 15 messages or more.

Dan Simmons (kc2bez) wrote :

I neglected to mention in my previous comment that I was testing on a Dell Inspiron 7720 laptop with an Intel i5-3210 processor and 8 Gb of RAM.

Walter Lapchynski (wxl) wrote :

My last comment was on live in a VM. I redid it in an installed VM with 2G memory allocated and needed to up it to 20 messages before I could get it to die. Somehow it seems there there's some sort of proportional relationship between the number (or size as many of mine were small) of messages and the amount of memory. Similar results with latest git (b94f4307).

Walter Lapchynski (wxl) on 2019-04-13
description: updated
Changed in trojita (Ubuntu):
status: Confirmed → Triaged
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.