Thanks Thomas and Reynald.
I did not provide more information since the question was just about the design pattern of a tango device constructor and init_device.
Reynald confirmed that the init_device usage in the constructor is a normal design pattern.
But perhaps init_device is doing things which cannot be done yet during construction?
tango/include/lima/tango/control.inl · develop · LimaGroup / Lima2 · GitLab
tango/include/lima/tango/receiver.inl · develop · LimaGroup / Lima2 · GitLab
We are digging into core dumps to understand the problem. If it is related to Tango I’ll ask more details questions with better traces.
Segfault on `init_device` (#339) · Issues · LimaGroup / Lima2 · GitLab
FYI libucs is on the top of the trace because we launch the servers with MPI
export TANGO_HOST=…
mpiexec -n 1 lima2_tango simulator_ctl : -n 1 lima2_tango simulator_rcv1 : -n 1 lima2_tango
tango/src/main.cpp · develop · LimaGroup / Lima2 · GitLab
So perhaps you are correct Thomas and the real error does not come from init_device but from MPI.