| Summary: | Purpose: crash in DiffListModel | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] frameworks-purpose | Reporter: | RJVB <rjvbertin> |
| Component: | general | Assignee: | Aleix Pol <aleixpol> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | montel, rjvbertin |
| Priority: | NOR | Keywords: | drkonqi |
| Version First Reported In: | 5.52.0 | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | https://commits.kde.org/purpose/36b17c15e01bccfc4b796486ae1729ac02863dff | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
| Attachments: | New crash information added by DrKonqi | ||
|
Description
RJVB
2018-11-30 11:13:23 UTC
Created attachment 116581 [details]
New crash information added by DrKonqi
sharetool (1.0) using Qt 5.9.7
Confirmation of the crash using the `sharetool` test utility from the Purpose sources.
`testphabricator --list` still returns the correct list so this doesn't appear related to an unexpected change in phabricator's output.
-- Backtrace (Reduced):
#6 0x00007f6ff7dd8fbe in (anonymous namespace)::constData (d=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.7/qtbase/src/corelib/kernel/qvariant.cpp:333
#7 qVariantToHelper<QString> (d=..., handlerManager=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.7/qtbase/src/corelib/kernel/qvariant.cpp:2232
#8 QVariant::toString (this=0x2466dd8) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.7/qtbase/src/corelib/kernel/qvariant.cpp:2268
#9 0x00007f6fc7413e89 in DiffListModel::Value::operator< (this=0x23f5c8c6, b=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-purpose/work/purpose-5.52.0/src/plugins/phabricator/quick/difflistmodel.h:59
#11 0x00007f6fc7413aff in std::__unguarded_partition<DiffListModel::Value*, __gnu_cxx::__ops::_Iter_less_iter> (__first=<optimized out>, __last=<optimized out>, __pivot=0x2466268, __comp=...) at /usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_algo.h:1902
The crash goes away when I change the std::sort() call back to `qSort()`, so commit #b40009c31642e43ed34109778b8aea1e7b8b1520 introduced a regression. Laurent, what was the reason for replacing qSort()? Git commit 36b17c15e01bccfc4b796486ae1729ac02863dff by René J.V. Bertin. Committed on 30/11/2018 at 21:27. Pushed by rjvbb into branch 'master'. phabricator plugin: use Arcanist's diff.rev. order No longer attempt to sort reviews (by title) but instead use the order in which Arcanist returns the open diff. revisions (chronologically, threaded by status). The alphabetical sorting never worked to satisfaction and the recent change to using std::sort() caused a crash with and in Qt 5.9.7 on Linux. M +3 -8 src/plugins/phabricator/quick/difflistmodel.cpp M +0 -4 src/plugins/phabricator/quick/difflistmodel.h https://commits.kde.org/purpose/36b17c15e01bccfc4b796486ae1729ac02863dff |