You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2017/04/14 22:34:42 UTC
[jira] [Commented] (MSHARED-417) Infinite loop when loading
self-referencing properties
[ https://issues.apache.org/jira/browse/MSHARED-417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15969632#comment-15969632 ]
Hudson commented on MSHARED-417:
--------------------------------
SUCCESS: Integrated in Jenkins build maven-shared #3721 (See [https://builds.apache.org/job/maven-shared/3721/])
[MSHARED-417] Infinite loop when loading self-referencing properties
Submitted-by: Gabriel Belingueres <be...@gmail.com>
This closes #17 (michaelo: [http://svn.apache.org/viewvc/?view=rev&rev=1791421])
* (edit) maven-filtering/src/main/java/org/apache/maven/shared/filtering/BaseFilter.java
* (edit) maven-filtering/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java
* (edit) maven-filtering/src/test/java/org/apache/maven/shared/filtering/PropertyUtilsTest.java
> Infinite loop when loading self-referencing properties
> ------------------------------------------------------
>
> Key: MSHARED-417
> URL: https://issues.apache.org/jira/browse/MSHARED-417
> Project: Maven Shared Components
> Issue Type: Bug
> Components: maven-filtering
> Affects Versions: maven-filtering-1.3
> Environment: Maven 3.2.5. Maven-filtering-1.3.
> Reporter: Paul Milliken
> Assignee: Michael Osipov
> Fix For: maven-filtering-3.1.2
>
> Attachments: MSHARED-417.zip
>
>
> I've recently encountered a situation in which maven-resources-plugin would hang indefinitely when using resource filtering. I've managed to track it down to the loadPropertyFile and getPropertyValue methods in PropertyUtils.
> getPropertyValue appears to have some protection against a property referring to itself. So, the following properties file loads fine:
> {code}
> test=${test}
> test2=${test2}
> {code}
> With the value of the "test" property ending up as "$\{test\}". However, if you load the following properties file:
> {code}
> test=${test2}
> test2=${test2}
> {code}
> then getPropertyValue seems to get stuck in a loop attempting to resolve the property.
> In our case, this was encountered as a result of a misconfiguration (our filters.properties is being generated based on a number of sources, and something was configured incorrectly). Causing the Maven process to hang indefinitely (while using 100% of a CPU core) isn't ideal behaviour.
> I have reproduced this in isolation by directly invoking {{PropertyUtils.loadPropertyFile(File, null)}} with the the above data as the input file.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)