| Summary: | filelight crashes if invoked without a directory parameter | ||
|---|---|---|---|
| Product: | [Applications] filelight | Reporter: | Kwanza.Pili |
| Component: | general | Assignee: | Martin Sandsmark <martin.sandsmark> |
| Status: | RESOLVED INTENTIONAL | ||
| Severity: | crash | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
Can't reproduce it here. Extremely weird place to crash, the line is «a[0] = a[2] - a_max / 2;», and a is a normal stack-allocated uint array. Can you try running it with valgrind, and see if anything interesting pops up before it crashes? Thanks. The output from valgrind is shown below:
Found the following remote filesystems: ()
Found the following local filesystems: ("/home/", "/boot/", "/opt/", "/tmp/", "
/usr/src/", "/var/", "/local/")
==10565== Warning: invalid file descriptor 1024 in syscall close()
==10565== Warning: invalid file descriptor 1025 in syscall close()
==10565== Warning: invalid file descriptor 1026 in syscall close()
==10565== Warning: invalid file descriptor 1027 in syscall close()
==10565== Use --log-fd=<number> to select an alternative log fd.
==10565== Warning: invalid file descriptor 1028 in syscall close()
==10565== Warning: invalid file descriptor 1029 in syscall close()
==10544== Invalid read of size 8
==10544== at 0x184B3313: RadialMap::Map::paint(bool) (map.cpp:322)
==10544== by 0x6B5B991: QWidget::event(QEvent*) (in /opt/kde/lib64/libQt5Widg
ets.so.5.7.0)
==10544== by 0x6B17A2B: QApplicationPrivate::notify_helper(QObject*, QEvent*)
(in /opt/kde/lib64/libQt5Widgets.so.5.7.0)
==10544== by 0x6B1EBE0: QApplication::notify(QObject*, QEvent*) (in /opt/kde/
lib64/libQt5Widgets.so.5.7.0)
==10544== by 0x79E0687: QCoreApplication::notifyInternal2(QObject*, QEvent*)
(in /opt/kde/lib64/libQt5Core.so.5.7.0)
==10544== by 0x6B4DAD3: QWidgetPrivate::propagatePaletteChange() (in /opt/kde
/lib64/libQt5Widgets.so.5.7.0)
==10544== by 0x6B4DCC4: QWidgetPrivate::setPalette_helper(QPalette const&) (i
n /opt/kde/lib64/libQt5Widgets.so.5.7.0)
==10544== by 0x6B4DD3D: QWidgetPrivate::resolvePalette() (in /opt/kde/lib64/l
ibQt5Widgets.so.5.7.0)
==10544== by 0x6B4DB4B: QWidgetPrivate::propagatePaletteChange() (in /opt/kde
/lib64/libQt5Widgets.so.5.7.0)
==10544== by 0x6B4DCC4: QWidgetPrivate::setPalette_helper(QPalette const&) (i
n /opt/kde/lib64/libQt5Widgets.so.5.7.0)
==10544== by 0x6B4DD3D: QWidgetPrivate::resolvePalette() (in /opt/kde/lib64/l
ibQt5Widgets.so.5.7.0)
==10544== by 0x6B4DB4B: QWidgetPrivate::propagatePaletteChange() (in /opt/kde
/lib64/libQt5Widgets.so.5.7.0)
==10544== Address 0x90 is not stack'd, malloc'd or (recently) free'd
==10544==
==10544==
==10544== Process terminating with default action of signal 11 (SIGSEGV)
==10544== Access not within mapped region at address 0x90
==10544== at 0x184B3313: RadialMap::Map::paint(bool) (map.cpp:322)
==10544== by 0x6B5B991: QWidget::event(QEvent*) (in /opt/kde/lib64/libQt5Widg
ets.so.5.7.0)
==10544== by 0x6B17A2B: QApplicationPrivate::notify_helper(QObject*, QEvent*)
(in /opt/kde/lib64/libQt5Widgets.so.5.7.0)
==10544== by 0x6B1EBE0: QApplication::notify(QObject*, QEvent*) (in /opt/kde/
lib64/libQt5Widgets.so.5.7.0)
==10544== by 0x79E0687: QCoreApplication::notifyInternal2(QObject*, QEvent*)
(in /opt/kde/lib64/libQt5Core.so.5.7.0)
==10544== by 0x6B4DAD3: QWidgetPrivate::propagatePaletteChange() (in /opt/kde
/lib64/libQt5Widgets.so.5.7.0)
==10544== by 0x6B4DCC4: QWidgetPrivate::setPalette_helper(QPalette const&) (i
n /opt/kde/lib64/libQt5Widgets.so.5.7.0)
==10544== by 0x6B4DD3D: QWidgetPrivate::resolvePalette() (in /opt/kde/lib64/l
ibQt5Widgets.so.5.7.0)
==10544== by 0x6B4DB4B: QWidgetPrivate::propagatePaletteChange() (in /opt/kde
/lib64/libQt5Widgets.so.5.7.0)
==10544== by 0x6B4DCC4: QWidgetPrivate::setPalette_helper(QPalette const&) (i
n /opt/kde/lib64/libQt5Widgets.so.5.7.0)
==10544== by 0x6B4DD3D: QWidgetPrivate::resolvePalette() (in /opt/kde/lib64/l
ibQt5Widgets.so.5.7.0)
==10544== by 0x6B4DB4B: QWidgetPrivate::propagatePaletteChange() (in /opt/kde
/lib64/libQt5Widgets.so.5.7.0)
==10544== If you believe this happened as a result of a stack
==10544== overflow in your program's main thread (unlikely but
==10544== possible), you can try to increase the size of the
==10544== main thread stack using the --main-stacksize= flag.
==10544== The main thread stack size used in this run was 8388608.
==10544==
==10544== HEAP SUMMARY:
==10544== in use at exit: 4,892,462 bytes in 47,584 blocks
==10544== total heap usage: 485,350 allocs, 437,766 frees, 2,685,711,896 bytes
allocated
==10544==
==10544== 80 bytes in 1 blocks are possibly lost in loss record 2,950 of 4,827
==10544== at 0x4C2B11F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd
64-linux.so)
==10544== by 0xE7E7888: __glDispatchInit (in /usr/lib64/libGLdispatch.so.0)
==10544== by 0xE58F6E4: _init (in /usr/lib64/libGLX.so.0)
==10544== by 0x400F429: call_init.part.0 (in /lib64/ld-2.24.so)
==10544== by 0x400F57A: _dl_init (in /lib64/ld-2.24.so)
==10544== by 0x4000CF9: ??? (in /lib64/ld-2.24.so)
==10544==
==10544== 80 bytes in 1 blocks are possibly lost in loss record 2,951 of 4,827
==10544== at 0x4C2B11F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd
64-linux.so)
==10544== by 0xE7E84BA: __glDispatchRegisterStubCallbacks (in /usr/lib64/libG
Ldispatch.so.0)
==10544== by 0xACC474A: _init (in /usr/lib64/libGL.so.1.0.0)
==10544== by 0x400F429: call_init.part.0 (in /lib64/ld-2.24.so)
==10544== by 0x400F57A: _dl_init (in /lib64/ld-2.24.so)
==10544== by 0x4000CF9: ??? (in /lib64/ld-2.24.so)
==10544==
==10544== 368 bytes in 1 blocks are possibly lost in loss record 4,236 of 4,827
==10544== at 0x4C2D0E5: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd
64-linux.so)
==10544== by 0x4011B01: allocate_dtv (in /lib64/ld-2.24.so)
==10544== by 0x401248D: _dl_allocate_tls (in /lib64/ld-2.24.so)
==10544== by 0xA86C019: pthread_create@@GLIBC_2.2.5 (in /lib64/libpthread-2.2
4.so)
==10544== by 0x7820DA8: QThread::start(QThread::Priority) (in /opt/kde/lib64/
libQt5Core.so.5.7.0)
==10544== by 0x12467888: ??? (in /opt/kde/lib64/libQt5XcbQpa.so.5.7.0)
==10544== by 0x1246CE35: QXcbConnection::QXcbConnection(QXcbNativeInterface*,
bool, unsigned int, char const*) (in /opt/kde/lib64/libQt5XcbQpa.so.5.7.0)
==10544== by 0x124703DD: QXcbIntegration::QXcbIntegration(QStringList const&,
int&, char**) (in /opt/kde/lib64/libQt5XcbQpa.so.5.7.0)
==10544== by 0x40897FC: ??? (in /opt/kde/lib64/qt5/plugins/platforms/libqxcb.
so)
==10544== by 0x70E7C3C: QPlatformIntegrationFactory::create(QString const&, Q
StringList const&, int&, char**, QString const&) (in /opt/kde/lib64/libQt5Gui.so
.5.7.0)
==10544== by 0x70F5271: QGuiApplicationPrivate::createPlatformIntegration() (
in /opt/kde/lib64/libQt5Gui.so.5.7.0)
==10544== by 0x70F5CFC: QGuiApplicationPrivate::createEventDispatcher() (in /
opt/kde/lib64/libQt5Gui.so.5.7.0)
==10544==
==10544== 368 bytes in 1 blocks are possibly lost in loss record 4,237 of 4,827
==10544== at 0x4C2D0E5: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd
64-linux.so)
==10544== by 0x4011B01: allocate_dtv (in /lib64/ld-2.24.so)
==10544== by 0x401248D: _dl_allocate_tls (in /lib64/ld-2.24.so)
==10544== by 0xA86C019: pthread_create@@GLIBC_2.2.5 (in /lib64/libpthread-2.2
4.so)
==10544== by 0x7820DA8: QThread::start(QThread::Priority) (in /opt/kde/lib64/
libQt5Core.so.5.7.0)
==10544== by 0x415AE33: ??? (in /opt/kde/lib64/libQt5DBus.so.5.7.0)
==10544== by 0x415C21B: QDBusConnection::systemBus() (in /opt/kde/lib64/libQt
5DBus.so.5.7.0)
==10544== by 0x187409EA: ??? (in /opt/kde/lib64/libKF5Solid.so.5.25.0)
==10544== by 0x186FFBD3: ??? (in /opt/kde/lib64/libKF5Solid.so.5.25.0)
==10544== by 0x187025E2: ??? (in /opt/kde/lib64/libKF5Solid.so.5.25.0)
==10544== by 0x18702794: ??? (in /opt/kde/lib64/libKF5Solid.so.5.25.0)
==10544== by 0x187027C3: ??? (in /opt/kde/lib64/libKF5Solid.so.5.25.0)
==10544==
==10544== 1,870 (1,536 direct, 334 indirect) bytes in 6 blocks are definitely lo
st in loss record 4,585 of 4,827
==10544== at 0x4C2B11F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd
64-linux.so)
==10544== by 0x147EDD89: ??? (in /usr/lib64/libfontconfig.so.1.9.2)
==10544== by 0x147EE4E1: ??? (in /usr/lib64/libfontconfig.so.1.9.2)
==10544== by 0x147EF83A: ??? (in /usr/lib64/libfontconfig.so.1.9.2)
==10544== by 0x147F5C9F: ??? (in /usr/lib64/libfontconfig.so.1.9.2)
==10544== by 0x1589DCBF: ??? (in /usr/lib64/libexpat.so.1.6.0)
==10544== by 0x1589E630: ??? (in /usr/lib64/libexpat.so.1.6.0)
==10544== by 0x158A05BE: XML_ParseBuffer (in /usr/lib64/libexpat.so.1.6.0)
==10544== by 0x147F3EAA: FcConfigParseAndLoad (in /usr/lib64/libfontconfig.so
.1.9.2)
==10544== by 0x147F41B6: FcConfigParseAndLoad (in /usr/lib64/libfontconfig.so
.1.9.2)
==10544== by 0x147F4B12: ??? (in /usr/lib64/libfontconfig.so.1.9.2)
==10544== by 0x1589DCBF: ??? (in /usr/lib64/libexpat.so.1.6.0)
==10544==
==10544== 3,742 (3,072 direct, 670 indirect) bytes in 12 blocks are definitely l
ost in loss record 4,664 of 4,827
==10544== at 0x4C2B11F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd
64-linux.so)
==10544== by 0x147EDD89: ??? (in /usr/lib64/libfontconfig.so.1.9.2)
==10544== by 0x147EE4E1: ??? (in /usr/lib64/libfontconfig.so.1.9.2)
==10544== by 0x147EF83A: ??? (in /usr/lib64/libfontconfig.so.1.9.2)
==10544== by 0x147F5C9F: ??? (in /usr/lib64/libfontconfig.so.1.9.2)
==10544== by 0x1589DCBF: ??? (in /usr/lib64/libexpat.so.1.6.0)
==10544== by 0x1589E630: ??? (in /usr/lib64/libexpat.so.1.6.0)
==10544== by 0x1589C9F0: ??? (in /usr/lib64/libexpat.so.1.6.0)
==10544== by 0x1589D17C: ??? (in /usr/lib64/libexpat.so.1.6.0)
==10544== by 0x158A05BE: XML_ParseBuffer (in /usr/lib64/libexpat.so.1.6.0)
==10544== by 0x147F3EAA: FcConfigParseAndLoad (in /usr/lib64/libfontconfig.so
.1.9.2)
==10544== by 0x147F41B6: FcConfigParseAndLoad (in /usr/lib64/libfontconfig.so
.1.9.2)
==10544==
==10544== 282,207 bytes in 1 blocks are possibly lost in loss record 4,825 of 4,
827
==10544== at 0x4C2D0E5: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd
64-linux.so)
==10544== by 0x1C5D64D2: ??? (in /usr/lib64/libGLX_nvidia.so.367.35)
==10544== by 0x1DA5FA00: ??? (in /usr/lib64/libnvidia-glcore.so.367.35)
==10544== by 0x1D6E3BD0: ??? (in /usr/lib64/libnvidia-glcore.so.367.35)
==10544== by 0x1C5A700C: ??? (in /usr/lib64/libGLX_nvidia.so.367.35)
==10544== by 0x1C5AE7C8: ??? (in /usr/lib64/libGLX_nvidia.so.367.35)
==10544== by 0x1C574D7E: ??? (in /usr/lib64/libGLX_nvidia.so.367.35)
==10544== by 0x400F429: call_init.part.0 (in /lib64/ld-2.24.so)
==10544== by 0x400F57A: _dl_init (in /lib64/ld-2.24.so)
==10544== by 0x4013AA7: dl_open_worker (in /lib64/ld-2.24.so)
==10544== by 0x400F313: _dl_catch_error (in /lib64/ld-2.24.so)
==10544== by 0x4013248: _dl_open (in /lib64/ld-2.24.so)
==10544==
==10544== LEAK SUMMARY:
==10544== definitely lost: 4,608 bytes in 18 blocks
==10544== indirectly lost: 1,004 bytes in 36 blocks
==10544== possibly lost: 283,103 bytes in 5 blocks
==10544== still reachable: 4,603,747 bytes in 47,525 blocks
==10544== of which reachable via heuristic:
==10544== newarray : 272 bytes in 8 blocks
==10544== multipleinheritance: 304 bytes in 2 blocks
==10544== suppressed: 0 bytes in 0 blocks
==10544== Reachable blocks (those to which a pointer was found) are not shown.
==10544== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==10544==
==10544== For counts of detected and suppressed errors, rerun with: -v
==10544== ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0)
|
If I run filelight without any parameters, it crashes with the following backtrace: #0 0x00007fffe554e313 in RadialMap::Map::paint (this=0x5555558dd618, antialias=<optimized out>) at /usr/src/debug/filelight-16.08.0/src/part/radialMap/map.cpp:322 #1 0x00007ffff5db5992 in QWidget::event(QEvent*) () from /opt/kde/lib64/libQt5Widgets.so.5 #2 0x00007ffff5d71a2c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /opt/kde/lib64/libQt5Widgets.so.5 #3 0x00007ffff5d78be1 in QApplication::notify(QObject*, QEvent*) () from /opt/kde/lib64/libQt5Widgets.so.5 #4 0x00007ffff5251688 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /opt/kde/lib64/libQt5Core.so.5 #5 0x00007ffff5da7ad4 in QWidgetPrivate::propagatePaletteChange() () from /opt/kde/lib64/libQt5Widgets.so.5 #6 0x00007ffff5da7cc5 in QWidgetPrivate::setPalette_helper(QPalette const&) () from /opt/kde/lib64/libQt5Widgets.so.5 #7 0x00007ffff5da7d3e in QWidgetPrivate::resolvePalette() () from /opt/kde/lib64/libQt5Widgets.so.5 #8 0x00007ffff5da7b4c in QWidgetPrivate::propagatePaletteChange() () from /opt/kde/lib64/libQt5Widgets.so.5 #9 0x00007ffff5da7cc5 in QWidgetPrivate::setPalette_helper(QPalette const&) () from /opt/kde/lib64/libQt5Widgets.so.5 #10 0x00007ffff5da7d3e in QWidgetPrivate::resolvePalette() () from /opt/kde/lib64/libQt5Widgets.so.5 #11 0x00007ffff5da7b4c in QWidgetPrivate::propagatePaletteChange() () from /opt/kde/lib64/libQt5Widgets.so.5 #12 0x00007ffff5da7cc5 in QWidgetPrivate::setPalette_helper(QPalette const&) () from /opt/kde/lib64/libQt5Widgets.so.5 #13 0x00007ffff5da7d3e in QWidgetPrivate::resolvePalette() () from /opt/kde/lib64/libQt5Widgets.so.5 #14 0x00007ffff5da7b4c in QWidgetPrivate::propagatePaletteChange() () from /opt/kde/lib64/libQt5Widgets.so.5 #15 0x00007ffff5da7cc5 in QWidgetPrivate::setPalette_helper(QPalette const&) () from /opt/kde/lib64/libQt5Widgets.so.5 #16 0x00007ffff5da7d3e in QWidgetPrivate::resolvePalette() () from /opt/kde/lib64/libQt5Widgets.so.5 #17 0x00007ffff5da7b4c in QWidgetPrivate::propagatePaletteChange() () from /opt/kde/lib64/libQt5Widgets.so.5 #18 0x00007ffff5da7cc5 in QWidgetPrivate::setPalette_helper(QPalette const&) () from /opt/kde/lib64/libQt5Widgets.so.5 #19 0x00007ffff5da7d3e in QWidgetPrivate::resolvePalette() () from /opt/kde/lib64/libQt5Widgets.so.5 #20 0x00007ffff5db5d2b in QWidget::event(QEvent*) () from /opt/kde/lib64/libQt5Widgets.so.5 #21 0x00007ffff5eabadb in QMainWindow::event(QEvent*) () from /opt/kde/lib64/libQt5Widgets.so.5 #22 0x00007ffff78eb9c7 in KMainWindow::event(QEvent*) () from /opt/kde/lib64/libKF5XmlGui.so.5 #23 0x00007ffff792e3f5 in KXmlGuiWindow::event(QEvent*) () from /opt/kde/lib64/libKF5XmlGui.so.5 #24 0x00007ffff5d71a2c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /opt/kde/lib64/libQt5Widgets.so.5 #25 0x00007ffff5d78be1 in QApplication::notify(QObject*, QEvent*) () from /opt/kde/lib64/libQt5Widgets.so.5 #26 0x00007ffff5251688 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /opt/kde/lib64/libQt5Core.so.5 #27 0x00007ffff5d74a5b in QApplicationPrivate::setPalette_helper(QPalette const&, char const*, bool) () from /opt/kde/lib64/libQt5Widgets.so.5 #28 0x00007fffe5d07472 in Qt5CTPlatformTheme::applySettings() () from /opt/kde/lib64/qt5/plugins/platformthemes/libqt5ct.so #29 0x00007ffff527c831 in QObject::event(QEvent*) () from /opt/kde/lib64/libQt5Core.so.5 #30 0x00007ffff5d71a2c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /opt/kde/lib64/libQt5Widgets.so.5 #31 0x00007ffff5d78be1 in QApplication::notify(QObject*, QEvent*) () from /opt/kde/lib64/libQt5Widgets.so.5 #32 0x00007ffff5251688 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /opt/kde/lib64/libQt5Core.so.5 #33 0x00007ffff5253cdd in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /opt/kde/lib64/libQt5Core.so.5 #34 0x00007ffff52a2853 in ?? () from /opt/kde/lib64/libQt5Core.so.5 #35 0x00007ffff0073ba7 in g_main_context_dispatch () from /opt/gnome/lib64/libglib-2.0.so.0 #36 0x00007ffff0073dd8 in ?? () from /opt/gnome/lib64/libglib-2.0.so.0 #37 0x00007ffff0073e7c in g_main_context_iteration () from /opt/gnome/lib64/libglib-2.0.so.0 #38 0x00007ffff52a2c5f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/kde/lib64/libQt5Core.so.5 #39 0x00007ffff524f7ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/kde/lib64/libQt5Core.so.5 #40 0x00007ffff5257b3d in QCoreApplication::exec() () from /opt/kde/lib64/libQt5Core.so.5 #41 0x000055555555e27f in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/filelight-16.08.0/src/app/main.cpp:98 Note that this does not happen if filelight is started from a terminal as "filelight <dir>". Versions of files (however this behaviour was present in prior version): filelight 16.08.0 KF5 5.25.0 Plasma 5.7.4 QT5 5.7.0 Reproducible: Always Steps to Reproduce: 1. Start filelight from desktop menu or a terminal 2. Do not specify any parameters 3. Actual Results: Segmentation fault after it issues: "Found the following local filesystems: ..." Expected Results: Scan of filesystems