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
Trying to load the attached csv file in an AIS Demodulator when using ASAN causes a SIGABRT
2024-05-25 23:00:03.488 (F) ASSERT: "uint(i) < uint(size())" in file /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h, line 502
because the ba array is empty, so ba[0] doesn't exist in this piece of code:
AISMessage* AISMessage::decode(const QByteArray ba)
{
int id = (ba[0] >> 2) & 0x3f;
This is the backtrace:
(gdb) bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1 0x00007ffff16a6b7f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2 0x00007ffff16584e2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007ffff16414ed in __GI_abort () at ./stdlib/abort.c:79
#4 0x00007ffff7eda234 in qtwebapp::Logger::msgHandler(QtMsgType, QString const&, QString const&, QString const&, int) (type=QtFatalMsg, message=..., file=..., function=..., line=502) at /home/sdrangel/logging/logger.cpp:70
#5 0x00007ffff7eda45c in qtwebapp::Logger::msgHandler5(QtMsgType, QMessageLogContext const&, QString const&) (type=QtFatalMsg, context=..., message=...) at /home/sdrangel/logging/logger.cpp:81
#6 0x00007ffff1cd26b0 in () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#7 0x00007ffff1cd27c8 in () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#8 0x00007ffff1c910ba in QMessageLogger::fatal(char const*, ...) const () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#9 0x00007ffff1c902ca in qt_assert_x(char const*, char const*, char const*, int) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007ffff4c445d3 in QByteArray::operator[](int) const (this=0x7fffec923a60, i=0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:502
#11 0x00007ffff4c48f55 in AISMessage::decode(QByteArray) (ba=...) at /home/sdrangel/sdrbase/util/ais.cpp:182
#12 0x00007fffc6b87ce5 in AISDemodGUI::messageReceived(QByteArray const&, QDateTime const&, int, int) (this=0x519000772980, message=..., dateTime=..., slot=1658, totalSlots=1) at /home/sdrangel/plugins/channelrx/demodais/aisdemodgui.cpp:424
#13 0x00007fffc6b94443 in AISDemodGUI::on_logOpen_clicked() (this=0x519000772980) at /home/sdrangel/plugins/channelrx/demodais/aisdemodgui.cpp:1048
#14 0x00007fffc6ba11ab in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (AISDemodGUI::*)()>::call(void (AISDemodGUI::*)(), AISDemodGUI*, void**)
(f=(void (AISDemodGUI::*)(class AISDemodGUI * const)) 0x7fffc6b93382 <AISDemodGUI::on_logOpen_clicked()>, o=0x519000772980, arg=0x7fffffffc3d0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152
#15 0x00007fffc6b9fb55 in QtPrivate::FunctionPointer<void (AISDemodGUI::*)()>::call<QtPrivate::List<>, void>(void (AISDemodGUI::*)(), AISDemodGUI*, void**)
(f=(void (AISDemodGUI::*)(class AISDemodGUI * const)) 0x7fffc6b93382 <AISDemodGUI::on_logOpen_clicked()>, o=0x519000772980, arg=0x7fffffffc3d0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185
#16 0x00007fffc6b9e8ec in QtPrivate::QSlotObject<void (AISDemodGUI::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x503000bdc910, r=0x519000772980, a=0x7fffffffc3d0, ret=0x0)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:418
#17 0x00007ffff1f062b2 in () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007ffff2c56d66 in QAbstractButton::clicked(bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ffff2c56fde in () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007ffff2c58bbb in () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff2c58ddb in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007ffff2d55b3e in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007ffff2ba5dc8 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007ffff2b62f32 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007ffff2b6b45d in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007ffff1ecc748 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007ffff2b69762 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007ffff2bbf001 in () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007ffff2bc238f in () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007ffff2b62f32 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007ffff1ecc748 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007ffff233f7db in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#33 0x00007ffff23131ec in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#34 0x00007fffeb4fa15e in () at /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#35 0x00007ffff0f0de1f in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007ffff0f0fea7 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007ffff0f104c0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007ffff1f27d4a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#39 0x00007ffff1ecb0fb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#40 0x00007ffff1ed38a4 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#41 0x000055555555ec0b in runQtApplication(int, char**, qtwebapp::LoggerWithFile*) (argc=1, argv=0x7fffffffdb78, logger=0x50700002cbe0) at /home/sdrangel/app/main.cpp:211
#42 0x000055555555f4a4 in main(int, char**) (argc=1, argv=0x7fffffffdb78) at /home/sdrangel/app/main.cpp:248
The text was updated successfully, but these errors were encountered:
dforsi
changed the title
Segfault loading a .csv file with an empty field in AIS Demodulator
Crash when loading a .csv file with an empty field in AIS Demodulator
May 25, 2024
Trying to load the attached csv file in an AIS Demodulator when using ASAN causes a SIGABRT
because the
ba
array is empty, soba[0]
doesn't exist in this piece of code:This is the backtrace:
ais-demodulator-segfault.csv
The text was updated successfully, but these errors were encountered: