Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.0-beta7
-
None
-
any
Description
The problem appears in Log4j 2.0-beta7 and in revision 1498026. I
attached a one-line patch (patch.diff) that fixes it.
In method "StyleConverterTest.setupClass", the loop over
"config.getAppenders().entrySet()" should break immediately after
"app" is set the first time to "entry.getValue()". I don't think
"app" is set a second time (and therefore all future iterations are
not useful), but if it is, then there is a problem in the
implementation: when the loop exits, "app" would be set to the last
value of "entry.getValue()" that has "entry.getKey()" equal to "List";
however "config.getAppenders().entrySet()" is a Set and therefore the
order of iterating it is non-deterministic, i.e., the implementation
should not rely on what the "last value" is.
Methods "ThrowableTest.setupClass" and
"ExtendedThrowableTest.setupClass" have similar problems. I attached
similar patches (patch2.diff and patch3.diff respectively) for them.