You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are seeing an occasional exception when calling DefaultDockerClientConfig.createDefaultConfigBuilder():
java.util.ConcurrentModificationException: (No message provided)
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:52)
at com.github.dockerjava.core.DefaultDockerClientConfig.replaceProperties(DefaultDockerClientConfig.java:133)
at com.github.dockerjava.core.DefaultDockerClientConfig.replaceProperties(DefaultDockerClientConfig.java:128)
at com.github.dockerjava.core.DefaultDockerClientConfig.loadIncludedDockerProperties(DefaultDockerClientConfig.java:121)
at com.github.dockerjava.core.DefaultDockerClientConfig.createDefaultConfigBuilder(DefaultDockerClientConfig.java:217)
at com.github.dockerjava.core.DefaultDockerClientConfig.createDefaultConfigBuilder(DefaultDockerClientConfig.java:210)
I think this is an inherent problem in how the code works. It is replacing values for a Properties() instance as it is iterating over it with an "enhanced for" loop using an iterator created via the property's keySet() method.
That causes a problem:
If the map is modified while an iteration over the set is in progress (except through the iterator's own remove operation), the results of the iteration are undefined.
For each KEY in the keySet, we call properties.setProperty with the KEY and the matching string ${KEYVALUE} for the value given by a replacements Properties instance. That is to say, we are replacing each property that has an entry in the replacements.
Here is where the Hashtable is being modified while it is being iterated on (and not using the remove method) in this code:
The text was updated successfully, but these errors were encountered:
We are seeing an occasional exception when calling
DefaultDockerClientConfig.createDefaultConfigBuilder()
:I think this is an inherent problem in how the code works. It is replacing values for a
Properties()
instance as it is iterating over it with an "enhanced for" loop using an iterator created via the property'skeySet()
method.That causes a problem:
For each KEY in the keySet, we call properties.setProperty with the KEY and the matching string ${KEYVALUE} for the value given by a replacements Properties instance. That is to say, we are replacing each property that has an entry in the replacements.
Here is where the Hashtable is being modified while it is being iterated on (and not using the remove method) in this code:
The text was updated successfully, but these errors were encountered: