Segfault in RGB-Audio-Matrix - Linux
Posted: Wed Jul 15, 2015 8:34 am
Hi,
qlc+ segfaults on creating an audio spectrum rgb matrix
qlc+ segfaults on creating an audio spectrum rgb matrix
Code: Select all
$ valgrind qlcplus --leak-check=full --show-reachable --track-origins=yes
==14384== Memcheck, a memory error detector
==14384== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==14384== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==14384== Command: qlcplus --leak-check=full --show-reachable --track-origins=yes
==14384==
Q Light Controller Plus version 4.9.0
This program is licensed under the terms of the Apache 2.0 license.
Copyright (c) Heikki Junnila (hjunnila@users.sf.net)
Copyright (c) Massimo Callegari (massimocallegari@yahoo.it)
==14384== Warning: set address range perms: large range [0x3a056000, 0xba056000) (defined)
==14384== Invalid read of size 1
==14384== at 0x12C30158: usb_parse_descriptor (in /lib/x86_64-linux-gnu/libusb-0.1.so.4.4.4)
==14384== by 0x12C305AC: usb_parse_configuration (in /lib/x86_64-linux-gnu/libusb-0.1.so.4.4.4)
==14384== by 0x12C3258C: usb_os_find_devices (in /lib/x86_64-linux-gnu/libusb-0.1.so.4.4.4)
==14384== by 0x12C2FB5F: usb_find_devices (in /lib/x86_64-linux-gnu/libusb-0.1.so.4.4.4)
==14384== by 0x12817A94: QLCFTDI::widgets() (in /usr/lib/qt4/plugins/qlcplus/libdmxusb.so)
==14384== by 0x128047F4: DMXUSB::rescanWidgets() (in /usr/lib/qt4/plugins/qlcplus/libdmxusb.so)
==14384== by 0x4F07A8D: IOPluginCache::load(QDir const&) (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x5274BE5: App::initDoc() (in /usr/lib/libqlcplusui.so.1.0.0)
==14384== by 0x5278AB8: App::init() (in /usr/lib/libqlcplusui.so.1.0.0)
==14384== by 0x5279CBD: App::startup() (in /usr/lib/libqlcplusui.so.1.0.0)
==14384== by 0x401FAE: ??? (in /usr/bin/qlcplus)
==14384== by 0x706CA3F: (below main) (libc-start.c:289)
==14384== Address 0x12044d68 is 0 bytes after a block of size 216 alloc'd
==14384== at 0x4C2BBA0: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==14384== by 0x12C3253C: usb_os_find_devices (in /lib/x86_64-linux-gnu/libusb-0.1.so.4.4.4)
==14384== by 0x12C2FB5F: usb_find_devices (in /lib/x86_64-linux-gnu/libusb-0.1.so.4.4.4)
==14384== by 0x12817A94: QLCFTDI::widgets() (in /usr/lib/qt4/plugins/qlcplus/libdmxusb.so)
==14384== by 0x128047F4: DMXUSB::rescanWidgets() (in /usr/lib/qt4/plugins/qlcplus/libdmxusb.so)
==14384== by 0x4F07A8D: IOPluginCache::load(QDir const&) (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x5274BE5: App::initDoc() (in /usr/lib/libqlcplusui.so.1.0.0)
==14384== by 0x5278AB8: App::init() (in /usr/lib/libqlcplusui.so.1.0.0)
==14384== by 0x5279CBD: App::startup() (in /usr/lib/libqlcplusui.so.1.0.0)
==14384== by 0x401FAE: ??? (in /usr/bin/qlcplus)
==14384== by 0x706CA3F: (below main) (libc-start.c:289)
==14384==
==14384== Conditional jump or move depends on uninitialised value(s)
==14384== at 0x5302158: RGBMatrixEditor::slotPreviewTimeout() (in /usr/lib/libqlcplusui.so.1.0.0)
==14384== by 0x53FD744: ??? (in /usr/lib/libqlcplusui.so.1.0.0)
==14384== by 0x67D21EB: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x67D67B2: QObject::event(QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x5B049BB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.6)
==14384== by 0x5B0B4D7: QApplication::notify(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.6)
==14384== by 0x67BD1CC: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x67EEE9A: QTimerInfoList::activateTimers() (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x67EBE90: timerSourceDispatch(_GSource*, int (*)(void*), void*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x95C4C3C: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4400.1)
==14384== by 0x95C4F1F: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4400.1)
==14384== by 0x95C4FCB: g_main_context_iteration (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4400.1)
==14384==
==14384== Thread 5 AudioCaptureAlsa:
==14384== Conditional jump or move depends on uninitialised value(s)
==14384== at 0x4EB6405: AudioCapture::processData() (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x4EB69BC: AudioCapture::run() (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x66B26FE: QThreadPrivate::start(void*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x88B46A9: start_thread (pthread_create.c:333)
==14384== by 0x7152EEC: clone (clone.S:109)
==14384==
==14384== Conditional jump or move depends on uninitialised value(s)
==14384== at 0x4EB581C: AudioCapture::fillBandsData(int) (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x4EB655A: AudioCapture::processData() (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x4EB69BC: AudioCapture::run() (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x66B26FE: QThreadPrivate::start(void*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x88B46A9: start_thread (pthread_create.c:333)
==14384== by 0x7152EEC: clone (clone.S:109)
==14384==
==14384== Conditional jump or move depends on uninitialised value(s)
==14384== at 0x4EB583C: AudioCapture::fillBandsData(int) (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x4EB655A: AudioCapture::processData() (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x4EB69BC: AudioCapture::run() (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x66B26FE: QThreadPrivate::start(void*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x88B46A9: start_thread (pthread_create.c:333)
==14384== by 0x7152EEC: clone (clone.S:109)
==14384==
==14384== Conditional jump or move depends on uninitialised value(s)
==14384== at 0x4EB5825: AudioCapture::fillBandsData(int) (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x4EB655A: AudioCapture::processData() (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x4EB69BC: AudioCapture::run() (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x66B26FE: QThreadPrivate::start(void*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x88B46A9: start_thread (pthread_create.c:333)
==14384== by 0x7152EEC: clone (clone.S:109)
==14384==
==14384== Conditional jump or move depends on uninitialised value(s)
==14384== at 0x4EB5861: AudioCapture::fillBandsData(int) (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x4EB655A: AudioCapture::processData() (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x4EB69BC: AudioCapture::run() (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x66B26FE: QThreadPrivate::start(void*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x88B46A9: start_thread (pthread_create.c:333)
==14384== by 0x7152EEC: clone (clone.S:109)
==14384==
==14384== Thread 1:
==14384== Conditional jump or move depends on uninitialised value(s)
==14384== at 0x4F11D51: RGBAudio::rgbMap(QSize const&, unsigned int, int) (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x4F14A4F: RGBMatrix::previewMap(int) (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x53021BB: RGBMatrixEditor::slotPreviewTimeout() (in /usr/lib/libqlcplusui.so.1.0.0)
==14384== by 0x53FD744: ??? (in /usr/lib/libqlcplusui.so.1.0.0)
==14384== by 0x67D21EB: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x67D67B2: QObject::event(QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x5B049BB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.6)
==14384== by 0x5B0B4D7: QApplication::notify(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.6)
==14384== by 0x67BD1CC: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x67EEE9A: QTimerInfoList::activateTimers() (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x67EBEC8: idleTimerSourceDispatch(_GSource*, int (*)(void*), void*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x95C4C3C: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4400.1)
==14384==
==14384== Use of uninitialised value of size 8
==14384== at 0x4F11D94: RGBAudio::rgbMap(QSize const&, unsigned int, int) (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x4F14A4F: RGBMatrix::previewMap(int) (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x53021BB: RGBMatrixEditor::slotPreviewTimeout() (in /usr/lib/libqlcplusui.so.1.0.0)
==14384== by 0x53FD744: ??? (in /usr/lib/libqlcplusui.so.1.0.0)
==14384== by 0x67D21EB: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x67D67B2: QObject::event(QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x5B049BB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.6)
==14384== by 0x5B0B4D7: QApplication::notify(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.6)
==14384== by 0x67BD1CC: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x67EEE9A: QTimerInfoList::activateTimers() (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x67EBEC8: idleTimerSourceDispatch(_GSource*, int (*)(void*), void*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x95C4C3C: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4400.1)
==14384==
==14384== Invalid read of size 8 pts/1 1035
==14384== at 0x4F11D94: RGBAudio::rgbMap(QSize const&, unsigned int, int) (in /usr/lib/libqlcplusengine.so.1.0.0) \253\2734== by 0x4F14A4F: RGBMatrix::previewMap(int) (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x53021BB: RGBMatrixEditor::slotPreviewTimeout() (in /usr/lib/libqlcplusui.so.1.0.0)
==14384== by 0x53FD744: ??? (in /usr/lib/libqlcplusui.so.1.0.0)
==14384== by 0x67D21EB: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x67D67B2: QObject::event(QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x5B049BB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.6)
==14384== by 0x5B0B4D7: QApplication::notify(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.6)
==14384== by 0x67BD1CC: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x67EEE9A: QTimerInfoList::activateTimers() (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x67EBEC8: idleTimerSourceDispatch(_GSource*, int (*)(void*), void*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x95C4C3C: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4400.1)
==14384== Address 0xfffffffc0ce55600 is not stack'd, malloc'd or (recently) free'd
==14384==
==14384==
==14384== Process terminating with default action of signal 11 (SIGSEGV)
==14384== Access not within mapped region at address 0xFFFFFFFC0CE55600
==14384== at 0x4F11D94: RGBAudio::rgbMap(QSize const&, unsigned int, int) (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x4F14A4F: RGBMatrix::previewMap(int) (in /usr/lib/libqlcplusengine.so.1.0.0)
==14384== by 0x53021BB: RGBMatrixEditor::slotPreviewTimeout() (in /usr/lib/libqlcplusui.so.1.0.0)
==14384== by 0x53FD744: ??? (in /usr/lib/libqlcplusui.so.1.0.0)
==14384== by 0x67D21EB: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x67D67B2: QObject::event(QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x5B049BB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.6)
==14384== by 0x5B0B4D7: QApplication::notify(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.6)
==14384== by 0x67BD1CC: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x67EEE9A: QTimerInfoList::activateTimers() (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x67EBEC8: idleTimerSourceDispatch(_GSource*, int (*)(void*), void*) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==14384== by 0x95C4C3C: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4400.1)
==14384== If you believe this happened as a result of a stack
==14384== overflow in your program's main thread (unlikely but
==14384== possible), you can try to increase the size of the
==14384== main thread stack using the --main-stacksize= flag.
==14384== The main thread stack size used in this run was 8388608.
==14384==
==14384== HEAP SUMMARY:
==14384== in use at exit: 8,557,206 bytes in 68,167 blocks
==14384== total heap usage: 446,798 allocs, 378,631 frees, 108,249,212 bytes allocated
==14384==
==14384== LEAK SUMMARY:
==14384== definitely lost: 15,040 bytes in 46 blocks
==14384== indirectly lost: 49,527 bytes in 2,124 blocks
==14384== possibly lost: 954,553 bytes in 10,781 blocks
==14384== still reachable: 7,538,086 bytes in 55,216 blocks
==14384== suppressed: 0 bytes in 0 blocks
==14384== Rerun with --leak-check=full to see details of leaked memory
==14384==
==14384== For counts of detected and suppressed errors, rerun with: -v
==14384== Use --track-origins=yes to see where uninitialised values come from
==14384== ERROR SUMMARY: 413908 errors from 10 contexts (suppressed: 0 from 0)
Killed