redhawk icon indicating copy to clipboard operation
redhawk copied to clipboard

Core framework should skip non-installed implementations

Open btgoodwin opened this issue 4 years ago • 0 comments

The core framework currently evaluates the implementations listed in the SPD in order and on the first viable target device, will attempt to load the binary without regard to whether or not the binary actually exists. This results in errors at runtime about being unable to load implementations even if there are other viable implementations available.

One example of this is rh.HardLimit. If for some reason the executable device in the system's processor_name doesn't match either x86 or x86_64, the core framework moves on to the Java implementation (as it is next in the SPD). With all criteria met, the core framework then attempts to load the entrypoint for the Java implementation and fails right there, without then moving on to the Python implementation, or some other implementation the user has added to the SPD.

I propose that one of the first things the core framework should do is check for and then skip any implementation whose entrypoint does not exist on disk. This would allow for the framework to attempt all possible implementations without the user having to delete those implementation references from the SPD as a work-around.

btgoodwin avatar Nov 19 '20 19:11 btgoodwin