[Digikam-devel] [digikam] [Bug 357577] crashes after splash screen with ASSERT failure in QVector

Thomas Eschenbacher via KDE Bugzilla bugzilla_noreply at kde.org
Sat Jan 9 10:50:37 GMT 2016


https://bugs.kde.org/show_bug.cgi?id=357577

--- Comment #15 from Thomas Eschenbacher <Thomas.Eschenbacher at gmx.de> ---
Yes, otherwise valgrind wouldn't complain. Anyway, I don't think valgrind could
help finding this...

I now recompiled Qt with CXXFLAGS="-O0 -g -DQT_DEBUG" and got some better
backtrace:

ASSERT failure in QVector<T>::at: "index out of range", file
../../include/QtCore/../../src/corelib/tools/qvector.h, line 393

Program received signal SIGABRT, Aborted.
0x000000379dc32cd7 in __GI_raise (sig=sig at entry=6) at
../sysdeps/unix/sysv/linux/raise.c:55
55      ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht
gefunden.
(gdb) back
#0  0x000000379dc32cd7 in __GI_raise (sig=sig at entry=6) at
../sysdeps/unix/sysv/linux/raise.c:55
#1  0x000000379dc34099 in __GI_abort () at abort.c:89
#2  0x00007ffff407ae51 in qt_message_fatal (context=..., message=...) at
global/qlogging.cpp:1578
#3  0x00007ffff407734c in QMessageLogger::fatal (this=0x7fffffffc740,
msg=0x7ffff438e550 "ASSERT failure in %s: \"%s\", file %s, line %d")
    at global/qlogging.cpp:781
#4  0x00007ffff4070a38 in qt_assert_x (where=0x7ffff43d6e52 "QVector<T>::at",
what=0x7ffff43d6e3f "index out of range", 
    file=0x7ffff43d6e08
"../../include/QtCore/../../src/corelib/tools/qvector.h", line=393) at
global/qglobal.cpp:2974
#5  0x00007ffff414d8c9 in QVector<int>::at (this=0x1391270, i=0) at
../../include/QtCore/../../src/corelib/tools/qvector.h:393
#6  0x00007ffff427921a in QSortFilterProxyModelPrivate::can_create_mapping
(this=0x13912f0, source_parent=...)
    at itemmodels/qsortfilterproxymodel.cpp:416
#7  0x00007ffff427d001 in
QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeInserted (this=0x13912f0,
source_parent=..., start=0, end=0)
    at itemmodels/qsortfilterproxymodel.cpp:1374
#8  0x00007ffff4281555 in QSortFilterProxyModel::qt_static_metacall
(_o=0x1391210, _c=QMetaObject::InvokeMetaMethod, _id=11, 
    _a=0x7fffffffca20) at .moc/moc_qsortfilterproxymodel.cpp:208
#9  0x00007ffff42f0b02 in QMetaObject::activate (sender=0x1390690,
signalOffset=3, local_signal_index=9, argv=0x7fffffffca20)
    at kernel/qobject.cpp:3713
#10 0x00007ffff42f02f0 in QMetaObject::activate (sender=0x1390690,
m=0x7ffff45a4ec0 <QAbstractItemModel::staticMetaObject>, 
    local_signal_index=9, argv=0x7fffffffca20) at kernel/qobject.cpp:3578
#11 0x00007ffff43873a7 in QAbstractItemModel::rowsAboutToBeInserted
(this=0x1390690, _t1=..., _t2=0, _t3=0)
    at .moc/moc_qabstractitemmodel.cpp:576
#12 0x00007ffff4255569 in QAbstractItemModel::beginInsertRows (this=0x1390690,
parent=..., first=0, last=0)
    at itemmodels/qabstractitemmodel.cpp:2602
#13 0x00007ffff795dc3c in Digikam::AbstractAlbumModel::slotAlbumAboutToBeAdded
(this=0x1390690, album=0x21f7de0, parent=0x21f6410, prev=0x0)
    at
/usr/src/packages/multimedia/digikam/core/libs/models/abstractalbummodel.cpp:438
#14 0x00007ffff7969fef in Digikam::AbstractAlbumModel::qt_static_metacall
(_o=0x1390690, _c=QMetaObject::InvokeMetaMethod, _id=1, 
    _a=0x7fffffffccf0) at
/usr/src/packages/multimedia/digikam/build/core/libs/models/moc_abstractalbummodel.cpp:106
#15 0x00007ffff42f0b02 in QMetaObject::activate (sender=0x7ffff7ff8b50
<_ZZN7Digikam12_GLOBAL__N_113Q_QGS_creator13innerFunctionEvE6holder>, 
    signalOffset=3, local_signal_index=0, argv=0x7fffffffccf0) at
kernel/qobject.cpp:3713
---Type <return> to continue, or q <return> to quit---
#16 0x00007ffff42f02f0 in QMetaObject::activate (sender=0x7ffff7ff8b50
<_ZZN7Digikam12_GLOBAL__N_113Q_QGS_creator13innerFunctionEvE6holder>, 
    m=0x7ffff7fc6460 <Digikam::AlbumManager::staticMetaObject>,
local_signal_index=0, argv=0x7fffffffccf0) at kernel/qobject.cpp:3578
#17 0x00007ffff79b2835 in Digikam::AlbumManager::signalAlbumAboutToBeAdded (
    this=0x7ffff7ff8b50
<_ZZN7Digikam12_GLOBAL__N_113Q_QGS_creator13innerFunctionEvE6holder>,
_t1=0x21f7de0, _t2=0x21f6410, _t3=0x0)
    at
/usr/src/packages/multimedia/digikam/build/core/libs/album/moc_albummanager.cpp:502
#18 0x00007ffff79a311b in Digikam::AlbumManager::insertPAlbum (
    this=0x7ffff7ff8b50
<_ZZN7Digikam12_GLOBAL__N_113Q_QGS_creator13innerFunctionEvE6holder>,
album=0x21f7de0, parent=0x21f6410)
    at
/usr/src/packages/multimedia/digikam/core/libs/album/albummanager.cpp:2899
#19 0x00007ffff799c110 in Digikam::AlbumManager::addAlbumRoot (
    this=0x7ffff7ff8b50
<_ZZN7Digikam12_GLOBAL__N_113Q_QGS_creator13innerFunctionEvE6holder>,
location=...)
    at
/usr/src/packages/multimedia/digikam/core/libs/album/albummanager.cpp:1224
#20 0x00007ffff799bd44 in Digikam::AlbumManager::handleCollectionStatusChange (
    this=0x7ffff7ff8b50
<_ZZN7Digikam12_GLOBAL__N_113Q_QGS_creator13innerFunctionEvE6holder>,
location=..., oldStatus=0)
    at
/usr/src/packages/multimedia/digikam/core/libs/album/albummanager.cpp:1179
#21 0x00007ffff799b7d9 in Digikam::AlbumManager::startScan (
    this=0x7ffff7ff8b50
<_ZZN7Digikam12_GLOBAL__N_113Q_QGS_creator13innerFunctionEvE6holder>)
    at
/usr/src/packages/multimedia/digikam/core/libs/album/albummanager.cpp:1061
#22 0x00007ffff77a8a9a in Digikam::DigikamApp::DigikamApp (this=0x9193b0,
__in_chrg=<optimized out>, __vtt_parm=<optimized out>)
    at /usr/src/packages/multimedia/digikam/core/app/main/digikamapp.cpp:251
#23 0x000000000040f829 in main (argc=1, argv=0x7fffffffd838) at
/usr/src/packages/multimedia/digikam/core/app/main/main.cpp:197

(gdb) frame 5
#5  0x00007ffff414d8c9 in QVector<int>::at (this=0x1391270, i=0) at
../../include/QtCore/../../src/corelib/tools/qvector.h:393
393     { Q_ASSERT_X(i >= 0 && i < d->size, "QVector<T>::at", "index out of
range");
(gdb) print i
$1 = 0
(gdb) print d->size
$2 = 0

(gdb) frame 6
#6  0x00007ffff427921a in QSortFilterProxyModelPrivate::can_create_mapping
(this=0x13912f0, source_parent=...)
    at itemmodels/qsortfilterproxymodel.cpp:416
416             if (gm->proxy_rows.at(source_parent.row()) == -1 ||
(gdb) list
411             if (it == source_index_mapping.constEnd()) {
412                 // Don't care, since we don't have mapping for the grand
parent
413                 return false;
414             }
415             Mapping *gm = it.value();
416             if (gm->proxy_rows.at(source_parent.row()) == -1 ||
417                 gm->proxy_columns.at(source_parent.column()) == -1) {
418                 // Don't care, since parent is filtered
419                 return false;
420             }
(gdb) print gm
$3 = (QSortFilterProxyModelPrivate::Mapping *) 0x1391260
(gdb) print gm->proxy_rows
$4 = {d = 0x7ffff4391c80 <QArrayData::shared_null>}
(gdb) print source_parent
$5 = (const QModelIndex &) @0x7fffffffcb00: {r = 0, c = 0, i = 35611664, m =
0x1390690}
(gdb) print *gm
$8 = {source_rows = {d = 0x7ffff4391d78 <qt_array+24>}, source_columns = {d =
0x1393370}, proxy_rows = {
    d = 0x7ffff4391c80 <QArrayData::shared_null>}, proxy_columns = {d =
0x1393b10}, mapped_children = {
    d = 0x7ffff4391c80 <QArrayData::shared_null>}, map_iter = {i = 0x1391ff0}}

maybe that is a bit more helpful...

-- 
You are receiving this mail because:
You are the assignee for the bug.



More information about the Digikam-devel mailing list