maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gabriel Belingueres (JIRA)" <>
Subject [jira] [Updated] (MSHARED-417) Infinite loop when loading self-referencing properties
Date Sat, 06 Aug 2016 03:33:20 GMT


Gabriel Belingueres updated MSHARED-417:
    Attachment: MSHARED-417.patch

I've attached a patch that warns that a cycle has been found. Tested it with current trunk
version of maven-assembly-plugin (3.0.0-SNAPSHOT).
Please test it.


> Infinite loop when loading self-referencing properties
> ------------------------------------------------------
>                 Key: MSHARED-417
>                 URL:
>             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
>         Attachments: MSHARED-417.patch,
> 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
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
> 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

View raw message