Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-127856

Crash in QSortFilterProxyModel

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • 6.7.2
    • Core: Object Model
    • None
    • Windows

    Description

      Hi,

      I'v encountered a crash with following callstack

           Qt6Cored.dll!qt_message_fatal<QString &>(QtMsgType __formal, const QMessageLogContext & context, QString & message) Line 2043    C++
           Qt6Cored.dll!qt_message(QtMsgType msgType, const QMessageLogContext & context, const char * msg, char * ap) Line 374    C++
           Qt6Cored.dll!QMessageLogger::fatal(const char * msg, ...) Line 889    C++
           Qt6Cored.dll!qt_assert_x(const char * where, const char * what, const char * file, int line) Line 76    C++
           Qt6Cored.dll!QList<int>::at(__int64 i) Line 434    C++
      >    Qt6Cored.dll!QSortFilterProxyModelPrivate::can_create_mapping(const QModelIndex & source_parent) Line 592    C++
           Qt6Cored.dll!QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeInserted(const QModelIndex & source_parent, int start, int end) Line 1657    C++
           Qt6Cored.dll!QtPrivate::FunctorCall<QtPrivate::IndexesList<0,1,2>,QtPrivate::List<QModelIndex const &,int,int>,void,void (__cdecl QSortFilterProxyModelPrivate::*)(QModelIndex const &,int,int)>::call(void(QSortFilterProxyModelPrivate::*)(const QModelIndex &, int, int) f, QSortFilterProxyModelPrivate * o, void * * arg) Line 145    C++
           Qt6Cored.dll!QtPrivate::FunctionPointer<void (__cdecl QSortFilterProxyModelPrivate::*)(QModelIndex const &,int,int)>::call<QtPrivate::List<QModelIndex const &,int,int>,void>(void(QSortFilterProxyModelPrivate::*)(const QModelIndex &, int, int) f, QSortFilterProxyModelPrivate * o, void * * arg) Line 182    C++
           Qt6Cored.dll!QtPrivate::QPrivateSlotObject<void (__cdecl QSortFilterProxyModelPrivate::*)(QModelIndex const &,int,int),QtPrivate::List<QModelIndex const &,int,int>,void>::impl(int which, QtPrivate::QSlotObjectBase * this_, QObject * r, void * * a, bool * ret) Line 282    C++
           Qt6Cored.dll!QtPrivate::QSlotObjectBase::call(QObject * r, void * * a) Line 469    C++
           Qt6Cored.dll!doActivate<0>(QObject * sender, int signal_index, void * * argv) Line 4086    C++
           Qt6Cored.dll!QMetaObject::activate(QObject * sender, const QMetaObject * m, int local_signal_index, void * * argv) Line 4146    C++
           Qt6Cored.dll!QAbstractItemModel::rowsAboutToBeInserted(const QModelIndex & _t1, int _t2, int _t3, QAbstractItemModel::QPrivateSignal _t4) Line 1050    C++
           Qt6Cored.dll!QAbstractItemModel::beginInsertRows(const QModelIndex & parent, int first, int last) Line 2891    C++
           cvw.dll!cParameterModel::childAboutToInsertPrivate(const QString & __formal, cMapSignalSlots * parentObjSigSlot) Line 625    C++
           cvw.dll!cParameterModel::qt_static_metacall(QObject * _o, QMetaObject::Call _c, int _id, void * * _a) Line 239    C++
           Qt6Cored.dll!QMetaMethodInvoker::invokeImpl(QMetaMethod self, void * target, Qt::ConnectionType connectionType, __int64 paramCount, const void * const * parameters, const char * const * typeNames, const QtPrivate::QMetaTypeInterface * const * metaTypes) Line 2754    C++
           Qt6Cored.dll!QMetaObject::invokeMethodImpl(QObject * obj, const char * member, Qt::ConnectionType type, __int64 paramCount, const void * const * parameters, const char * const * typeNames, const QtPrivate::QMetaTypeInterface * const * metaTypes) Line 1604    C++
           cvw.dll!QMetaObject::invokeMethod<void,QMetaMethodArgument,QMetaMethodArgument>(QObject * obj, const char * member, Qt::ConnectionType c, QTemplatedMetaMethodReturnArgument<void> r, QMetaMethodArgument && <arguments_0>, QMetaMethodArgument && <arguments_1>) Line 378    C++
           cvw.dll!QMetaObject::invokeMethod<QMetaMethodArgument,QMetaMethodArgument>(QObject * obj, const char * member, Qt::ConnectionType c, QMetaMethodArgument && <arguments_0>, QMetaMethodArgument && <arguments_1>) Line 390    C++
           cvw.dll!cParameterModel::childAboutToInsert(const QString & key, cMapObj * parentObj) Line 619    C++
      

      The problem is, that in QSortFilterProxyModelPrivate::can_create_mapping the source_parent.row() is larger then gm->proxy_rows. I'dont know if this a bug or if I handle it wrongly somehow. In my last used verison 6.4.3 I did now see that crash.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            thiago Thiago Macieira
            sroeber Steffen Roeber
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes