segfault in ~OximeterImport
To reproduce: Select oximeter wizard Plug your CMS50D+ 4.6 in Select CMD50D+ (earlier than 4.6) by mistake Import pre-recorded session Hit cancel
100% reproducible for me.
valgrind says:
==14946== at 0x6F448C: OximeterImport::~OximeterImport() (oximeterimport.cpp:126)
==14946== by 0x478E8A: MainWindow::on_oximetryButton_clicked() (mainwindow.cpp:1404)
==14946== by 0x478EC0: MainWindow::JumpOxiWizard() (mainwindow.cpp:2531)
==14946== by 0x758BD6: Welcome::on_oximetryButton_clicked() (welcome.cpp:107)
==14946== by 0x7819BB: Welcome::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_welcome.cpp:91)
==14946== by 0x781A71: Welcome::qt_metacall(QMetaObject::Call, int, void**) (moc_welcome.cpp:129)
==14946== by 0x5BDC9DB: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib64/libQt5Core.so.5.13.2)
==14946== by 0x4D9FAA5: QAbstractButton::clicked(bool) (in /usr/lib64/libQt5Widgets.so.5.13.2)
==14946== by 0x4D9FCCD: ??? (in /usr/lib64/libQt5Widgets.so.5.13.2)
==14946== by 0x4DA1112: ??? (in /usr/lib64/libQt5Widgets.so.5.13.2)
==14946== by 0x4DA12D4: QAbstractButton::mouseReleaseEvent(QMouseEvent*) (in /usr/lib64/libQt5Widgets.so.5.13.2)
==14946== by 0x4E9554D: QToolButton::mouseReleaseEvent(QMouseEvent*) (in /usr/lib64/libQt5Widgets.so.5.13.2)
==14946== Address 0x1b276230 is 0 bytes inside a block of size 248 free'd
==14946== at 0x4839EFC: operator delete(void*) (vg_replace_malloc.c:586)
==14946== by 0x5B6D8A: Session::~Session() (session.cpp:61)
==14946== by 0x566FF9: Day::~Day() (day.cpp:31)
==14946== by 0x6F447A: OximeterImport::~OximeterImport() (oximeterimport.cpp:123)
==14946== by 0x478E8A: MainWindow::on_oximetryButton_clicked() (mainwindow.cpp:1404)
==14946== by 0x478EC0: MainWindow::JumpOxiWizard() (mainwindow.cpp:2531)
==14946== by 0x758BD6: Welcome::on_oximetryButton_clicked() (welcome.cpp:107)
==14946== by 0x7819BB: Welcome::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_welcome.cpp:91)
==14946== by 0x781A71: Welcome::qt_metacall(QMetaObject::Call, int, void**) (moc_welcome.cpp:129)
==14946== by 0x5BDC9DB: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib64/libQt5Core.so.5.13.2)
==14946== by 0x4D9FAA5: QAbstractButton::clicked(bool) (in /usr/lib64/libQt5Widgets.so.5.13.2)
==14946== by 0x4D9FCCD: ??? (in /usr/lib64/libQt5Widgets.so.5.13.2)
so I think what's happening, but I'm not sure, is that the same session is being deleted by ~OximeterImport->Day::~Day and the direct delete session in ~OximeterImport
Edited by Dr. David Alan Gilbert