[Qt-interest] Analyze memory errors

Linos info at linos.es
Fri Jul 8 18:16:30 CEST 2011


El 08/07/11 10:53, Thiago Macieira escribió:
> On Friday, 8 de July de 2011 10:08:06 Linos wrote:
>>     1: memcpy in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
>>     2: QListData::insert(int) in /usr/lib/libQtCore.so.4.7.3
>
>> I think that happens when i use QList::insert method.
>>
>> This is noise and can be ignored or this is reporting a problem in QList?
>
> It's not noise. Whether it can be ignored or not, it depends on what exactly
> that memcpy is doing and how your libc reacts to it. The C standard says it's
> undefined behaviour to mempcy with overlapping regions.
>
> I can't find memcpy in QListData::insert, but it does call append() and
> QListData::append does have a memcpy.
>
> I've just sent a patch to be applied to fix this. You don't need to report a
> bug.
>
>


Same error at QListData::remove(int)

Source and destination overlap in memcpy(0xa844cb0, 0xa844ca8, 16)
   in LineasModel::removeRows(int, int, QModelIndex const&) in 
lineasmodel.cpp:333
   1: memcpy in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
   2: QListData::remove(int) in /usr/lib/libQtCore.so.4.7.3
   3: QList&lt;LineaModelStruct&gt;::takeAt(int) in <a 
href="file:///usr/include/QtCore/qlist.h:474" >/usr/include/QtCore/qlist.h:474</a>
   4: LineasModel::removeRows(int, int, QModelIndex const&amp;) in <a 
href="file:///home/skuda/git/pda_almacen/lineasmodel.cpp:333" 
 >lineasmodel.cpp:333</a>
   5: QAbstractItemModel::removeRow(int, QModelIndex const&amp;) in <a 
href="file:///usr/include/QtCore/qabstractitemmodel.h:315" 
 >/usr/include/QtCore/qabstractitemmodel.h:315</a>
   6: LineasModel::setData(QModelIndex const&amp;, QVariant const&amp;, int) in 
<a href="file:///home/skuda/git/pda_almacen/lineasmodel.cpp:255" 
 >lineasmodel.cpp:255</a>
   7: QStyledItemDelegate::setModelData(QWidget*, QAbstractItemModel*, 
QModelIndex const&amp;) const in /usr/lib/libQtGui.so.4.7.3
   8: QAbstractItemView::commitData(QWidget*) in /usr/lib/libQtGui.so.4.7.3
   9: QAbstractItemView::qt_metacall(QMetaObject::Call, int, void**) in 
/usr/lib/libQtGui.so.4.7.3
   10: QTableView::qt_metacall(QMetaObject::Call, int, void**) in 
/usr/lib/libQtGui.so.4.7.3
   11: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) in 
/usr/lib/libQtCore.so.4.7.3
   12: QAbstractItemDelegate::commitData(QWidget*) in /usr/lib/libQtGui.so.4.7.3
   13: QStyledItemDelegate::qt_metacall(QMetaObject::Call, int, void**) in 
/usr/lib/libQtGui.so.4.7.3
   14: LineasDelegate::qt_metacall(QMetaObject::Call, int, void**) in <a 
href="file:///home/skuda/git/pda_almacen/moc_lineasdelegate.cpp:67" 
 >moc_lineasdelegate.cpp:67</a>
   15: QObject::event(QEvent*) in /usr/lib/libQtCore.so.4.7.3
   16: QApplicationPrivate::notify_helper(QObject*, QEvent*) in 
/usr/lib/libQtGui.so.4.7.3
   17: QApplication::notify(QObject*, QEvent*) in /usr/lib/libQtGui.so.4.7.3
   18: QCoreApplication::notifyInternal(QObject*, QEvent*) in 
/usr/lib/libQtCore.so.4.7.3
   19: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) in 
/usr/lib/libQtCore.so.4.7.3
   20: /usr/lib/libQtCore.so.4.7.3
   21: g_main_context_dispatch in /usr/lib/libglib-2.0.so.0.2800.8
   22: /usr/lib/libglib-2.0.so.0.2800.8
   23: g_main_context_iteration in /usr/lib/libglib-2.0.so.0.2800.8
   24: 
QEventDispatcherGlib::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) 
in /usr/lib/libQtCore.so.4.7.3
   25: 
QGuiEventDispatcherGlib::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) 
in /usr/lib/libQtGui.so.4.7.3



More information about the Qt-interest-old mailing list