<div dir="ltr">Had a crash on my machine last night, in fact two.<div><br></div><div>I was running gdb and got a (not totally helpful) stack trace, but here's what I found.</div><div><br></div><div>In the stack trace below, it was processing a callback to Scheduler::setCaptureStatus(Ekos::CAPTURE_IMAGE_RECEIVED_ and calling the qCDebug in that method<br>This was the last thing output in the log</div><div><br></div><div>The last thing in the log was this:<br><br>[2022-04-02T02:14:53.707 PDT DEBG ][     org.kde.kstars.ekos.guide] - Capturing frame...<br>[2022-04-02T02:14:53.716 PDT INFO ][   org.kde.kstars.ekos.capture] - "Captured /home/pi/mydisk/m101/Light/LPR/m101_Light_LPR_120_secs_2022-04-02T02-14-53_247.fits"<br>[2022-04-02T02:14:53.750 PDT DEBG ][   org.kde.kstars.ekos.capture] - Focus elapsed time (secs):  246 . Requested Interval (secs):  3600<br>[2022-04-02T02:14:53.868 PDT DEBG ][           org.kde.kstars.fits] - FITS HFR: 3.09129<br>[2022-04-02T02:14:53.869 PDT DEBG ][ org.kde.kstars.ekos.scheduler] - Capture State "Image Received"<br><br>Here's the line in setCaptureStatus:</div><div><br>    qCDebug(KSTARS_EKOS_SCHEDULER) << "Capture State" << Ekos::getCaptureStatusString(status);<br><br>It did print that, but it dies in the cleanup from that QDebug call.<br>(I can tell that it was this output by examining the variables on the stack)<br><br>If we look back in the log for a similar event, we see this:<br><br>[2022-04-02T01:40:04.137 PDT INFO ][   org.kde.kstars.ekos.capture] - "Captured /home/pi/mydisk/m101/Light/Blue/m101_Light_Blue_240_secs_2022-04-02T01-40-03_028.fits"<br>[2022-04-02T01:40:04.165 PDT DEBG ][   org.kde.kstars.ekos.capture] - Focus elapsed time (secs):  1941 . Requested Interval (secs):  3600<br>[2022-04-02T01:40:04.285 PDT DEBG ][           org.kde.kstars.fits] - FITS HFR: 2.887<br>[2022-04-02T01:40:04.285 PDT DEBG ][ org.kde.kstars.ekos.scheduler] - Capture State "Image Received"<br>[2022-04-02T01:40:04.287 PDT DEBG ][ org.kde.kstars.ekos.scheduler] - Frame map summary:<br>[2022-04-02T01:40:04.287 PDT DEBG ][ org.kde.kstars.ekos.scheduler] -   "/home/pi/mydisk/m101/Light/Blue/m101_Light_Blue_240_secs" : 28<br>[2022-04-02T01:40:04.287 PDT DEBG ][ org.kde.kstars.ekos.scheduler] -   "/home/pi/mydisk/m101/Light/Green/m101_Light_Green_240_secs" : 32<br><br>So it just finished printing "Capture State "Image Received", and  was cleaning up, and about to look at the capture progress and call updateCompletedJobsCount()<br>It dies in a ~QObject() from KSUtils::Logging::File()<br><br>Was memory corrupted by something else?<br><br>FWIW I looked at stack level 6, and was able to see that the QString being passed to File had 30 characters, which is the length of: Capture State: Image Received"<br><br>Thread 1 "kstars" received signal SIGABRT, Aborted.<br>__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50<br>50   ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.<br>(gdb) bt<br>#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50<br>#1  0x00007ffff47ea859 in __GI_abort () at abort.c:79<br>#2  0x00007ffff485529e in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff497f298 "%s\n")<br>    at ../sysdeps/posix/libc_fatal.c:155<br>#3  0x00007ffff485d32c in malloc_printerr (str=str@entry=0x7ffff497d4c1 "free(): invalid pointer") at malloc.c:5347<br>#4  0x00007ffff485eb5c in _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:4173<br>#5  0x00007ffff52181d1 in QObject::~QObject() () at /lib/x86_64-linux-gnu/libQt5Core.so.5<br>#6  0x00005555557391ee in KSUtils::Logging::File(QtMsgType, QMessageLogContext const&, QString const&) (type=QtDebugMsg, context=..., msg=...)<br>    at /home/hy/Projects/kstars/kstars/auxiliary/ksutils.cpp:959<br>#7  0x00007ffff50141f8 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5<br>#8  0x00007ffff5015851 in qt_message_output(QtMsgType, QMessageLogContext const&, QString const&) () at /lib/x86_64-linux-gnu/libQt5Core.so.5<br>#9  0x00007ffff510a710 in QDebug::~QDebug() () at /lib/x86_64-linux-gnu/libQt5Core.so.5<br>#10 0x0000555555bb735c in Ekos::Scheduler::setCaptureStatus(Ekos::CaptureState) (this=0x55555a39d450, status=Ekos::CAPTURE_IMAGE_RECEIVED)<br>    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h:125<br>#11 0x0000555555973206 in Ekos::Scheduler::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)<br>    (_o=0x55555a39d450, _c=<optimized out>, _id=<optimized out>, _a=0x7fffffffd6b0)<br>    at /home/hy/Projects/kstars-build/kstars/KStarsLib_autogen/E56QNYLS5F/moc_scheduler.cpp:422<br>#12 0x00007ffff52101d0 in QMetaObject::activate(QObject*, int, int, void**) () at /lib/x86_64-linux-gnu/libQt5Core.so.5<br>#13 0x00007ffff69f0985 in  () at /lib/x86_64-linux-gnu/libQt5DBus.so.5<br>#14 0x00007ffff69db63b in  () at /lib/x86_64-linux-gnu/libQt5DBus.so.5<br>#15 0x00007ffff5210c2a in QObject::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5<br>#16 0x00007ffff5bfca66 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5<br>#17 0x00007ffff5c060f0 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5<br>#18 0x00007ffff51e480a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5<br>#19 0x00007ffff51e7488 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5<br>#20 0x00007ffff523ce37 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5<br>#21 0x00007ffff42b417d in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0<br>#22 0x00007ffff42b4400 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0<br>#23 0x00007ffff42b44a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0<br>#24 0x00007ffff523c435 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()<br>    at /lib/x86_64-linux-gnu/libQt5Core.so.5<br>#25 0x00007ffff51e33ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5<br>#26 0x00007ffff51eb116 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5<br>#27 0x00005555556d4f0e in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/hy/Projects/kstars/kstars/main.cpp:382<br>(gdb) <br><br></div></div>