Skip to content

LeCroy SDA6000A over VICP: crash in PullEdgeTrigger() #1065

@INGBP

Description

@INGBP

Environment
ngscopeclient version: v0.1.1-176-g5e1daf60 (Ubuntu 24.04 standalone artifact)
OS: KDE neon (Ubuntu 24.04 base)
Connection: LeCroy SDA6000A over VICP (LAN)
Scope IDN (via NI‑VISA + VICP passport on Windows):
LECROY,SDA6000A,LCRY0407N01055,7.8.0

Steps to reproduce
Start ngscopeclient from the Ubuntu 24.04 Linux‑standalone build (using bundled libscopehal/libscopeprotocols).
Add an instrument:
Driver: lecroy
Transport: vicp
Address: 192.168.16.235:1861
Press Connect.
Wait for the UI to update (the scope beeps when ngscopeclient connects).

Observed behavior
Console output:
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
Warning: Model "SDA6000A" is unknown, available sample rates/memory depths may not be properly detected
terminate called after throwing an instance of 'std::invalid_argument'
what(): stof
Aborted (core dumped)

The ngscopeclient GUI closes immediately, no error dialog is shown.
The scope beeps on connect, so the VICP connection itself is alive.

Backtrace (gdb)
ngscopeclient started with:
cd ~/temp/ngscopeclient-ubuntu-24.04-Linux-standalone
LD_LIBRARY_PATH="./lib/scopehal:./lib/scopeprotocols"
gdb --args ./src/ngscopeclient/ngscopeclient

Backtrace after crash:

#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=) at ./nptl/pthread_kill.c:44
ngscopeclient/scopehal-apps#1 __pthread_kill_internal (signo=6, threadid=) at ./nptl/pthread_kill.c:78
ngscopeclient/scopehal-apps#2 __GI___pthread_kill (threadid=, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
ngscopeclient/scopehal-apps#3 0x00007ffff4e4527e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
ngscopeclient/scopehal-apps#4 0x00007ffff4e288ff in __GI_abort () at ./stdlib/abort.c:79
ngscopeclient/scopehal-apps#5 0x00007ffff52a5ff5 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
ngscopeclient/scopehal-apps#6 0x00007ffff52bb0da in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
ngscopeclient/scopehal-apps#7 0x00007ffff52a5a55 in std::terminate() () from /lib/x86_64-linux-gnu/libstdc++.so.6
ngscopeclient/scopehal-apps#8 0x00007ffff52bb391 in __cxa_throw () from /lib/x86_64-linux-gnu/libstdc++.so.6
ngscopeclient/scopehal-apps#9 0x00007ffff52a9277 in std::__throw_invalid_argument(char const*) () from /lib/x86_64-linux-gnu/libstdc++.so.6
ngscopeclient/scopehal-apps#10 0x00007ffff676f19d in float __gnu_cxx::__stoa<float, float, char>(float ()(char const, char**), char const*, char const*, unsigned long*) [clone .constprop.0] ()
from ./lib/scopehal/libscopehal.so
ngscopeclient/scopehal-apps#11 0x00007ffff6782bf7 in LeCroyOscilloscope::PullEdgeTrigger() () from ./lib/scopehal/libscopehal.so
ngscopeclient/scopehal-apps#12 0x00007ffff67a0138 in LeCroyOscilloscope::PullTrigger() () from ./lib/scopehal/libscopehal.so
ngscopeclient/scopehal-apps#13 0x00005555559960de in WaveformGroup::RenderTriggerPositionArrows(ImVec2, float) ()
ngscopeclient/scopehal-apps#14 0x0000555555997204 in WaveformGroup::RenderTimeline(float, float) ()
ngscopeclient/scopehal-apps#15 0x00005555559979c7 in WaveformGroup::Render() ()
ngscopeclient/scopehal-apps#16 0x000055555580343e in MainWindow::RenderUI() ()
ngscopeclient/scopehal-apps#17 0x000055555594fd35 in VulkanWindow::Render() ()
ngscopeclient/scopehal-apps#18 0x00005555555f731e in main ()

Additional info
Network:
ping 192.168.16.235 works.
nc -vz 192.168.16.235 1861 → connection succeeded (port open).
When connecting from ngscopeclient, the SDA6000A beeps.
When trying to send *IDN? via plain nc to port 1861 from Linux, no response is observed (VICP header expected, works fine via NI‑VISA + VICP Passport on Windows).

It looks like LeCroyOscilloscope::PullEdgeTrigger() attempts to parse a non‑numeric string (e.g. part of the trigger configuration) with std::stof, causing std::invalid_argument and terminating the process.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdriverHardware driverslecroyTeledyne LeCroy specific

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions