Repository navigation
[sanitizer] ASan + UBSan weekly run failure (fp 55e8f7b54c82) #6154
Copy link
Copy link
Closed
Labels
asan-ubsanbugSomething isn't workingSomething isn't workingpriority: highHigh priorityHigh prioritysanitizer
Description
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.
Metadata
Metadata
Assignees
Labels
asan-ubsanbugSomething isn't workingSomething isn't workingpriority: highHigh priorityHigh prioritysanitizer
Activity
aethersdr-agent commentedon Oct 4, 2026
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/anddocs/.Jeremy will need to handle this one directly.
— AetherClaude (automated agent for AetherSDR)
🤖 aethersdr-agent · cost: $51.1378 · model: claude-opus-5
aethersdr-agent commentedon Oct 4, 2026
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
ten9876 commentedon Oct 4, 2026
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 deviceat link time, which #6136 and #6152 fixed, or ran on branches that predated fixes now onmain.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
hl2factory with a lambda that capturesRecorderState recby reference.reclives on that block's stack, and the declaration is never restored. Section 6 then callsrebuildBackendForTest("hl2"), which builds aRecordingOfflineSource(&rec)pointing at the deadrec, andofflineHealthRows()→noteOfflineDemand()writes through it (tests/offline_health_registry_test.cpp:95, called from:311).Fix: either restore the real
hl2declaration at the end of section 5, or giverecstatic 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.~VfoWidgetdeletesm_collapsedFreqLabel(src/gui/VfoWidget.cpp:764). While that label's~QWidgetruns, an event still goes throughVfoWidget::eventFilter. At:6943,obj == m_collapsedFreqLabelcallsQPointer<QLabel>::data(), whichstatic_casts an object that is now only aQWidgettoQLabel*. This has been reported since #5613 (Qt 6.8.3, 09-12).fm_filter_controls_testis new to the list and fails with the same stack.Fix: call
m_collapsedFreqLabel->removeEventFilter(this)before the delete, or testevent->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)
amp_applet_test,pgxl_panel_test([sanitizer] ASan + UBSan weekly run failure (fp f902fcdf0a42) #6145): the fix(pgxl): fit the docked panel's controls and readings. Principle XI. #6036 regression, fixed onmainby fix(amp): size the rail's fan pull-down to its widest caption. Principle XI. #6133.hl2_backend_seam_test([sanitizer] ASan + UBSan weekly run failure (fp 6ba7b0225dff) #6128): passes in 37208806037.on8st commentedon Oct 4, 2026
Finding 1,
offline_health_registry_test, is ours: the test came in with #5642, and the danglingreccapture is our mistake. Your diagnosis matches the source:recis declared inside the block attests/offline_health_registry_test.cpp:197, captured by reference at:199, and the factory is still installed when:307rebuildshl2after the block has closed.I am preparing the fix (keep
recalive for the whole ofmain). Read from source; not reproduced under ASan here.73, ON8ST
on8st commentedon Oct 4, 2026
Finding 1 (
offline_health_registry_test) is addressed by #6161. The other findings here are untouched by it.73, ON8ST
fix(radio): break the self-owning step chain in disconnectClientHandl…
fix(wdsp): close the PureSignal correction thread's semaphores (patch…
fix(test): don't leak the synthetic focus-out event. Principle VIII.
fix(gui): check the event type before the collapsed-label pointer in …
docs(wdsp): patch 18 does not make destroy_calcc's timeout path safe.…
fix(sanitizers): clear every ASan/UBSan/TSan report on the full-tree …
ci(sanitizers): let a leak fail its test in the ASan lane. Principle …
ten9876 commentedon Oct 5, 2026
Every finding here is fixed on
main(#6173), and the lane can now see leaks (#6176). The current run onmain, 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.