[KF5 port] Source of sigfault found, not understood

Olivier Churlaud olivier at churlaud.com
Wed Oct 21 10:39:05 UTC 2015


I think I found the source of the error:

TrackRole is defined as Qt::UserRole which was 32 in qt4 and which now 
is 0x100 = 246 =  Playlist::GroupRole

So we have this strange loop...

I tried with Playlist::GroupRole = 0x1000 and it works (for this part). 
Is it ok if I leave it like this?

Cheers
Olivier

Le 21/10/2015 11:30, Olivier Churlaud a écrit :
> Hi,
>
> the error I was tracking occures in 
> src/playlist/proxymodels/GroupingProxy.cpp
>
>         Meta::TrackPtr prevTrack = prevIndex.data( TrackRole 
> ).value<Meta::TrackPtr>();    // Invalid index is OK:
>         Meta::TrackPtr thisTrack = thisIndex.data( TrackRole 
> ).value<Meta::TrackPtr>();    //  will just give an
>         Meta::TrackPtr nextTrack = nextIndex.data( TrackRole 
> ).value<Meta::TrackPtr>();    //  invalid TrackPtr.
>
>
> Here is the begining of my backtrace.... Any help is welcomed...
>
> #39150 0x00007ffff75a85ac in Playlist::GroupingProxy::data 
> (this=0xc0e120,
>     index=..., role=256)
>     at 
> /home/olivier/Projets/amarok/src/playlist/proxymodels/GroupingProxy.cpp:176
> #39151 0x00007ffff75008d9 in QModelIndex::data (this=0x7fffffff9c00, 
> arole=256)
>     at /usr/include/qt/QtCore/qabstractitemmodel.h:420
> #39152 0x00007ffff75a89d3 in Playlist::GroupingProxy::groupModeForIndex (
>     this=0xc0e120, thisIndex=...)
>     at 
> /home/olivier/Projets/amarok/src/playlist/proxymodels/GroupingProxy.cpp:262
> #39153 0x00007ffff75a85ac in Playlist::GroupingProxy::data 
> (this=0xc0e120,
>     index=..., role=256)
>     at 
> /home/olivier/Projets/amarok/src/playlist/proxymodels/GroupingProxy.cpp:176
> #39154 0x00007ffff75008d9 in QModelIndex::data (this=0x7fffffff9c00, 
> arole=256)
> ---Type <return> to continue, or q <return> to quit---
>     at /usr/include/qt/QtCore/qabstractitemmodel.h:420
> #39155 0x00007ffff75a89d3 in Playlist::GroupingProxy::groupModeForIndex (
>     this=0xc0e120, thisIndex=...)
>     at 
> /home/olivier/Projets/amarok/src/playlist/proxymodels/GroupingProxy.cpp:262
> #39156 0x00007ffff75a85ac in Playlist::GroupingProxy::data 
> (this=0xc0e120,
>     index=..., role=256)
>     at 
> /home/olivier/Projets/amarok/src/playlist/proxymodels/GroupingProxy.cpp:176
> #39157 0x00007ffff75008d9 in QModelIndex::data (this=0x7fffffff9c00, 
> arole=256)
>     at /usr/include/qt/QtCore/qabstractitemmodel.h:420
> #39158 0x00007ffff75a89d3 in Playlist::GroupingProxy::groupModeForIndex (
>     this=0xc0e120, thisIndex=...)
>     at 
> /home/olivier/Projets/amarok/src/playlist/proxymodels/GroupingProxy.cpp:262
> #39159 0x00007ffff75a85ac in Playlist::GroupingProxy::data 
> (this=0xc0e120,
>     index=..., role=256)
>     at 
> /home/olivier/Projets/amarok/src/playlist/proxymodels/GroupingProxy.cpp:176
> #39160 0x00007ffff75008d9 in QModelIndex::data (this=0x7fffffff9c00, 
> arole=256)
>     at /usr/include/qt/QtCore/qabstractitemmodel.h:420
> #39161 0x00007ffff75a89d3 in Playlist::GroupingProxy::groupModeForIndex (
>     this=0xc0e120, thisIndex=...)
>     at 
> /home/olivier/Projets/amarok/src/playlist/proxymodels/GroupingProxy.cpp:262
> ---Type <return> to continue, or q <return> to quit---
> #39162 0x00007ffff75a85ac in Playlist::GroupingProxy::data 
> (this=0xc0e120,
>     index=..., role=256)
>     at 
> /home/olivier/Projets/amarok/src/playlist/proxymodels/GroupingProxy.cpp:176
> #39163 0x00007ffff75008d9 in QModelIndex::data (this=0x7fffffff9c00, 
> arole=256)
>     at /usr/include/qt/QtCore/qabstractitemmodel.h:420
> #39164 0x00007ffff75a89d3 in Playlist::GroupingProxy::groupModeForIndex (
>     this=0xc0e120, thisIndex=...)
>     at 
> /home/olivier/Projets/amarok/src/playlist/proxymodels/GroupingProxy.cpp:262
> #39165 0x00007ffff75a85ac in Playlist::GroupingProxy::data 
> (this=0xc0e120,
>     index=..., role=256)
>     at 
> /home/olivier/Projets/amarok/src/playlist/proxymodels/GroupingProxy.cpp:176
> #39166 0x00007ffff75008d9 in QModelIndex::data (this=0x7fffffff9c00, 
> arole=256)
>     at /usr/include/qt/QtCore/qabstractitemmodel.h:420
> #39167 0x00007ffff75a89d3 in Playlist::GroupingProxy::groupModeForIndex (
>     this=0xc0e120, thisIndex=...)
>     at 
> /home/olivier/Projets/amarok/src/playlist/proxymodels/GroupingProxy.cpp:262
> #39168 0x00007ffff75a85ac in Playlist::GroupingProxy::data 
> (this=0xc0e120,
>     index=..., role=256)
>     at 
> /home/olivier/Projets/amarok/src/playlist/proxymodels/GroupingProxy.cpp:176
> #39169 0x00007ffff75008d9 in QModelIndex::data (this=0x7fffffff9c00, 
> arole=256)
> ---Type <return> to continue, or q <return> to quit---
>     at /usr/include/qt/QtCore/qabstractitemmodel.h:420
> #39170 0x00007ffff759b225 in 
> Playlist::PrettyItemDelegate::getGroupMode (index=...)
>     at 
> /home/olivier/Projets/amarok/src/playlist/view/listview/PrettyItemDelegate.cpp:78
> #39171 0x00007ffff759b291 in Playlist::PrettyItemDelegate::rowsForItem 
> (index=...)
>     at 
> /home/olivier/Projets/amarok/src/playlist/view/listview/PrettyItemDelegate.cpp:87
> #39172 0x00007ffff759b375 in Playlist::PrettyItemDelegate::sizeHint (
>     this=0x1160990, option=..., index=...)
>     at 
> /home/olivier/Projets/amarok/src/playlist/view/listview/PrettyItemDelegate.cpp:101
> #39173 0x00007ffff65261dd in ?? () from /usr/lib/libQt5Widgets.so.5
> #39174 0x00007ffff652d25e in ?? () from /usr/lib/libQt5Widgets.so.5
> #39175 0x00007ffff652d470 in ?? () from /usr/lib/libQt5Widgets.so.5
> #39176 0x00007ffff6525ea7 in ?? () from /usr/lib/libQt5Widgets.so.5
> #39177 0x00007ffff653043d in QListView::doItemsLayout() ()
>    from /usr/lib/libQt5Widgets.so.5
> #39178 0x00007ffff65132ca in QAbstractItemView::event(QEvent*) ()
>    from /usr/lib/libQt5Widgets.so.5
> #39179 0x00007ffff62ac00c in 
> QApplicationPrivate::notify_helper(QObject*, QEvent*)
> ---Type <return> to continue, or q <return> to quit---
>     () from /usr/lib/libQt5Widgets.so.5
> #39180 0x00007ffff62b14e6 in QApplication::notify(QObject*, QEvent*) ()
>    from /usr/lib/libQt5Widgets.so.5
> #39181 0x00007ffff557289b in 
> QCoreApplication::notifyInternal(QObject*, QEvent*) ()
>    from /usr/lib/libQt5Core.so.5
> #39182 0x00007ffff62ebb56 in QWidgetPrivate::show_helper() ()
>    from /usr/lib/libQt5Widgets.so.5
> #39183 0x00007ffff62ee595 in QWidget::setVisible(bool) ()
>    from /usr/lib/libQt5Widgets.so.5
> #39184 0x00007ffff62eb858 in QWidgetPrivate::showChildren(bool) ()
>    from /usr/lib/libQt5Widgets.so.5
> #39185 0x00007ffff62eb8df in QWidgetPrivate::show_helper() ()
>    from /usr/lib/libQt5Widgets.so.5
> #39186 0x00007ffff62ee595 in QWidget::setVisible(bool) ()
>    from /usr/lib/libQt5Widgets.so.5
> #39187 0x00007ffff62edc09 in ?? () from /usr/lib/libQt5Widgets.so.5
> #39188 0x00007ffff55a1eb1 in QObject::event(QEvent*) ()
>    from /usr/lib/libQt5Core.so.5
> #39189 0x00007ffff62eec5b in QWidget::event(QEvent*) ()
>    from /usr/lib/libQt5Widgets.so.5
> ---Type <return> to continue, or q <return> to quit---
> #39190 0x00007ffff62ac00c in 
> QApplicationPrivate::notify_helper(QObject*, QEvent*)
>     () from /usr/lib/libQt5Widgets.so.5
> #39191 0x00007ffff62b14e6 in QApplication::notify(QObject*, QEvent*) ()
>    from /usr/lib/libQt5Widgets.so.5
> #39192 0x00007ffff557289b in 
> QCoreApplication::notifyInternal(QObject*, QEvent*) ()
>    from /usr/lib/libQt5Core.so.5
> #39193 0x00007ffff5574c96 in 
> QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) 
> () from /usr/lib/libQt5Core.so.5
> #39194 0x00007ffff55c8e33 in ?? () from /usr/lib/libQt5Core.so.5
> #39195 0x00007fffebb75dc7 in g_main_context_dispatch ()
>    from /usr/lib/libglib-2.0.so.0
> #39196 0x00007fffebb76020 in ?? () from /usr/lib/libglib-2.0.so.0
> #39197 0x00007fffebb760cc in g_main_context_iteration ()
>    from /usr/lib/libglib-2.0.so.0
> #39198 0x00007ffff55c923f in 
> QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 
> () from /usr/lib/libQt5Core.so.5
> #39199 0x00007ffff557026a in 
> QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
> /usr/lib/libQt5Core.so.5
> #39200 0x00007ffff557820c in QCoreApplication::exec() ()
>    from /usr/lib/libQt5Core.so.5
> ---Type <return> to continue, or q <return> to quit---
> #39201 0x000000000040c202 in main (argc=1, argv=0x7fffffffe028)
>     at /home/olivier/Projets/amarok/src/main.cpp:347
>
> -- 
> Olivier CHURLAUD
> Engineer Student at Ecole Centrale de Lyon
> in Dual Degree at TU Berlin, M.Sc. Elektrotechnik
> @:olivier at churlaud.com
> tel: +49 (0)1575-2931348
> in:http://linkedin.com/in/olivierchurlaud
> web:http://olivier.churlaud.com  
>
>
> _______________________________________________
> Amarok-devel mailing list
> Amarok-devel at kde.org
> https://mail.kde.org/mailman/listinfo/amarok-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/amarok-devel/attachments/20151021/2237aa04/attachment-0001.html>


More information about the Amarok-devel mailing list