Skip to content

[sanitizer] ASan + UBSan weekly run failure (fp 55e8f7b54c82) #6154

Closed

Description

@github-actions

Run: https://github.com/aethersdr/AetherSDR/actions/runs/37208806037
Commit: bdd9ae8
Date: 2026-10-04
Fingerprint: 55e8f7b54c82

Sanitizer report (first SUMMARY block)
99% tests passed, 6 tests failed out of 656
The following tests FAILED:
	148 - rtl_spectrum_averaging_test (Timeout)
	230 - weather_radar_loading_test (Timeout)
	501 - offline_health_registry_test (Failed)
	631 - rx_applet_squelch_reconciliation_test (Failed)
	632 - fm_filter_controls_test (Failed)
	633 - vfo_dsp_launcher_width_test (Failed)
Errors while running CTest

    [1424, 1448) '<unknown>'
    [1488, 1512) '<unknown>'
    [1552, 1576) '<unknown>'
    [1616, 1640) '<unknown>'
    [1680, 1704) 'rec' (line 197) <== Memory access at offset 1692 is inside this variable
    [1744, 1768) '<unknown>'
    [1808, 1832) '<unknown>'
    [1872, 1896) '<unknown>'
    [1936, 1960) '<unknown>'
    [2000, 2024) '<unknown>'
    [2064, 2088) '<unknown>'
    [2128, 2152) '<unknown>'
    [2192, 2216) '<unknown>'
    [2256, 2280) '<unknown>'
    [2320, 2344) '<unknown>'
    [2384, 2408) '<unknown>'
    [2448, 2472) '<unknown>'
    [2512, 2536) '<unknown>'
    [2576, 2600) '<unknown>'
    [2640, 2664) '<unknown>'
    [2704, 2728) '<unknown>'
    [2768, 2792) '<unknown>'
    [2832, 2856) '<unknown>'
    [2896, 2920) '<unknown>'
    [2960, 2984) '<unknown>'
    [3024, 3048) '<unknown>'
    [3088, 3112) '<unknown>'
    [3152, 3176) '<unknown>'
    [3216, 3240) '<unknown>'
    [3280, 3304) '<unknown>'
    [3344, 3368) '<unknown>'
    [3408, 3432) '<unknown>'
    [3472, 3496) '<unknown>'
    [3536, 3560) '<unknown>'
    [3600, 3624) '<unknown>'
    [3664, 3688) '<unknown>'
    [3728, 3752) '<unknown>'
    [3792, 3816) '<unknown>'
    [3856, 3880) '<unknown>'
    [3920, 3944) '<unknown>'
    [3984, 4008) '<unknown>'
    [4048, 4072) '<unknown>'
    [4112, 4136) '<unknown>'
    [4176, 4200) '<unknown>'
    [4240, 4264) '<unknown>'
    [4304, 4328) '<unknown>'
    [4368, 4392) '<unknown>'
    [4432, 4456) '<unknown>'
    [4496, 4520) '<unknown>'
    [4560, 4584) '<unknown>'
    [4624, 4648) '<unknown>'
    [4688, 4712) '<unknown>'
    [4752, 4776) '<unknown>'
    [4816, 4840) '<unknown>'
    [4880, 4904) '<unknown>'
    [4944, 4968) '<unknown>'
    [5008, 5032) '<unknown>'
    [5072, 5096) '<unknown>'
    [5136, 5184) '<unknown>'
    [5216, 5264) '<unknown>'
    [5296, 5344) '<unknown>'
    [5376, 5424) '<unknown>'
    [5456, 5504) '<unknown>'
    [5536, 5584) '<unknown>'
    [5616, 5664) '<unknown>'
    [5696, 5744) '<unknown>'
    [5776, 5824) '<unknown>'
    [5856, 5904) '<unknown>'
    [5936, 5968) '<unknown>'
    [6000, 6032) '<unknown>'
    [6064, 6096) '<unknown>'
    [6128, 6160) '<unknown>'
    [6192, 6224) '<unknown>'
    [6256, 6304) '<unknown>'
    [6336, 16104) 'm' (line 169)
    [16368, 26136) 'm' (line 204)
    [26400, 36168) 'm' (line 279)
    [36432, 46200) 'm' (line 306)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-use-after-scope /__w/AetherSDR/AetherSDR/tests/offline_health_registry_test.cpp:95 in RecordingOfflineSource::noteOfflineDemand()
--
        Start 629: radio_owned_display_settings_test
629/656 Test #629: radio_owned_display_settings_test ..........................   Passed    0.27 sec
        Start 630: client_display_settings_test
630/656 Test #630: client_display_settings_test ...............................   Passed    0.25 sec
        Start 631: rx_applet_squelch_reconciliation_test
631/656 Test #631: rx_applet_squelch_reconciliation_test ......................***Failed    1.95 sec
Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
AppSettings: created new settings store with defaults
********* Start testing of RxAppletSquelchReconciliationTest *********
Config: Using QtTest library 6.12.0, Qt 6.12.0 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 11.5.0 20240719 (Red Hat 11.5.0-5)), ubuntu 24.04
PASS   : RxAppletSquelchReconciliationTest::initTestCase()
PASS   : RxAppletSquelchReconciliationTest::deferredWritesCoalesceAndFlush()
QWARN  : RxAppletSquelchReconciliationTest::icomSliderBurstFlushesLatestIntentOnDisconnect() aether.gui: ThemeManager: saved theme "Default Dark" is unavailable — falling back to Default Dark
QWARN  : RxAppletSquelchReconciliationTest::icomSliderBurstFlushesLatestIntentOnDisconnect() aether.gui: ThemeManager: Default Dark also failed to load — UI will render with compiled-in defaults (rebuild resources?)
QINFO  : RxAppletSquelchReconciliationTest::icomSliderBurstFlushesLatestIntentOnDisconnect() aether.shutdown: phase=radio.backend.destroy event=begin
QINFO  : RxAppletSquelchReconciliationTest::icomSliderBurstFlushesLatestIntentOnDisconnect() aether.shutdown: phase=radio.backend.destroy event=end result=ok elapsed_ms=0
QINFO  : RxAppletSquelchReconciliationTest::icomSliderBurstFlushesLatestIntentOnDisconnect() aether.shutdown: phase=dax_iq.thread.join event=begin
QINFO  : RxAppletSquelchReconciliationTest::icomSliderBurstFlushesLatestIntentOnDisconnect() aether.shutdown: phase=dax_iq.thread.join event=end result=ok elapsed_ms=0
PASS   : RxAppletSquelchReconciliationTest::icomSliderBurstFlushesLatestIntentOnDisconnect()
PASS   : RxAppletSquelchReconciliationTest::squelchReadbackValidityExcludesOptimisticState()
QINFO  : RxAppletSquelchReconciliationTest::icomReattachUsesCurrentSessionReport() aether.shutdown: phase=radio.backend.destroy event=begin
QINFO  : RxAppletSquelchReconciliationTest::icomReattachUsesCurrentSessionReport() aether.shutdown: phase=radio.backend.destroy event=end result=ok elapsed_ms=0
QINFO  : RxAppletSquelchReconciliationTest::icomReattachUsesCurrentSessionReport() aether.shutdown: phase=dax_iq.thread.join event=begin
QINFO  : RxAppletSquelchReconciliationTest::icomReattachUsesCurrentSessionReport() aether.shutdown: phase=dax_iq.thread.join event=end result=ok elapsed_ms=0
PASS   : RxAppletSquelchReconciliationTest::icomReattachUsesCurrentSessionReport()
QINFO  : RxAppletSquelchReconciliationTest::icomClientIntentSurvivesRecreation(manual-memory-while-off) aether.shutdown: phase=radio.backend.destroy event=begin
QINFO  : RxAppletSquelchReconciliationTest::icomClientIntentSurvivesRecreation(manual-memory-while-off) aether.shutdown: phase=radio.backend.destroy event=end result=ok elapsed_ms=0
QINFO  : RxAppletSquelchReconciliationTest::icomClientIntentSurvivesRecreation(manual-memory-while-off) aether.shutdown: phase=dax_iq.thread.join event=begin
QINFO  : RxAppletSquelchReconciliationTest::icomClientIntentSurvivesRecreation(manual-memory-while-off) aether.shutdown: phase=dax_iq.thread.join event=end result=ok elapsed_ms=0
PASS   : RxAppletSquelchReconciliationTest::icomClientIntentSurvivesRecreation(manual-memory-while-off)
QINFO  : RxAppletSquelchReconciliationTest::icomClientIntentSurvivesRecreation(explicit-auto) aether.shutdown: phase=radio.backend.destroy event=begin
QINFO  : RxAppletSquelchReconciliationTest::icomClientIntentSurvivesRecreation(explicit-auto) aether.shutdown: phase=radio.backend.destroy event=end result=ok elapsed_ms=0
QINFO  : RxAppletSquelchReconciliationTest::icomClientIntentSurvivesRecreation(explicit-auto) aether.shutdown: phase=dax_iq.thread.join event=begin
QINFO  : RxAppletSquelchReconciliationTest::icomClientIntentSurvivesRecreation(explicit-auto) aether.shutdown: phase=dax_iq.thread.join event=end result=ok elapsed_ms=0
PASS   : RxAppletSquelchReconciliationTest::icomClientIntentSurvivesRecreation(explicit-auto)
QINFO  : RxAppletSquelchReconciliationTest::icomRadioTruthAndScopeWin() aether.shutdown: phase=radio.backend.destroy event=begin
QINFO  : RxAppletSquelchReconciliationTest::icomRadioTruthAndScopeWin() aether.shutdown: phase=radio.backend.destroy event=end result=ok elapsed_ms=0
QINFO  : RxAppletSquelchReconciliationTest::icomRadioTruthAndScopeWin() aether.shutdown: phase=dax_iq.thread.join event=begin
QINFO  : RxAppletSquelchReconciliationTest::icomRadioTruthAndScopeWin() aether.shutdown: phase=dax_iq.thread.join event=end result=ok elapsed_ms=0
PASS   : RxAppletSquelchReconciliationTest::icomRadioTruthAndScopeWin()
QWARN  : RxAppletSquelchReconciliationTest::icomFutureIntentIsPreserved() SquelchIntent: refusing to replace unreadable or newer settings
QINFO  : RxAppletSquelchReconciliationTest::icomFutureIntentIsPreserved() aether.shutdown: phase=radio.backend.destroy event=begin
QINFO  : RxAppletSquelchReconciliationTest::icomFutureIntentIsPreserved() aether.shutdown: phase=radio.backend.destroy event=end result=ok elapsed_ms=0
QINFO  : RxAppletSquelchReconciliationTest::icomFutureIntentIsPreserved() aether.shutdown: phase=dax_iq.thread.join event=begin
QINFO  : RxAppletSquelchReconciliationTest::icomFutureIntentIsPreserved() aether.shutdown: phase=dax_iq.thread.join event=end result=ok elapsed_ms=0
PASS   : RxAppletSquelchReconciliationTest::icomFutureIntentIsPreserved()
QDEBUG : RxAppletSquelchReconciliationTest::bandRestore(applet-connected-first) VfoWidget::setSlice: 0 old: -1
/opt/Qt/6.12.0/gcc_64/include/QtCore/qpointer.h:76:14: runtime error: downcast of address 0x5040006eb610 which does not point to an object of type 'QLabel'
0x5040006eb610: note: object is of type 'QWidget'
 00 00 00 00  f8 7c 7b 80 80 7f 00 00  80 b4 28 00 90 51 00 00  a8 7e 7b 80 80 7f 00 00  00 00 be be
              ^~~~~~~~~~~~~~~~~~~~~~~
              vptr for 'QWidget'
    #0 0x55bef31c6f30 in QPointer<QLabel>::data() const /opt/Qt/6.12.0/gcc_64/include/QtCore/qpointer.h:76
    #1 0x55bef31d8f56 in bool comparesEqual<QObject>(QPointer<QLabel> const&, QObject*) /opt/Qt/6.12.0/gcc_64/include/QtCore/qpointer.h:105
    #2 0x55bef31ce576 in bool operator==<QObject>(QPointer<QLabel> const&, QObject* const&) /opt/Qt/6.12.0/gcc_64/include/QtCore/qpointer.h:106
    #3 0x55bef312aca9 in AetherSDR::VfoWidget::eventFilter(QObject*, QEvent*) /__w/AetherSDR/AetherSDR/src/gui/VfoWidget.cpp:6943
    #4 0x7f807ee34b8d in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Core.so.6+0x18fb8d) (BuildId: 0ce45bd85f8b12e9b7dff15aa2187f0a390f3929)
    #5 0x7f80801c3939 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Widgets.so.6+0x196939) (BuildId: 1fa5ce600ad67964b4429bba2f9f025844c91149)
    #6 0x7f807ee34e1f in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Core.so.6+0x18fe1f) (BuildId: 0ce45bd85f8b12e9b7dff15aa2187f0a390f3929)
    #7 0x7f8080221f17 in QWidget::~QWidget() (/opt/Qt/6.12.0/gcc_64/lib/libQt6Widgets.so.6+0x1f4f17) (BuildId: 1fa5ce600ad67964b4429bba2f9f025844c91149)
    #8 0x7f808035911c in QLabel::~QLabel() (/opt/Qt/6.12.0/gcc_64/lib/libQt6Widgets.so.6+0x32c11c) (BuildId: 1fa5ce600ad67964b4429bba2f9f025844c91149)
    #9 0x55bef2f23358 in AetherSDR::VfoWidget::~VfoWidget() /__w/AetherSDR/AetherSDR/src/gui/VfoWidget.cpp:764
    #10 0x55bef2c332be in RxAppletSquelchReconciliationTest::bandRestore() /__w/AetherSDR/AetherSDR/tests/rx_applet_squelch_reconciliation_test.cpp:323
    #11 0x55bef2c0a7df in RxAppletSquelchReconciliationTest::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /__w/AetherSDR/AetherSDR/build/rx_applet_squelch_reconciliation_test_autogen/include/rx_applet_squelch_reconciliation_test.moc:146
    #12 0x7f807ee4a091 in QMetaMethodInvoker::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Core.so.6+0x1a5091) (BuildId: 0ce45bd85f8b12e9b7dff15aa2187f0a390f3929)
    #13 0x7f807ee4b2cf in QMetaMethod::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Core.so.6+0x1a62cf) (BuildId: 0ce45bd85f8b12e9b7dff15aa2187f0a390f3929)
    #14 0x7f80a12f8101  (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x2e101) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #15 0x7f80a12ffc72  (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x35c72) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #16 0x7f80a13009a0  (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x369a0) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #17 0x7f80a1301087  (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x37087) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #18 0x7f80a1301e49 in QTest::qRun() (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x37e49) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #19 0x7f80a130205f in QTest::qExec(QObject*, int, char**) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x3805f) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #20 0x55bef2c0986f in main /__w/AetherSDR/AetherSDR/tests/rx_applet_squelch_reconciliation_test.cpp:644
    #21 0x7f807e0c61c9  (/lib/x86_64-linux-gnu/libc.so.6+0x2a1c9) (BuildId: a4a7992a8e66555c8141ab2a08a8465ff6e0ea65)
    #22 0x7f807e0c628a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28a) (BuildId: a4a7992a8e66555c8141ab2a08a8465ff6e0ea65)
    #23 0x55bef2bd6044 in _start (/__w/AetherSDR/AetherSDR/build/rx_applet_squelch_reconciliation_test+0x1669044) (BuildId: d92925c97169e5256bdba23af7b4d4858b669017)

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /opt/Qt/6.12.0/gcc_64/include/QtCore/qpointer.h:76:14 in 

        Start 632: fm_filter_controls_test
632/656 Test #632: fm_filter_controls_test ....................................***Failed    0.76 sec
Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
AppSettings: created new settings store with defaults
********* Start testing of FmFilterControlsTest *********
Config: Using QtTest library 6.12.0, Qt 6.12.0 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 11.5.0 20240719 (Red Hat 11.5.0-5)), ubuntu 24.04
PASS   : FmFilterControlsTest::initTestCase()
QDEBUG : FmFilterControlsTest::captureActionUsesLiveCapabilityAndModelIntent() aether.protocol: RadioModel: claimed panadapter "0xe1000000"
QINFO  : FmFilterControlsTest::captureActionUsesLiveCapabilityAndModelIntent() aether.shutdown: phase=radio.backend.destroy event=begin
QINFO  : FmFilterControlsTest::captureActionUsesLiveCapabilityAndModelIntent() aether.shutdown: phase=radio.backend.destroy event=end result=ok elapsed_ms=0
QINFO  : FmFilterControlsTest::captureActionUsesLiveCapabilityAndModelIntent() aether.shutdown: phase=dax_iq.thread.join event=begin
QINFO  : FmFilterControlsTest::captureActionUsesLiveCapabilityAndModelIntent() aether.shutdown: phase=dax_iq.thread.join event=end result=ok elapsed_ms=0
PASS   : FmFilterControlsTest::captureActionUsesLiveCapabilityAndModelIntent()
QWARN  : FmFilterControlsTest::squelchUsesDeclaredModesAndAbsoluteAutoThreshold() aether.gui: ThemeManager: saved theme "Default Dark" is unavailable — falling back to Default Dark
QWARN  : FmFilterControlsTest::squelchUsesDeclaredModesAndAbsoluteAutoThreshold() aether.gui: ThemeManager: Default Dark also failed to load — UI will render with compiled-in defaults (rebuild resources?)
QDEBUG : FmFilterControlsTest::squelchUsesDeclaredModesAndAbsoluteAutoThreshold() VfoWidget::setSlice: 3 old: -1
/opt/Qt/6.12.0/gcc_64/include/QtCore/qpointer.h:76:14: runtime error: downcast of address 0x5040000ace90 which does not point to an object of type 'QLabel'
0x5040000ace90: note: object is of type 'QWidget'
 00 00 00 00  f8 7c fb 9b 3c 7f 00 00  80 48 08 00 90 51 00 00  a8 7e fb 9b 3c 7f 00 00  00 00 be be
              ^~~~~~~~~~~~~~~~~~~~~~~
              vptr for 'QWidget'
    #0 0x55ca845f04cc in QPointer<QLabel>::data() const /opt/Qt/6.12.0/gcc_64/include/QtCore/qpointer.h:76
    #1 0x55ca846023d4 in bool comparesEqual<QObject>(QPointer<QLabel> const&, QObject*) /opt/Qt/6.12.0/gcc_64/include/QtCore/qpointer.h:105
    #2 0x55ca845f7b12 in bool operator==<QObject>(QPointer<QLabel> const&, QObject* const&) /opt/Qt/6.12.0/gcc_64/include/QtCore/qpointer.h:106
    #3 0x55ca84554687 in AetherSDR::VfoWidget::eventFilter(QObject*, QEvent*) /__w/AetherSDR/AetherSDR/src/gui/VfoWidget.cpp:6943
    #4 0x7f3c9a63cb8d in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Core.so.6+0x18fb8d) (BuildId: 0ce45bd85f8b12e9b7dff15aa2187f0a390f3929)
    #5 0x7f3c9b9c3939 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Widgets.so.6+0x196939) (BuildId: 1fa5ce600ad67964b4429bba2f9f025844c91149)
    #6 0x7f3c9a63ce1f in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Core.so.6+0x18fe1f) (BuildId: 0ce45bd85f8b12e9b7dff15aa2187f0a390f3929)
    #7 0x7f3c9ba21f17 in QWidget::~QWidget() (/opt/Qt/6.12.0/gcc_64/lib/libQt6Widgets.so.6+0x1f4f17) (BuildId: 1fa5ce600ad67964b4429bba2f9f025844c91149)
    #8 0x7f3c9bb5911c in QLabel::~QLabel() (/opt/Qt/6.12.0/gcc_64/lib/libQt6Widgets.so.6+0x32c11c) (BuildId: 1fa5ce600ad67964b4429bba2f9f025844c91149)
    #9 0x55ca8434cd36 in AetherSDR::VfoWidget::~VfoWidget() /__w/AetherSDR/AetherSDR/src/gui/VfoWidget.cpp:764
    #10 0x55ca84064e62 in FmFilterControlsTest::squelchUsesDeclaredModesAndAbsoluteAutoThreshold() /__w/AetherSDR/AetherSDR/tests/fm_filter_controls_test.cpp:167
    #11 0x55ca84030b43 in FmFilterControlsTest::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /__w/AetherSDR/AetherSDR/build/fm_filter_controls_test_autogen/include/fm_filter_controls_test.moc:99
    #12 0x7f3c9a652091 in QMetaMethodInvoker::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Core.so.6+0x1a5091) (BuildId: 0ce45bd85f8b12e9b7dff15aa2187f0a390f3929)
    #13 0x7f3c9a6532cf in QMetaMethod::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Core.so.6+0x1a62cf) (BuildId: 0ce45bd85f8b12e9b7dff15aa2187f0a390f3929)
    #14 0x7f3cbcb07101  (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x2e101) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #15 0x7f3cbcb0ec72  (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x35c72) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #16 0x7f3cbcb0f9a0  (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x369a0) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #17 0x7f3cbcb10087  (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x37087) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #18 0x7f3cbcb10e49 in QTest::qRun() (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x37e49) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #19 0x7f3cbcb1105f in QTest::qExec(QObject*, int, char**) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x3805f) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #20 0x55ca840303d3 in main /__w/AetherSDR/AetherSDR/tests/fm_filter_controls_test.cpp:401
    #21 0x7f3c998d01c9  (/lib/x86_64-linux-gnu/libc.so.6+0x2a1c9) (BuildId: a4a7992a8e66555c8141ab2a08a8465ff6e0ea65)
    #22 0x7f3c998d028a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28a) (BuildId: a4a7992a8e66555c8141ab2a08a8465ff6e0ea65)
    #23 0x55ca83ffc024 in _start (/__w/AetherSDR/AetherSDR/build/fm_filter_controls_test+0x16d1024) (BuildId: 36a7bc4b87ecb49897d11871f63d155d1694d342)

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /opt/Qt/6.12.0/gcc_64/include/QtCore/qpointer.h:76:14 in 

        Start 633: vfo_dsp_launcher_width_test
633/656 Test #633: vfo_dsp_launcher_width_test ................................***Failed    0.64 sec
Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
AppSettings: created new settings store with defaults
********* Start testing of VfoDspLauncherWidthTest *********
Config: Using QtTest library 6.12.0, Qt 6.12.0 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 11.5.0 20240719 (Red Hat 11.5.0-5)), ubuntu 24.04
PASS   : VfoDspLauncherWidthTest::initTestCase()
QWARN  : VfoDspLauncherWidthTest::sameWidthInUsb() aether.gui: ThemeManager: saved theme "Default Dark" is unavailable — falling back to Default Dark
QWARN  : VfoDspLauncherWidthTest::sameWidthInUsb() aether.gui: ThemeManager: Default Dark also failed to load — UI will render with compiled-in defaults (rebuild resources?)
QDEBUG : VfoDspLauncherWidthTest::sameWidthInUsb() VfoWidget::setSlice: 0 old: -1
QWARN  : VfoDspLauncherWidthTest::sameWidthInUsb() This plugin does not support propagateSizeHints()
QWARN  : VfoDspLauncherWidthTest::sameWidthInUsb() This plugin does not support propagateSizeHints()
QWARN  : VfoDspLauncherWidthTest::sameWidthInUsb() This plugin does not support propagateSizeHints()
QWARN  : VfoDspLauncherWidthTest::sameWidthInUsb() This plugin does not support propagateSizeHints()
/opt/Qt/6.12.0/gcc_64/include/QtCore/qpointer.h:76:14: runtime error: downcast of address 0x5040000132d0 which does not point to an object of type 'QLabel'
0x5040000132d0: note: object is of type 'QWidget'
 00 00 00 00  f8 7c db 7f 3b 7f 00 00  80 8c 05 00 90 51 00 00  a8 7e db 7f 3b 7f 00 00  00 00 be be
              ^~~~~~~~~~~~~~~~~~~~~~~
              vptr for 'QWidget'
    #0 0x55ef32e160bc in QPointer<QLabel>::data() const /opt/Qt/6.12.0/gcc_64/include/QtCore/qpointer.h:76
    #1 0x55ef32e280e2 in bool comparesEqual<QObject>(QPointer<QLabel> const&, QObject*) /opt/Qt/6.12.0/gcc_64/include/QtCore/qpointer.h:105
    #2 0x55ef32e1d702 in bool operator==<QObject>(QPointer<QLabel> const&, QObject* const&) /opt/Qt/6.12.0/gcc_64/include/QtCore/qpointer.h:106
    #3 0x55ef32d79f67 in AetherSDR::VfoWidget::eventFilter(QObject*, QEvent*) /__w/AetherSDR/AetherSDR/src/gui/VfoWidget.cpp:6943
    #4 0x7f3b7e467b8d in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Core.so.6+0x18fb8d) (BuildId: 0ce45bd85f8b12e9b7dff15aa2187f0a390f3929)
    #5 0x7f3b7f7c3939 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Widgets.so.6+0x196939) (BuildId: 1fa5ce600ad67964b4429bba2f9f025844c91149)
    #6 0x7f3b7e467e1f in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Core.so.6+0x18fe1f) (BuildId: 0ce45bd85f8b12e9b7dff15aa2187f0a390f3929)
    #7 0x7f3b7f821f17 in QWidget::~QWidget() (/opt/Qt/6.12.0/gcc_64/lib/libQt6Widgets.so.6+0x1f4f17) (BuildId: 1fa5ce600ad67964b4429bba2f9f025844c91149)
    #8 0x7f3b7f95911c in QLabel::~QLabel() (/opt/Qt/6.12.0/gcc_64/lib/libQt6Widgets.so.6+0x32c11c) (BuildId: 1fa5ce600ad67964b4429bba2f9f025844c91149)
    #9 0x55ef32b72616 in AetherSDR::VfoWidget::~VfoWidget() /__w/AetherSDR/AetherSDR/src/gui/VfoWidget.cpp:764
    #10 0x55ef328aafa9 in VfoDspLauncherWidthTest::checkSameWidth(QString const&, bool) /__w/AetherSDR/AetherSDR/tests/vfo_dsp_launcher_width_test.cpp:96
    #11 0x55ef328abcb7 in VfoDspLauncherWidthTest::sameWidthInUsb() /__w/AetherSDR/AetherSDR/tests/vfo_dsp_launcher_width_test.cpp:100
    #12 0x55ef32898930 in VfoDspLauncherWidthTest::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /__w/AetherSDR/AetherSDR/build/vfo_dsp_launcher_width_test_autogen/include/vfo_dsp_launcher_width_test.moc:77
    #13 0x7f3b7e47d091 in QMetaMethodInvoker::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Core.so.6+0x1a5091) (BuildId: 0ce45bd85f8b12e9b7dff15aa2187f0a390f3929)
    #14 0x7f3b7e47e2cf in QMetaMethod::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Core.so.6+0x1a62cf) (BuildId: 0ce45bd85f8b12e9b7dff15aa2187f0a390f3929)
    #15 0x7f3ba0991101  (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x2e101) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #16 0x7f3ba0998c72  (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x35c72) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #17 0x7f3ba09999a0  (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x369a0) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #18 0x7f3ba099a087  (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x37087) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #19 0x7f3ba099ae49 in QTest::qRun() (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x37e49) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #20 0x7f3ba099b05f in QTest::qExec(QObject*, int, char**) (/opt/Qt/6.12.0/gcc_64/lib/libQt6Test.so.6+0x3805f) (BuildId: 203fad6511dec9d802283da1acd52092b1b8f51b)
    #21 0x55ef328982c5 in main /__w/AetherSDR/AetherSDR/tests/vfo_dsp_launcher_width_test.cpp:117
    #22 0x7f3b7d7441c9  (/lib/x86_64-linux-gnu/libc.so.6+0x2a1c9) (BuildId: a4a7992a8e66555c8141ab2a08a8465ff6e0ea65)
    #23 0x7f3b7d74428a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28a) (BuildId: a4a7992a8e66555c8141ab2a08a8465ff6e0ea65)
    #24 0x55ef32864d14 in _start (/__w/AetherSDR/AetherSDR/build/vfo_dsp_launcher_width_test+0x160dd14) (BuildId: 4c8973d81114fd3156c49bab7da11535a470e951)

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /opt/Qt/6.12.0/gcc_64/include/QtCore/qpointer.h:76:14 in 

Full sanitizer.log attached to the workflow run artifacts.

Activity

  1. aethersdr-agent commented on Oct 4, 2026

    @aethersdr-agent
    Contributor

    Thanks for filing this. This issue involves CI/CD workflows, build infrastructure, or release packaging — that is outside what I can help with, as I am restricted to source code changes in src/ and docs/.

    Jeremy will need to handle this one directly.

    — AetherClaude (automated agent for AetherSDR)


    🤖 aethersdr-agent · cost: $51.1378 · model: claude-opus-5

  2. aethersdr-agent commented on Oct 4, 2026

    @aethersdr-agent
    Contributor

    This looks similar to #6128 — is this the same issue, or something different? If it is the same, we can track it there. — AetherClaude (automated agent for AetherSDR)


    🤖 aethersdr-agent · cost: $1.7553 · model: claude-opus-5

  3. ten9876 commented on Oct 4, 2026

    @ten9876
    Collaborator

    Consolidated ASan + UBSan tracker

    This is now the only open ASan + UBSan issue. I've closed #5613, #6128, #6145 and #6147 into it. Run 37208806037 is the first in weeks where the lane built and ran the whole tree (656 tests). The earlier runs either died with No space left on device at link time, which #6136 and #6152 fixed, or ran on branches that predated fixes now on main.

    Standing findings: 6 tests, 2 real bugs, 2 timeouts

    1. offline_health_registry_test: stack-use-after-scope. The bug is in the test, and it fails every run since 10-03.
    Section 5 replaces the hl2 factory with a lambda that captures RecorderState rec by reference. rec lives on that block's stack, and the declaration is never restored. Section 6 then calls rebuildBackendForTest("hl2"), which builds a RecordingOfflineSource(&rec) pointing at the dead rec, and offlineHealthRows() → noteOfflineDemand() writes through it (tests/offline_health_registry_test.cpp:95, called from :311).
    Fix: either restore the real hl2 declaration at the end of section 5, or give rec static or process lifetime.

    2–4. rx_applet_squelch_reconciliation_test, vfo_dsp_launcher_width_test, fm_filter_controls_test: UBSan invalid downcast, one root cause in the shipped code.
    ~VfoWidget deletes m_collapsedFreqLabel (src/gui/VfoWidget.cpp:764). While that label's ~QWidget runs, an event still goes through VfoWidget::eventFilter. At :6943, obj == m_collapsedFreqLabel calls QPointer<QLabel>::data(), which static_casts an object that is now only a QWidget to QLabel*. This has been reported since #5613 (Qt 6.8.3, 09-12). fm_filter_controls_test is new to the list and fails with the same stack.
    Fix: call m_collapsedFreqLabel->removeEventFilter(this) before the delete, or test event->type() before comparing pointers.

    5. weather_radar_loading_test: Timeout at 30 s. This has recurred since 09-12. The log shows it making progress, so it looks like ASan slowdown rather than a hang. Needs a longer per-test timeout or a smaller test.

    6. rtl_spectrum_averaging_test: Timeout at 30 s, new. It printed nothing before the timeout, so this could be a hang rather than slowness. It probably arrived with #5924 (RTL M1) and needs a local ASan run to tell which.

    Gone (no action)

  4. on8st commented on Oct 4, 2026

    @on8st
    Contributor

    Finding 1, offline_health_registry_test, is ours: the test came in with #5642, and the dangling rec capture is our mistake. Your diagnosis matches the source: rec is declared inside the block at tests/offline_health_registry_test.cpp:197, captured by reference at :199, and the factory is still installed when :307 rebuilds hl2 after the block has closed.

    I am preparing the fix (keep rec alive for the whole of main). Read from source; not reproduced under ASan here.

    73, ON8ST

  5. on8st commented on Oct 4, 2026

    @on8st
    Contributor

    Finding 1 (offline_health_registry_test) is addressed by #6161. The other findings here are untouched by it.

    73, ON8ST

  6. ten9876 commented on Oct 5, 2026

    @ten9876
    Collaborator

    Every finding here is fixed on main (#6173), and the lane can now see leaks (#6176). The current run on main, 37280204924, has zero ASan, UBSan or LeakSanitizer reports. What remains (two sanitizer timeouts) is tracked in #6201, which is the current fingerprinted tracker the workflow will add future runs to.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions