sigviewer icon indicating copy to clipboard operation
sigviewer copied to clipboard

Segmentation fault in too short file

Open tstenner opened this issue 5 years ago • 3 comments

Sigviewer segfaults on the following short file (2 streams, 2 chunks, 10 samples each): test_chunk3.xdf.gz

A slightly longer file is fine, though.

Here's the backtrace:

#0  0x0000555555632cd3 in sigviewer::SignalBrowserView::resizeScene(int, int) ()
#1  0x0000555555630ae1 in sigviewer::SignalBrowserModel::update() ()
#2  0x0000555555658721 in sigviewer::SignalBrowserModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#3  0x00007ffff6eae82c in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#4  0x000055555564ec7e in sigviewer::SignalViewSettings::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#5  0x000055555564f10b in sigviewer::SignalViewSettings::qt_metacall(QMetaObject::Call, int, void**) ()
#6  0x00007ffff6e9132f in QMetaProperty::write(QObject*, QVariant const&) const () from /usr/lib/libQt5Core.so.5
#7  0x00007ffff6eb6262 in QObject::setProperty(char const*, QVariant const&) () from /usr/lib/libQt5Core.so.5
#8  0x00005555555d3146 in sigviewer::GuiHelper::animateProperty(QObject*, QByteArray const&, QVariant const&, QVariant const&, QObject*, char const*) ()
#9  0x00005555556236db in sigviewer::AdaptBrowserViewWidget::on_secsPerPageSpinbox_valueChanged(double) ()
#10 0x0000555555654df1 in sigviewer::AdaptBrowserViewWidget::qt_metacall(QMetaObject::Call, int, void**) ()
#11 0x00007ffff6eae8fd in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#12 0x00007ffff7a2bb41 in QDoubleSpinBox::valueChanged(double) () from /usr/lib/libQt5Widgets.so.5
#13 0x00007ffff7a2bce5 in ?? () from /usr/lib/libQt5Widgets.so.5
#14 0x00007ffff7a28dd1 in ?? () from /usr/lib/libQt5Widgets.so.5
#15 0x00007ffff7a2a7cf in ?? () from /usr/lib/libQt5Widgets.so.5
#16 0x00007ffff7a2d81a in QDoubleSpinBox::setMaximum(double) () from /usr/lib/libQt5Widgets.so.5
#17 0x0000555555623bcd in sigviewer::AdaptBrowserViewWidget::AdaptBrowserViewWidget(sigviewer::SignalVisualisationView const*, QSharedPointer<sigviewer::SignalViewSettings>, sigviewer::YAxisWidget*, sigviewer::XAxisWidget*, sigviewer::LabelWidget*, QWidget*) ()
#18 0x0000555555634196 in sigviewer::SignalBrowserView::initWidgets(QSharedPointer<sigviewer::EventManager>, QSharedPointer<sigviewer::CommandExecuter>) ()
#19 0x0000555555634b09 in sigviewer::SignalBrowserView::SignalBrowserView(QSharedPointer<sigviewer::SignalVisualisationModel>, QSharedPointer<sigviewer::EventManager>, QSharedPointer<sigviewer::CommandExecuter>, QRect const&, QWidget*) ()
#20 0x00005555555df39b in sigviewer::MainWindowModelImpl::createSignalVisualisationImpl(sigviewer::ChannelManager const&, QSharedPointer<sigviewer::EventManager>) ()
#21 0x00005555555e09d0 in sigviewer::MainWindowModelImpl::createSignalVisualisationOfFile(QSharedPointer<sigviewer::FileContext>) ()
#22 0x00005555555ff721 in sigviewer::OpenFileGuiCommand::openFileImpl(QString, bool) ()
#23 0x000055555560004d in sigviewer::OpenFileGuiCommand::openFile(QString) ()
#24 0x0000555555584fd2 in main ()

tstenner avatar Apr 01 '19 10:04 tstenner

Hm, this probably happens because there is only one time point in the streams so SigViewer can't draw lines connecting at least two points. Could you try with a file that contains samples of exactly two time points?

cbrnr avatar Apr 02 '19 08:04 cbrnr

With 10 (@1000Hz) samples there should be enough points, unless there's some resampling I'm missing.

tstenner avatar Apr 13 '19 11:04 tstenner

You're right, I confused chunks with samples, so there should be enough samples to connect points...

cbrnr avatar Apr 14 '19 08:04 cbrnr