Crash when executing a command from a thread on an in-process device
Using Tango 9.2.2: Crash is a null-pointer access in Tango's blackbox.cpp: omni_thread::value_t *ip = omni_thread::self()->get_value(key);
self() returns nullptr in this case.
To reproduce, let any command do something like this:
std::thread thread([this]() {
std::string target = this->device_name;
auto proxy = std::make_shared<Tango::DeviceProxy>(target);
proxy->command_inout("status");
});
thread.join();
Reported by: schneidemwe
Original Ticket: tango-cs/bugs/823