Skip to content

v1.1.7

Latest

Choose a tag to compare

@varenius varenius released this 29 May 20:07

Two reliability fixes surfaced from log forensics: recurring telescope-tracker panics after shutdown, and /stop requests that took multiple seconds because spectrum integration ran on tokio's async workers. Rust source changed, so a restart is required.

Reliability

  • Telescope tracker no longer panics after shutdown. Four entry points (set_target, stop, restart, info) asserted that the background task hadn't been told to quit. A route handler racing teardown tripped the assert and panicked a tokio worker (seen in /var/log/syslog.3.gz on 2026-05-08). They now return TelescopeNotConnected — handlers see a clean error during teardown instead of a thread panic. (ed54cd5)

  • Spectrum and IQ integration moved off the async runtime. measure() and measure_iq() were declared async but did pure FFI/CPU work — USRP receive_simple, FFT, RFI clipping — for ~1 s per iteration each, occupying tokio worker threads and spreading tail latency across unrelated requests. Both now run on the blocking thread pool via spawn_blocking. Unrelated requests stay responsive while an integration is in progress. (30f3b9e)

  • Faster /stop in FreqSwitched mode. Stopping an integration previously had to wait out the current ~1 s switched-mode block because the only cancellation check was at the top of the outer measurement loop. measure_switched now checks the cancellation token between the sig and ref halves, so a stop fired mid-block bails after ~0.5 s. Raw mode is unchanged. (30f3b9e)