(core): proxy does not handle connection exception
Summary
::fwServices::registry::Proxy
does not handle the exception raised by the signal/slot connections.
- the proxy register the slot in a map even if the connection is not possible.
- if one of the connection with a incomming signal or slot is not possible with an existing slot or signal, it may be connected to the others.
- using XML configuration, some services could not be started because the exception will be catch upper.
The application will be very unstable and may crash at the end (or earlier).
Steps to reproduce
Add a wrong connection in the configuration of an application/activity (for example a signal without parameter to a slot with a parameter). You will see a warning log like:
[3][00:00:10.790451][warning] Dev/src/fw4spl/SrcLib/core/fwCom/include/fwCom/Signal.hxx:185: Exception: <::fwCom::exception::BadSlot>: Incompatible slot
What is the current bug behavior?
The connection exception are not handled. And when a connection is not correct the application is unstable.
What is the expected correct behavior?
The exception are properly handled, at least the bad connection are checked in the AppConfigManager with an assert and with a better log (to quickly find the wrong connection).
Possible fixes
- Add assert and log in AppConfigManager.
- Refactor
Proxy
to handle the exception.