IOC crash due to unexpected diagnostic CPU response
The piezodriver IOC in MBL-050 system 4 crashes at start-up.
06/03/2024 13:06:38 terminate called after throwing an instance of 'std::out_of_range'
06/03/2024 13:06:38 what(): basic_string::substr
The backtrace shows that the exception is thrown by DiagnosticProcessor.cpp#L186
There's something wrong with the communication with the diagnostic processor on this board. diag_talk()
appears to be returning junk data.
Anyway, we should check the return value of string::find()
before using it as an index.
Edited by Andreas Persson