It's noticed that whenever running jSnapLoader's NativeBinaryLoader with an enabled default retry criteria, two possible events could take place:
- A Finite-machine that terminates with extraction and loading of the native binary, with the predicate that the Jar and library should exist and are not corrupted.
- A Finite-machine that stalls with recursive calls to the loading machine leading to
StackOverFlow exceptions and potential memory leaks could take place at this stage.
The proposed fix:
- Control the number of the recursive machines via an atomic integer.
- Provide the appropriate conditional predicates to test the filesystem archive before starting the extraction and loading automata.