You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This occurs for Rx/Tx devices like LimeSDR, HackRF... with a Rx and Tx device set opened for the same device. Scenario is to start Tx stop it and leave Rx alone all the time. Then shutting down the application (ctl-q).
Dump occurs because an attempt is made to remove an item from an empty vector:
#7 0x00007f3fc35af78e in DeviceAPI::removeSinkBuddy (this=0x55bf7c52ea80, buddy=0x7f3fac0013f0) at /opt/build/sdrangel/sdrbase/device/deviceapi.cpp:728
728 m_sourceBuddies.erase(it);
(gdb) p m_sourceBuddies
$1 = std::vector of length 0, capacity 0
Full stack trace:
#0 __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:371
371 ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: No such file or directory.
[Current thread is 1 (Thread 0x7f3fc4547c80 (LWP 29285))]
(gdb) bt
#0 0x00007f3fc1505c40 in __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:371
#1 0x00007f3fc35b1a33 in std::__copy_move<true, true, std::random_access_iterator_tag>::__copy_m<DeviceAPI*>(DeviceAPI* const*, DeviceAPI* const*, DeviceAPI**) (__first=0x55bf7d3a8968, __last=0x0, __result=0x55bf7d3a8960)
at /usr/include/c++/7/bits/stl_algobase.h:368
#2 0x00007f3fc35b199f in std::__copy_move_a<true, DeviceAPI**, DeviceAPI**>(DeviceAPI**, DeviceAPI**, DeviceAPI**) (__first=0x55bf7d3a8968, __last=0x0, __result=0x55bf7d3a8960) at /usr/include/c++/7/bits/stl_algobase.h:386
#3 0x00007f3fc35b179d in std::__copy_move_a2<true, __gnu_cxx::__normal_iterator<DeviceAPI**, std::vector<DeviceAPI*, std::allocator<DeviceAPI*> > >, __gnu_cxx::__normal_iterator<DeviceAPI**, std::vector<DeviceAPI*, std::allocator<DeviceAPI*> > > >(__gnu_cxx::__normal_iterator<DeviceAPI**, std::vector<DeviceAPI*, std::allocator<DeviceAPI*> > >, __gnu_cxx::__normal_iterator<DeviceAPI**, std::vector<DeviceAPI*, std::allocator<DeviceAPI*> > >, __gnu_cxx::__normal_iterator<DeviceAPI**, std::vector<DeviceAPI*, std::allocator<DeviceAPI*> > >) (__first=0x0, __last=non-dereferenceable iterator for std::vector, __result=0x7f3fac0013f0) at /usr/include/c++/7/bits/stl_algobase.h:422
#4 0x00007f3fc35b155d in std::move<__gnu_cxx::__normal_iterator<DeviceAPI**, std::vector<DeviceAPI*, std::allocator<DeviceAPI*> > >, __gnu_cxx::__normal_iterator<DeviceAPI**, std::vector<DeviceAPI*, std::allocator<DeviceAPI*> > > >(__gnu_cxx::__normal_iterator<DeviceAPI**, std::vector<DeviceAPI*, std::allocator<DeviceAPI*> > >, __gnu_cxx::__normal_iterator<DeviceAPI**, std::vector<DeviceAPI*, std::allocator<DeviceAPI*> > >, __gnu_cxx::__normal_iterator<DeviceAPI**, std::vector<DeviceAPI*, std::allocator<DeviceAPI*> > >) (__first=0x0, __last=non-dereferenceable iterator for std::vector, __result=0x7f3fac0013f0) at /usr/include/c++/7/bits/stl_algobase.h:488
#5 0x00007f3fc35b0e27 in std::vector<DeviceAPI*, std::allocator<DeviceAPI*> >::_M_erase(__gnu_cxx::__normal_iterator<DeviceAPI**, std::vector<DeviceAPI*, std::allocator<DeviceAPI*> > >) (this=0x55bf7c52eae8, __position=0x7f3fac0013f0)
at /usr/include/c++/7/bits/vector.tcc:157
#6 0x00007f3fc35b03ff in std::vector<DeviceAPI*, std::allocator<DeviceAPI*> >::erase(__gnu_cxx::__normal_iterator<DeviceAPI* const*, std::vector<DeviceAPI*, std::allocator<DeviceAPI*> > >) (this=0x55bf7c52eae8, __position=0x7f3fac0013f0) at /usr/include/c++/7/bits/stl_vector.h:1180
#7 0x00007f3fc35af78e in DeviceAPI::removeSinkBuddy(DeviceAPI*) (this=0x55bf7c52ea80, buddy=0x7f3fac0013f0) at /opt/build/sdrangel/sdrbase/device/deviceapi.cpp:728
#8 0x00007f3fc35afa7f in DeviceAPI::clearBuddiesLists() (this=0x7f3fac0013f0) at /opt/build/sdrangel/sdrbase/device/deviceapi.cpp:754
#9 0x00007f3fc3fd29b7 in MainWindow::removeLastDevice() (this=0x7fff19a81f30) at /opt/build/sdrangel/sdrgui/mainwindow.cpp:552
#10 0x00007f3fc3fda86d in MainWindow::on_action_Exit_triggered() (this=0x7fff19a81f30) at /opt/build/sdrangel/sdrgui/mainwindow.cpp:1941
#11 0x00007f3fc40abe94 in MainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x7fff19a81f30, _c=QMetaObject::InvokeMetaMethod, _id=35, _a=0x7fff19a816a0)
at /opt/build/sdrangel/build.debug/sdrgui/sdrgui_autogen/EWIEGA46WW/moc_mainwindow.cpp:259
#12 0x00007f3fc40abfd4 in MainWindow::qt_metacall(QMetaObject::Call, int, void**) (this=0x7fff19a81f30, _c=QMetaObject::InvokeMetaMethod, _id=35, _a=0x7fff19a816a0)
at /opt/build/sdrangel/build.debug/sdrgui/sdrgui_autogen/EWIEGA46WW/moc_mainwindow.cpp:293
#13 0x00007f3fc1fc2679 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007f3fc2d0b122 in QAction::triggered(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007f3fc2d0d80c in QAction::activate(QAction::ActionEvent) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007f3fc2d0e0d5 in QAction::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007f3fc2d1182c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007f3fc2d190f4 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007f3fc1f939a8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007f3fc25833b7 in QShortcutMap::dispatchEvent(QKeyEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#21 0x00007f3fc258348a in QShortcutMap::tryShortcut(QKeyEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#22 0x00007f3fc2531c63 in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) ()
at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#23 0x00007f3fc2551f97 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#24 0x00007f3fc2556fd5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#25 0x00007f3fc252e2eb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#26 0x00007f3fb769e1c0 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#27 0x00007f3fbdabe417 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007f3fbdabe650 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007f3fbdabe6dc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007f3fc1fec8ef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x00007f3fc1f919ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007f3fc1f9aa84 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#33 0x000055bf7a4fadc8 in runQtApplication(int, char**, qtwebapp::LoggerWithFile*) (argc=3, argv=0x7fff19a822e8, logger=0x55bf7b8308a0) at /opt/build/sdrangel/app/main.cpp:134
#34 0x000055bf7a4fb035 in main(int, char**) (argc=3, argv=0x7fff19a822e8) at /opt/build/sdrangel/app/main.cpp:141
Offending part of the code sdrbase/device/deviceapi.cpp starting line 719:
for (;it != m_sinkBuddies.end(); ++it)
{
if (*it == buddy)
{
qDebug("DeviceAPI::removeSinkBuddy: buddy %s(%s) [%llu] removed from the list of [%llu]",
qPrintable(buddy->getHardwareId()),
qPrintable(buddy->getSamplingDeviceSerial()),
(quint64) (*it),
(quint64) this);
m_sourceBuddies.erase(it);
return;
}
}
Edit: also occurs if you have been using the Rx part.
The text was updated successfully, but these errors were encountered:
This occurs for Rx/Tx devices like LimeSDR, HackRF... with a Rx and Tx device set opened for the same device. Scenario is to start Tx stop it and leave Rx alone all the time. Then shutting down the application (ctl-q).
Dump occurs because an attempt is made to remove an item from an empty vector:
Full stack trace:
Offending part of the code
sdrbase/device/deviceapi.cpp
starting line 719:Edit: also occurs if you have been using the Rx part.
The text was updated successfully, but these errors were encountered: