Bug 300815

Summary: crashes when hiding specific function from stack
Product: [Frameworks and Libraries] massif-visualizer Reporter: Wilfried Goesgens <dothebart>
Component: memorychartAssignee: Massif Visualizer developers <massif-visualizer>
Status: RESOLVED WORKSFORME    
Severity: critical Keywords: triaged
Priority: NOR    
Version: master   
Target Milestone: 0.2   
Platform: Debian testing   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Wilfried Goesgens 2012-05-29 15:07:43 UTC
Program received signal SIGSEGV, Segmentation fault.
__memmove_ia32 () at ../sysdeps/i386/i686/multiarch/../memmove.S:77
77      ../sysdeps/i386/i686/multiarch/../memmove.S: Datei oder Verzeichnis nicht gefunden.
gdb>
gdb> bt
#0  __memmove_ia32 () at ../sysdeps/i386/i686/multiarch/../memmove.S:77
#1  0xb627317b in QListData::remove(int) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#2  0xb627350c in QListData::erase(void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#3  0x0806b8d8 in erase (it=..., this=0x8439014) at /usr/include/qt4/QtCore/qlist.h:466
#4  Massif::DetailedCostModel::hideFunction (this=0x81698c8, node=0x83e26c0) at /home/willi/src/deb/massif-visualizer-0.3/visualizer/detailedcostmodel.cpp:369
#5  0x0805d7ed in Massif::MainWindow::slotHideFunction (this=0x81642f8) at /home/willi/src/deb/massif-visualizer-0.3/app/mainwindow.cpp:1025
#6  0xb637e1ff in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#7  0xb660ed4d in QAction::triggered(bool) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#8  0xb660efeb in QAction::activate(QAction::ActionEvent) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#9  0xb6ad1283 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#10 0xb6ad81bf in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#11 0xb6adaec5 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#12 0xb66705e7 in QWidget::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#13 0xb6ad993c in QMenu::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#14 0xb6615fc4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#15 0xb661bdfc in QApplication::notify(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#16 0xb7d51511 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#17 0xb63674de in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#18 0xb6616f80 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#19 0xb66a10d2 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#20 0xb669f53e in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#21 0xb66cba6c in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#22 0xb5979633 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#23 0xb59799d0 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#24 0xb5979ab1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#25 0xb639a5e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#26 0xb66cb66a in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#27 0xb636604d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#28 0xb63662e9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#29 0xb6ad5a57 in QMenu::exec(QPoint const&, QAction*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#30 0x0805d56a in Massif::MainWindow::chartContextMenuRequested (this=0x81642f8, pos=...) at /home/willi/src/deb/massif-visualizer-0.3/app/mainwindow.cpp:1001
#31 0xb637e1ff in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#32 0xb66651d5 in QWidget::customContextMenuRequested(QPoint const&) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#33 0xb6671373 in QWidget::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#34 0xb779b01a in KDChart::Chart::event (this=0x8174110, event=0xbfffef7c) at /home/willi/src/deb/massif-visualizer-0.3/kdchart/src/KDChartChart.cpp:1597
#35 0xb6615fc4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#36 0xb661c00a in QApplication::notify(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#37 0xb7d51511 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#38 0xb63674de in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#39 0xb66a09f5 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#40 0xb669f53e in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#41 0xb66cba6c in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#42 0xb5979633 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#43 0xb59799d0 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#44 0xb5979ab1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#45 0xb639a5e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#46 0xb66cb66a in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#47 0xb636604d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#48 0xb63662e9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#49 0xb636ba1a in QCoreApplication::exec() () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#50 0xb6613e34 in QApplication::exec() () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#51 0x0805a0db in main (argc=<error reading variable: Cannot access memory at address 0x3ff284c0>, argv=<error reading variable: Cannot access memory at address 0x3ff284c4>) at /home/willi/src/deb/massif-visualizer-0.3/app/main.cpp:58

==14645== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==14645== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==14645== Command: /usr/local/bin/massif-visualizer massif.out.30914
==14645== Parent PID: 14252
==14645==
==14645== Invalid read of size 8
==14645==    at 0x51A2AE3: ??? (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x539BD08: ??? (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x53A11F7: ??? (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x53ADE86: ??? (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x5323F03: QPainter::drawPixmap(QPointF const&, QPixmap const&) (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x7599CE8: ??? (in /usr/lib/kde4/plugins/styles/oxygen.so)
==14645==    by 0x758CDED: ??? (in /usr/lib/kde4/plugins/styles/oxygen.so)
==14645==    by 0xBEA0C2F7: ???
==14645==    by 0x5C0430B: QString::operator=(QString const&) (in /usr/lib/i386-linux-gnu/libQtCore.so.4.8.1)
==14645==    by 0x5610DE6: ??? (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x561107F: QDockWidget::QDockWidget(QWidget*, QFlags<Qt::WindowType>) (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x5F6FE45: (below main) (libc-start.c:228)
==14645==  Address 0xa51ab50 is 8 bytes before a block of size 900 alloc'd
==14645==    at 0x4026208: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==14645==    by 0x5279038: QImageData::create(QSize const&, QImage::Format, int) (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x527A278: QImage::QImage(int, int, QImage::Format) (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==
==14645== Invalid read of size 8
==14645==    at 0x51A2BED: ??? (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x539BD08: ??? (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x53A11F7: ??? (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x53ADE86: ??? (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x5323F03: QPainter::drawPixmap(QPointF const&, QPixmap const&) (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x7599CE8: ??? (in /usr/lib/kde4/plugins/styles/oxygen.so)
==14645==    by 0x758CDED: ??? (in /usr/lib/kde4/plugins/styles/oxygen.so)
==14645==    by 0xBEA0C2F7: ???
==14645==    by 0x5C0430B: QString::operator=(QString const&) (in /usr/lib/i386-linux-gnu/libQtCore.so.4.8.1)
==14645==    by 0x5610DE6: ??? (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x561107F: QDockWidget::QDockWidget(QWidget*, QFlags<Qt::WindowType>) (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x5F6FE45: (below main) (libc-start.c:228)
==14645==  Address 0xa51aed8 is 896 bytes inside a block of size 900 alloc'd
==14645==    at 0x4026208: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==14645==    by 0x5279038: QImageData::create(QSize const&, QImage::Format, int) (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x527A278: QImage::QImage(int, int, QImage::Format) (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==
==14645== Invalid read of size 8
==14645==    at 0x51A2D21: ??? (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x539BD08: ??? (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x53A11F7: ??? (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x53ADE86: ??? (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x5323F03: QPainter::drawPixmap(QPointF const&, QPixmap const&) (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x7599CE8: ??? (in /usr/lib/kde4/plugins/styles/oxygen.so)
==14645==    by 0x758CDED: ??? (in /usr/lib/kde4/plugins/styles/oxygen.so)
==14645==    by 0xBEA0C2F7: ???
==14645==    by 0x5C0430B: QString::operator=(QString const&) (in /usr/lib/i386-linux-gnu/libQtCore.so.4.8.1)
==14645==    by 0x5610DE6: ??? (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x561107F: QDockWidget::QDockWidget(QWidget*, QFlags<Qt::WindowType>) (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x5F6FE45: (below main) (libc-start.c:228)
==14645==  Address 0xa51aed8 is 896 bytes inside a block of size 900 alloc'd
==14645==    at 0x4026208: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==14645==    by 0x5279038: QImageData::create(QSize const&, QImage::Format, int) (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==    by 0x527A278: QImage::QImage(int, int, QImage::Format) (in /usr/lib/i386-linux-gnu/libQtGui.so.4.8.1)
==14645==


Reproducible: Always

Steps to Reproduce:
1.load more complicated massif output
2.hide specific layer (#6 of 8)
3. -> crash
Actual Results:  
see valgrind above.


if you want me to send you the input file, please contact me; I don't want to upload it here.
Comment 1 Milian Wolff 2012-05-30 15:52:45 UTC
yeah please sent me the mail to mail@milianw.de then I can try to create a simplified data file without sensible data to write a proper unit test.

BTW: for my test cases this works as expected so your test file would really be required.

Thanks
Comment 2 Andrew Crouthamel 2018-09-23 02:25:04 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 3 Andrew Crouthamel 2018-10-27 04:10:26 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!