[
https://issues.apache.org/jira/browse/JCLOUDS-1044?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Josef Cacek updated JCLOUDS-1044:
---------------------------------
Attachment: JClouds-NPE-NetworkSettings.Ports-container.json
Attaching full JSON to reproduce.
> NPE in Docker NetworkSettings.Ports - null value in the map
> -----------------------------------------------------------
>
> Key: JCLOUDS-1044
> URL: https://issues.apache.org/jira/browse/JCLOUDS-1044
> Project: jclouds
> Issue Type: Bug
> Components: jclouds-labs
> Affects Versions: 1.9.1, 2.0.0
> Environment: Docker version: 1.9.1
> Reporter: Josef Cacek
> Priority: Critical
> Labels: docker
> Attachments: JClouds-NPE-NetworkSettings.Ports-container.json
>
>
> Docker daemon sometime returns {{null}} value in "NetworkSettings.Ports" map
> when inspecting container. Then the JClouds docker provider throws NPE.
> Sample:
> {code}
> "NetworkSettings": {
> "Bridge": "",
> "EndpointID":
> "9cf886420f3fe26d2bd71b3145540d16aa18195a13bb754f1d69cb5a9a2148a7",
> "Gateway": "172.17.0.1",
> "GlobalIPv6Address": "",
> "GlobalIPv6PrefixLen": 0,
> "HairpinMode": false,
> "IPAddress": "172.17.0.2",
> "IPPrefixLen": 16,
> "IPv6Gateway": "",
> "LinkLocalIPv6Address": "",
> "LinkLocalIPv6PrefixLen": 0,
> "MacAddress": "02:42:ac:11:00:02",
> "Ports": {
> "8080/tcp": null
> },
> "SandboxID":
> "cfcd273103426e2d349a9d3a20e723002e3e29d66642f4f7f06f3d00f80ef06c",
> "SandboxKey": "/var/run/docker/netns/cfcd27310342",
> "SecondaryIPAddresses": null,
> "SecondaryIPv6Addresses": null
> },
> {code}
> And stacktrace:
> {code}
> 21:50:57.824 [main] ERROR org.jclouds.http.functions.ParseJson - Error
> parsing input: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was
> NULL at line 1 column 3791 path $.NetworkSettings.Ports.
> com.google.gson.JsonSyntaxException: java.lang.IllegalStateException:
> Expected BEGIN_ARRAY but was NULL at line 1 column 3791 path
> $.NetworkSettings.Ports.
> at
> org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:190)
> ~[jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$ParameterReader.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:272)
> ~[jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:184)
> ~[jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at com.google.gson.Gson.fromJson(Gson.java:810) ~[gson-2.3.1.jar:na]
> at com.google.gson.Gson.fromJson(Gson.java:775) ~[gson-2.3.1.jar:na]
> at com.google.gson.Gson.fromJson(Gson.java:724) ~[gson-2.3.1.jar:na]
> at org.jclouds.json.internal.GsonWrapper.fromJson(GsonWrapper.java:42)
> ~[jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:83)
> [jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:77)
> [jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:62)
> [jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:42)
> [jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:90)
> [jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
> [jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
> [jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117)
> [jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
> [guava-18.0.jar:na]
> at com.sun.proxy.$Proxy77.inspectContainer(Unknown Source) [na:na]
> at
> org.jclouds.docker.compute.strategy.DockerComputeServiceAdapter.listNodes(DockerComputeServiceAdapter.java:214)
> [docker-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.compute.strategy.impl.AdaptingComputeServiceStrategies.listDetailsOnNodesMatching(AdaptingComputeServiceStrategies.java:122)
> [jclouds-compute-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.compute.strategy.impl.AdaptingComputeServiceStrategies.listNodes(AdaptingComputeServiceStrategies.java:112)
> [jclouds-compute-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.getNextNames(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:192)
> [jclouds-compute-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.execute(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:121)
> [jclouds-compute-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:210)
> [jclouds-compute-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> <cut>
> Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was NULL
> at line 1 column 3791 path $.NetworkSettings.Ports.
> at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:350)
> ~[gson-2.3.1.jar:na]
> at
> org.jclouds.json.internal.NullFilteringTypeAdapterFactories$IterableTypeAdapter.readAndBuild(NullFilteringTypeAdapterFactories.java:88)
> ~[jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.json.internal.NullFilteringTypeAdapterFactories$IterableTypeAdapter.read(NullFilteringTypeAdapterFactories.java:82)
> ~[jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.json.internal.NullFilteringTypeAdapterFactories$IterableTypeAdapter.read(NullFilteringTypeAdapterFactories.java:61)
> ~[jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.json.internal.NullFilteringTypeAdapterFactories$MapTypeAdapter.read(NullFilteringTypeAdapterFactories.java:311)
> ~[jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.json.internal.NullFilteringTypeAdapterFactories$MapTypeAdapter.read(NullFilteringTypeAdapterFactories.java:281)
> ~[jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$ParameterReader.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:272)
> ~[jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> at
> org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:184)
> ~[jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
> ... 52 common frames omitted
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)