Running the active-profiles goal in a project where parents introduce profiles, any sub-modules of these parents will report a number of duplicates of these profiles that grows each time the goal is invoked.
This is caused by the plugin (recursively) retrieving profiles from subsequent parents, and adding them to the project on which the goal is invoked. The plugin means to add the profiles that it finds so that it can give an aggregated listing of profiles over the full inheritance tree of the project on which the goal is invoked (which is okay), it is mistaken in actually adding them to the project on which the goal is invoked. It changes the project on which the goal is invoked, rather than merely observing it. Because the plugin keeps on adding the same profiles from parent projects, every time it is invoked, to the same project on which the goal is invoked, the aggregated listing keeps on growing and growing during execution.
Rated this Critical since on large projects this renders the plugin useless; the output will become booming; well, you know how that goes with recursion.
Fix is attached as unified diff.