The agent may be loaded many times but each instance of the agent uses the shared global data and there is no possibility to avoid usage of global data. So, in case of multiple instantiation the initialization routines must not cause any memory leak and the termination routines must not cause double free errors.
Originally reported as jfilak/abrt-java-connector#31