Regression: device server started with empty TCP host endpoint crashes in 9.4.1
I tried the PyTango tests with cppTango 9.4.1. Most of them pass, but those that depend on running TangoTest fail, as the TangoTest process is crashing.
For the PyTango tests we run the standard TangoTest device (version 3.6), with this endpoint -ORBendPoint giop:tcp::0
.
Example from miniconda (Linux) container:
(3.10) root@49c04a1385b8:/# TangoTest foo -ORBendPoint giop:tcp::0 -nodb -dlist sys/tg_test/17
Tango exception
Severity = ERROR
Error reason = API_InvalidArgs
Desc : Could not parse "giop:tcp::0" as CORBA URI
Origin : Tango::detail::parse_hostname_from_CORBA_URI(const string&)::<lambda(bool)> at (/home/conda/feedstock_root/build_artifacts/cpptango_1675413853047/work/cppapi/common/net.cpp:171)
Received a CORBA_Exception
Exiting
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault
It doesn't crash with something like -ORBendPoint giop:tcp:127.0.0.1:0
or -ORBendPoint giop:tcp:0.0.0.0:0
.
I try recompiling the TangoTest code locally with cppTango 9.4.1, instead of using the version from conda-forge (which was compiled with cppTango 9.4.0). The recompiled version has the same symptom (this on MacOS, instead of Linux).
Steps to recreate
docker run --rm -ti condaforge/mambaforge:4.14.0-0 bash
In container:
mamba create -n tango --yes cpptango=9.4.1 tango-test=3.6
conda activate tango
TangoTest foo -ORBendPoint giop:tcp::0 -nodb -dlist sys/tg_test/17