Page MenuHomePhabricator

expose sub-commands causes DNS issues
Closed, ResolvedPublicBUG REPORT

Assigned To
Authored By
Ollie.Shotton_WMDE
Feb 27 2025, 4:45 PM
Referenced Files
F58512990: Screenshot_20250227_164209.png
Feb 27 2025, 4:45 PM
F58512920: Screenshot_20250227_163221.png
Feb 27 2025, 4:45 PM
F58512895: Screenshot_20250227_162219.png
Feb 27 2025, 4:45 PM
F58512891: Screenshot_20250227_162110.png
Feb 27 2025, 4:45 PM
F58512888: Screenshot_20250227_162011.png
Feb 27 2025, 4:45 PM
F58512878: Screenshot_20250227_161154.png
Feb 27 2025, 4:45 PM
F58512875: Screenshot_20250227_161340.png
Feb 27 2025, 4:45 PM
F58512872: Screenshot_20250227_161313.png
Feb 27 2025, 4:45 PM

Description

Steps to replicate the issue (include links if applicable):

  • Show that DNS works as expected
    • mw dev mw exec ping default.mediawiki.mwdd.localhost
      Screenshot_20250227_161313.png (182×1 px, 68 KB)
    • mw dev mw exec ping default.mediawiki.mwdd
      Screenshot_20250227_161340.png (182×1 px, 67 KB)
    • mw dev mw fresh npm run api-testing:e2e-search from the Wikibase/repo/rest-api directory
      Screenshot_20250227_161154.png (400×1 px, 66 KB)
  • Run an expose sub-command such as mw dev mysql expose -e 3306 &
  • Show that DNS doesn't work
    • mw dev mw exec ping default.mediawiki.mwdd.localhost
      Screenshot_20250227_162011.png (55×1 px, 27 KB)
    • mw dev mw exec ping default.mediawiki.mwdd
      Screenshot_20250227_162110.png (55×1 px, 26 KB)
    • mw dev mw fresh npm run api-testing:e2e-search from the Wikibase/repo/rest-api directory
      Screenshot_20250227_162219.png (506×1 px, 82 KB)
  • Stopping the socat container doesn't fix the issue
    Screenshot_20250227_163221.png (219×1 px, 92 KB)
  • Force recreating the containers fixes the issue
    Screenshot_20250227_164209.png (503×1 px, 130 KB)

Software version:

$ mw version
Version Information  Value                                                     
BuildDate            2025-01-26T00:01:49Z                                      
Version              0.26.1                                                    
Releases             https://gitlab.wikimedia.org/repos/releng/cli/-/releases 

Details

Related Changes in GitLab:
TitleReferenceAuthorSource BranchDest Branch
Added new exposure mode to some servicesrepos/releng/cli!603addshoreT387494-exposing-portsmain
Customize query in GitLab

Event Timeline

Thanks for the detailed breakdown and reproductive steps!

The TLDR here is that the dns server shits its pants

1dps-1 | 19:04:52.288 t= Thread-23 WAR 282 er.server.dns.RequestHandlerDefault m=solve0:81 {} status=solverFailed, currentSolverTime=2, totalTime=2, solver=SolverDocker, eClass=RuntimeException, msg=com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `com.github.dockerjava.api.model.Links`, problem: Error parsing Link 'f4edb2c9f62a76d9e1558382ff830c18c6e7dc3b02ec791c95065b949e382ce7'
2dps-1 | at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: com.github.dockerjava.api.command.InspectContainerResponse["NetworkSettings"]->com.github.dockerjava.api.model.NetworkSettings["Networks"]->java.util.LinkedHashMap["mwcli-mwdd-default_dps"]->com.github.dockerjava.api.model.ContainerNetwork["Links"]): java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `com.github.dockerjava.api.model.Links`, problem: Error parsing Link 'f4edb2c9f62a76d9e1558382ff830c18c6e7dc3b02ec791c95065b949e382ce7'
3dps-1 | at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: com.github.dockerjava.api.command.InspectContainerResponse["NetworkSettings"]->com.github.dockerjava.api.model.NetworkSettings["Networks"]->java.util.LinkedHashMap["mwcli-mwdd-default_dps"]->com.github.dockerjava.api.model.ContainerNetwork["Links"])
4dps-1 | at com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:77)
5dps-1 | at com.github.dockerjava.core.exec.InspectContainerCmdExec.execute(InspectContainerCmdExec.java:31)
6dps-1 | at com.github.dockerjava.core.exec.InspectContainerCmdExec.execute(InspectContainerCmdExec.java:13)
7dps-1 | at com.github.dockerjava.core.exec.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:21)
8dps-1 | at com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:35)
9dps-1 | at com.github.dockerjava.core.command.InspectContainerCmdImpl.exec(InspectContainerCmdImpl.java:52)
10dps-1 | at com.mageddo.dnsproxyserver.docker.DockerDAODefault.inspect(DockerDAODefault.java:62)
11dps-1 | at com.mageddo.dnsproxyserver.docker.ContainerSolvingService.lambda$findMatchingContainers$4(ContainerSolvingService.java:138)
12dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
13dps-1 | at java.base@19.0.2/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
14dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
15dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
16dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
17dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
18dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
19dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
20dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
21dps-1 | at com.mageddo.dnsproxyserver.docker.ContainerSolvingService.findMatchingContainers(ContainerSolvingService.java:140)
22dps-1 | at com.mageddo.dnsproxyserver.docker.ContainerSolvingService.findBestHostIP(ContainerSolvingService.java:44)
23dps-1 | at com.mageddo.dnsproxyserver.server.dns.solver.SolverDocker.handle(SolverDocker.java:32)
24dps-1 | at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.solve0(RequestHandlerDefault.java:67)
25dps-1 | at com.mageddo.dnsproxyserver.server.dns.solver.SolversCache.lambda$handle$0(SolversCache.java:28)
26dps-1 | at com.mageddo.commons.caching.LruTTLCache.computeIfAbsent0(LruTTLCache.java:76)
27dps-1 | at com.mageddo.dnsproxyserver.server.dns.solver.SolversCache.handle(SolversCache.java:26)
28dps-1 | at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.solve(RequestHandlerDefault.java:46)
29dps-1 | at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.handle(RequestHandlerDefault.java:31)
30dps-1 | at com.mageddo.dnsproxyserver.server.dns.UDPServer.handle(UDPServer.java:52)
31dps-1 | at com.mageddo.dnsproxyserver.server.dns.UDPServer.lambda$start0$0(UDPServer.java:40)
32dps-1 | at java.base@19.0.2/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
33dps-1 | at java.base@19.0.2/java.util.concurrent.FutureTask.run(FutureTask.java:317)
34dps-1 | at java.base@19.0.2/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
35dps-1 | at java.base@19.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
36dps-1 | at java.base@19.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
37dps-1 | at java.base@19.0.2/java.lang.Thread.run(Thread.java:1589)
38dps-1 | at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:775)
39dps-1 | at org.graalvm.nativeimage.builder/com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:203)
40dps-1 | Caused by: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `com.github.dockerjava.api.model.Links`, problem: Error parsing Link 'f4edb2c9f62a76d9e1558382ff830c18c6e7dc3b02ec791c95065b949e382ce7'
41dps-1 | at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: com.github.dockerjava.api.command.InspectContainerResponse["NetworkSettings"]->com.github.dockerjava.api.model.NetworkSettings["Networks"]->java.util.LinkedHashMap["mwcli-mwdd-default_dps"]->com.github.dockerjava.api.model.ContainerNetwork["Links"])
42dps-1 | at com.fasterxml.jackson.databind.DeserializationContext.instantiationException(DeserializationContext.java:2052)
43dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.wrapAsJsonMappingException(StdValueInstantiator.java:587)
44dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.rewrapCtorProblem(StdValueInstantiator.java:610)
45dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator._createUsingDelegate(StdValueInstantiator.java:647)
46dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createUsingDelegate(StdValueInstantiator.java:306)
47dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createUsingArrayDelegate(StdValueInstantiator.java:315)
48dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeFromArray(BeanDeserializer.java:608)
49dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:211)
50dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:187)
51dps-1 | at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138)
52dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:314)
53dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
54dps-1 | at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringKeyMap(MapDeserializer.java:623)
55dps-1 | at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:449)
56dps-1 | at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:32)
57dps-1 | at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138)
58dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:314)
59dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
60dps-1 | at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138)
61dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:314)
62dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
63dps-1 | at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323)
64dps-1 | at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:4706)
65dps-1 | at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2879)
66dps-1 | at com.fasterxml.jackson.databind.ObjectMapper.treeToValue(ObjectMapper.java:3343)
67dps-1 | at com.github.dockerjava.core.DockerObjectDeserializer.deserialize(DockerClientConfig.java:132)
68dps-1 | at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323)
69dps-1 | at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4730)
70dps-1 | at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3722)
71dps-1 | at com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:75)
72dps-1 | ... 35 more
73dps-1 | Caused by: java.lang.IllegalArgumentException: Error parsing Link 'f4edb2c9f62a76d9e1558382ff830c18c6e7dc3b02ec791c95065b949e382ce7'
74dps-1 | at com.github.dockerjava.api.model.Link.parse(Link.java:72)
75dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
76dps-1 | at java.base@19.0.2/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1006)
77dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
78dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
79dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
80dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
81dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
82dps-1 | at com.github.dockerjava.api.model.Links.fromPrimitive(Links.java:30)
83dps-1 | at java.base@19.0.2/java.lang.reflect.Method.invoke(Method.java:578)
84dps-1 | at com.fasterxml.jackson.databind.introspect.AnnotatedMethod.call1(AnnotatedMethod.java:109)
85dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator._createUsingDelegate(StdValueInstantiator.java:631)
86dps-1 | ... 61 more
87dps-1 |
88dps-1 | 19:04:52.299 t= Thread-24 WAR 282 er.server.dns.RequestHandlerDefault m=solve0:81 {} status=solverFailed, currentSolverTime=1, totalTime=1, solver=SolverDocker, eClass=RuntimeException, msg=com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `com.github.dockerjava.api.model.Links`, problem: Error parsing Link 'f4edb2c9f62a76d9e1558382ff830c18c6e7dc3b02ec791c95065b949e382ce7'
89dps-1 | at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: com.github.dockerjava.api.command.InspectContainerResponse["NetworkSettings"]->com.github.dockerjava.api.model.NetworkSettings["Networks"]->java.util.LinkedHashMap["mwcli-mwdd-default_dps"]->com.github.dockerjava.api.model.ContainerNetwork["Links"]): java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `com.github.dockerjava.api.model.Links`, problem: Error parsing Link 'f4edb2c9f62a76d9e1558382ff830c18c6e7dc3b02ec791c95065b949e382ce7'
90dps-1 | at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: com.github.dockerjava.api.command.InspectContainerResponse["NetworkSettings"]->com.github.dockerjava.api.model.NetworkSettings["Networks"]->java.util.LinkedHashMap["mwcli-mwdd-default_dps"]->com.github.dockerjava.api.model.ContainerNetwork["Links"])
91dps-1 | at com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:77)
92dps-1 | at com.github.dockerjava.core.exec.InspectContainerCmdExec.execute(InspectContainerCmdExec.java:31)
93dps-1 | at com.github.dockerjava.core.exec.InspectContainerCmdExec.execute(InspectContainerCmdExec.java:13)
94dps-1 | at com.github.dockerjava.core.exec.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:21)
95dps-1 | at com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:35)
96dps-1 | at com.github.dockerjava.core.command.InspectContainerCmdImpl.exec(InspectContainerCmdImpl.java:52)
97dps-1 | at com.mageddo.dnsproxyserver.docker.DockerDAODefault.inspect(DockerDAODefault.java:62)
98dps-1 | at com.mageddo.dnsproxyserver.docker.ContainerSolvingService.lambda$findMatchingContainers$4(ContainerSolvingService.java:138)
99dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
100dps-1 | at java.base@19.0.2/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
101dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
102dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
103dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
104dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
105dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
106dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
107dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
108dps-1 | at com.mageddo.dnsproxyserver.docker.ContainerSolvingService.findMatchingContainers(ContainerSolvingService.java:140)
109dps-1 | at com.mageddo.dnsproxyserver.docker.ContainerSolvingService.findBestHostIP(ContainerSolvingService.java:44)
110dps-1 | at com.mageddo.dnsproxyserver.server.dns.solver.SolverDocker.handle(SolverDocker.java:32)
111dps-1 | at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.solve0(RequestHandlerDefault.java:67)
112dps-1 | at com.mageddo.dnsproxyserver.server.dns.solver.SolversCache.lambda$handle$0(SolversCache.java:28)
113dps-1 | at com.mageddo.commons.caching.LruTTLCache.computeIfAbsent0(LruTTLCache.java:76)
114dps-1 | at com.mageddo.dnsproxyserver.server.dns.solver.SolversCache.handle(SolversCache.java:26)
115dps-1 | at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.solve(RequestHandlerDefault.java:46)
116dps-1 | at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.handle(RequestHandlerDefault.java:31)
117dps-1 | at com.mageddo.dnsproxyserver.server.dns.UDPServer.handle(UDPServer.java:52)
118dps-1 | at com.mageddo.dnsproxyserver.server.dns.UDPServer.lambda$start0$0(UDPServer.java:40)
119dps-1 | at java.base@19.0.2/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
120dps-1 | at java.base@19.0.2/java.util.concurrent.FutureTask.run(FutureTask.java:317)
121dps-1 | at java.base@19.0.2/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
122dps-1 | at java.base@19.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
123dps-1 | at java.base@19.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
124dps-1 | at java.base@19.0.2/java.lang.Thread.run(Thread.java:1589)
125dps-1 | at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:775)
126dps-1 | at org.graalvm.nativeimage.builder/com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:203)
127dps-1 | Caused by: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `com.github.dockerjava.api.model.Links`, problem: Error parsing Link 'f4edb2c9f62a76d9e1558382ff830c18c6e7dc3b02ec791c95065b949e382ce7'
128dps-1 | at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: com.github.dockerjava.api.command.InspectContainerResponse["NetworkSettings"]->com.github.dockerjava.api.model.NetworkSettings["Networks"]->java.util.LinkedHashMap["mwcli-mwdd-default_dps"]->com.github.dockerjava.api.model.ContainerNetwork["Links"])
129dps-1 | at com.fasterxml.jackson.databind.DeserializationContext.instantiationException(DeserializationContext.java:2052)
130dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.wrapAsJsonMappingException(StdValueInstantiator.java:587)
131dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.rewrapCtorProblem(StdValueInstantiator.java:610)
132dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator._createUsingDelegate(StdValueInstantiator.java:647)
133dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createUsingDelegate(StdValueInstantiator.java:306)
134dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createUsingArrayDelegate(StdValueInstantiator.java:315)
135dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeFromArray(BeanDeserializer.java:608)
136dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:211)
137dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:187)
138dps-1 | at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138)
139dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:314)
140dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
141dps-1 | at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringKeyMap(MapDeserializer.java:623)
142dps-1 | at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:449)
143dps-1 | at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:32)
144dps-1 | at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138)
145dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:314)
146dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
147dps-1 | at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138)
148dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:314)
149dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
150dps-1 | at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323)
151dps-1 | at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:4706)
152dps-1 | at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2879)
153dps-1 | at com.fasterxml.jackson.databind.ObjectMapper.treeToValue(ObjectMapper.java:3343)
154dps-1 | at com.github.dockerjava.core.DockerObjectDeserializer.deserialize(DockerClientConfig.java:132)
155dps-1 | at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323)
156dps-1 | at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4730)
157dps-1 | at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3722)
158dps-1 | at com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:75)
159dps-1 | ... 35 more
160dps-1 | Caused by: java.lang.IllegalArgumentException: Error parsing Link 'f4edb2c9f62a76d9e1558382ff830c18c6e7dc3b02ec791c95065b949e382ce7'
161dps-1 | at com.github.dockerjava.api.model.Link.parse(Link.java:72)
162dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
163dps-1 | at java.base@19.0.2/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1006)
164dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
165dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
166dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
167dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
168dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
169dps-1 | at com.github.dockerjava.api.model.Links.fromPrimitive(Links.java:30)
170dps-1 | at java.base@19.0.2/java.lang.reflect.Method.invoke(Method.java:578)
171dps-1 | at com.fasterxml.jackson.databind.introspect.AnnotatedMethod.call1(AnnotatedMethod.java:109)
172dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator._createUsingDelegate(StdValueInstantiator.java:631)
173dps-1 | ... 61 more
174dps-1 |
175dps-1 | 19:04:52.310 t= Thread-23 WAR 282 er.server.dns.RequestHandlerDefault m=solve0:81 {} status=solverFailed, currentSolverTime=1, totalTime=1, solver=SolverDocker, eClass=RuntimeException, msg=com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `com.github.dockerjava.api.model.Links`, problem: Error parsing Link 'f4edb2c9f62a76d9e1558382ff830c18c6e7dc3b02ec791c95065b949e382ce7'
176dps-1 | at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: com.github.dockerjava.api.command.InspectContainerResponse["NetworkSettings"]->com.github.dockerjava.api.model.NetworkSettings["Networks"]->java.util.LinkedHashMap["mwcli-mwdd-default_dps"]->com.github.dockerjava.api.model.ContainerNetwork["Links"]): java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `com.github.dockerjava.api.model.Links`, problem: Error parsing Link 'f4edb2c9f62a76d9e1558382ff830c18c6e7dc3b02ec791c95065b949e382ce7'
177dps-1 | at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: com.github.dockerjava.api.command.InspectContainerResponse["NetworkSettings"]->com.github.dockerjava.api.model.NetworkSettings["Networks"]->java.util.LinkedHashMap["mwcli-mwdd-default_dps"]->com.github.dockerjava.api.model.ContainerNetwork["Links"])
178dps-1 | at com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:77)
179dps-1 | at com.github.dockerjava.core.exec.InspectContainerCmdExec.execute(InspectContainerCmdExec.java:31)
180dps-1 | at com.github.dockerjava.core.exec.InspectContainerCmdExec.execute(InspectContainerCmdExec.java:13)
181dps-1 | at com.github.dockerjava.core.exec.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:21)
182dps-1 | at com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:35)
183dps-1 | at com.github.dockerjava.core.command.InspectContainerCmdImpl.exec(InspectContainerCmdImpl.java:52)
184dps-1 | at com.mageddo.dnsproxyserver.docker.DockerDAODefault.inspect(DockerDAODefault.java:62)
185dps-1 | at com.mageddo.dnsproxyserver.docker.ContainerSolvingService.lambda$findMatchingContainers$4(ContainerSolvingService.java:138)
186dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
187dps-1 | at java.base@19.0.2/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
188dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
189dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
190dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
191dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
192dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
193dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
194dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
195dps-1 | at com.mageddo.dnsproxyserver.docker.ContainerSolvingService.findMatchingContainers(ContainerSolvingService.java:140)
196dps-1 | at com.mageddo.dnsproxyserver.docker.ContainerSolvingService.findBestHostIP(ContainerSolvingService.java:44)
197dps-1 | at com.mageddo.dnsproxyserver.server.dns.solver.SolverDocker.handle(SolverDocker.java:32)
198dps-1 | at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.solve0(RequestHandlerDefault.java:67)
199dps-1 | at com.mageddo.dnsproxyserver.server.dns.solver.SolversCache.lambda$handle$0(SolversCache.java:28)
200dps-1 | at com.mageddo.commons.caching.LruTTLCache.computeIfAbsent0(LruTTLCache.java:76)
201dps-1 | at com.mageddo.dnsproxyserver.server.dns.solver.SolversCache.handle(SolversCache.java:26)
202dps-1 | at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.solve(RequestHandlerDefault.java:46)
203dps-1 | at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.handle(RequestHandlerDefault.java:31)
204dps-1 | at com.mageddo.dnsproxyserver.server.dns.UDPServer.handle(UDPServer.java:52)
205dps-1 | at com.mageddo.dnsproxyserver.server.dns.UDPServer.lambda$start0$0(UDPServer.java:40)
206dps-1 | at java.base@19.0.2/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
207dps-1 | at java.base@19.0.2/java.util.concurrent.FutureTask.run(FutureTask.java:317)
208dps-1 | at java.base@19.0.2/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
209dps-1 | at java.base@19.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
210dps-1 | at java.base@19.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
211dps-1 | at java.base@19.0.2/java.lang.Thread.run(Thread.java:1589)
212dps-1 | at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:775)
213dps-1 | at org.graalvm.nativeimage.builder/com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:203)
214dps-1 | Caused by: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `com.github.dockerjava.api.model.Links`, problem: Error parsing Link 'f4edb2c9f62a76d9e1558382ff830c18c6e7dc3b02ec791c95065b949e382ce7'
215dps-1 | at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: com.github.dockerjava.api.command.InspectContainerResponse["NetworkSettings"]->com.github.dockerjava.api.model.NetworkSettings["Networks"]->java.util.LinkedHashMap["mwcli-mwdd-default_dps"]->com.github.dockerjava.api.model.ContainerNetwork["Links"])
216dps-1 | at com.fasterxml.jackson.databind.DeserializationContext.instantiationException(DeserializationContext.java:2052)
217dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.wrapAsJsonMappingException(StdValueInstantiator.java:587)
218dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.rewrapCtorProblem(StdValueInstantiator.java:610)
219dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator._createUsingDelegate(StdValueInstantiator.java:647)
220dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createUsingDelegate(StdValueInstantiator.java:306)
221dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createUsingArrayDelegate(StdValueInstantiator.java:315)
222dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeFromArray(BeanDeserializer.java:608)
223dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:211)
224dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:187)
225dps-1 | at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138)
226dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:314)
227dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
228dps-1 | at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringKeyMap(MapDeserializer.java:623)
229dps-1 | at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:449)
230dps-1 | at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:32)
231dps-1 | at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138)
232dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:314)
233dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
234dps-1 | at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138)
235dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:314)
236dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
237dps-1 | at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323)
238dps-1 | at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:4706)
239dps-1 | at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2879)
240dps-1 | at com.fasterxml.jackson.databind.ObjectMapper.treeToValue(ObjectMapper.java:3343)
241dps-1 | at com.github.dockerjava.core.DockerObjectDeserializer.deserialize(DockerClientConfig.java:132)
242dps-1 | at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323)
243dps-1 | at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4730)
244dps-1 | at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3722)
245dps-1 | at com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:75)
246dps-1 | ... 35 more
247dps-1 | Caused by: java.lang.IllegalArgumentException: Error parsing Link 'f4edb2c9f62a76d9e1558382ff830c18c6e7dc3b02ec791c95065b949e382ce7'
248dps-1 | at com.github.dockerjava.api.model.Link.parse(Link.java:72)
249dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
250dps-1 | at java.base@19.0.2/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1006)
251dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
252dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
253dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
254dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
255dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
256dps-1 | at com.github.dockerjava.api.model.Links.fromPrimitive(Links.java:30)
257dps-1 | at java.base@19.0.2/java.lang.reflect.Method.invoke(Method.java:578)
258dps-1 | at com.fasterxml.jackson.databind.introspect.AnnotatedMethod.call1(AnnotatedMethod.java:109)
259dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator._createUsingDelegate(StdValueInstantiator.java:631)
260dps-1 | ... 61 more
261dps-1 |
262dps-1 | 19:04:52.319 t= Thread-24 WAR 282 er.server.dns.RequestHandlerDefault m=solve0:81 {} status=solverFailed, currentSolverTime=1, totalTime=1, solver=SolverDocker, eClass=RuntimeException, msg=com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `com.github.dockerjava.api.model.Links`, problem: Error parsing Link 'f4edb2c9f62a76d9e1558382ff830c18c6e7dc3b02ec791c95065b949e382ce7'
263dps-1 | at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: com.github.dockerjava.api.command.InspectContainerResponse["NetworkSettings"]->com.github.dockerjava.api.model.NetworkSettings["Networks"]->java.util.LinkedHashMap["mwcli-mwdd-default_dps"]->com.github.dockerjava.api.model.ContainerNetwork["Links"]): java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `com.github.dockerjava.api.model.Links`, problem: Error parsing Link 'f4edb2c9f62a76d9e1558382ff830c18c6e7dc3b02ec791c95065b949e382ce7'
264dps-1 | at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: com.github.dockerjava.api.command.InspectContainerResponse["NetworkSettings"]->com.github.dockerjava.api.model.NetworkSettings["Networks"]->java.util.LinkedHashMap["mwcli-mwdd-default_dps"]->com.github.dockerjava.api.model.ContainerNetwork["Links"])
265dps-1 | at com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:77)
266dps-1 | at com.github.dockerjava.core.exec.InspectContainerCmdExec.execute(InspectContainerCmdExec.java:31)
267dps-1 | at com.github.dockerjava.core.exec.InspectContainerCmdExec.execute(InspectContainerCmdExec.java:13)
268dps-1 | at com.github.dockerjava.core.exec.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:21)
269dps-1 | at com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:35)
270dps-1 | at com.github.dockerjava.core.command.InspectContainerCmdImpl.exec(InspectContainerCmdImpl.java:52)
271dps-1 | at com.mageddo.dnsproxyserver.docker.DockerDAODefault.inspect(DockerDAODefault.java:62)
272dps-1 | at com.mageddo.dnsproxyserver.docker.ContainerSolvingService.lambda$findMatchingContainers$4(ContainerSolvingService.java:138)
273dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
274dps-1 | at java.base@19.0.2/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
275dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
276dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
277dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
278dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
279dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
280dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
281dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
282dps-1 | at com.mageddo.dnsproxyserver.docker.ContainerSolvingService.findMatchingContainers(ContainerSolvingService.java:140)
283dps-1 | at com.mageddo.dnsproxyserver.docker.ContainerSolvingService.findBestHostIP(ContainerSolvingService.java:44)
284dps-1 | at com.mageddo.dnsproxyserver.server.dns.solver.SolverDocker.handle(SolverDocker.java:32)
285dps-1 | at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.solve0(RequestHandlerDefault.java:67)
286dps-1 | at com.mageddo.dnsproxyserver.server.dns.solver.SolversCache.lambda$handle$0(SolversCache.java:28)
287dps-1 | at com.mageddo.commons.caching.LruTTLCache.computeIfAbsent0(LruTTLCache.java:76)
288dps-1 | at com.mageddo.dnsproxyserver.server.dns.solver.SolversCache.handle(SolversCache.java:26)
289dps-1 | at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.solve(RequestHandlerDefault.java:46)
290dps-1 | at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.handle(RequestHandlerDefault.java:31)
291dps-1 | at com.mageddo.dnsproxyserver.server.dns.UDPServer.handle(UDPServer.java:52)
292dps-1 | at com.mageddo.dnsproxyserver.server.dns.UDPServer.lambda$start0$0(UDPServer.java:40)
293dps-1 | at java.base@19.0.2/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
294dps-1 | at java.base@19.0.2/java.util.concurrent.FutureTask.run(FutureTask.java:317)
295dps-1 | at java.base@19.0.2/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
296dps-1 | at java.base@19.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
297dps-1 | at java.base@19.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
298dps-1 | at java.base@19.0.2/java.lang.Thread.run(Thread.java:1589)
299dps-1 | at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:775)
300dps-1 | at org.graalvm.nativeimage.builder/com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:203)
301dps-1 | Caused by: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `com.github.dockerjava.api.model.Links`, problem: Error parsing Link 'f4edb2c9f62a76d9e1558382ff830c18c6e7dc3b02ec791c95065b949e382ce7'
302dps-1 | at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: com.github.dockerjava.api.command.InspectContainerResponse["NetworkSettings"]->com.github.dockerjava.api.model.NetworkSettings["Networks"]->java.util.LinkedHashMap["mwcli-mwdd-default_dps"]->com.github.dockerjava.api.model.ContainerNetwork["Links"])
303dps-1 | at com.fasterxml.jackson.databind.DeserializationContext.instantiationException(DeserializationContext.java:2052)
304dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.wrapAsJsonMappingException(StdValueInstantiator.java:587)
305dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.rewrapCtorProblem(StdValueInstantiator.java:610)
306dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator._createUsingDelegate(StdValueInstantiator.java:647)
307dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createUsingDelegate(StdValueInstantiator.java:306)
308dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createUsingArrayDelegate(StdValueInstantiator.java:315)
309dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeFromArray(BeanDeserializer.java:608)
310dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:211)
311dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:187)
312dps-1 | at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138)
313dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:314)
314dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
315dps-1 | at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringKeyMap(MapDeserializer.java:623)
316dps-1 | at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:449)
317dps-1 | at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:32)
318dps-1 | at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138)
319dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:314)
320dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
321dps-1 | at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138)
322dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:314)
323dps-1 | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
324dps-1 | at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323)
325dps-1 | at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:4706)
326dps-1 | at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2879)
327dps-1 | at com.fasterxml.jackson.databind.ObjectMapper.treeToValue(ObjectMapper.java:3343)
328dps-1 | at com.github.dockerjava.core.DockerObjectDeserializer.deserialize(DockerClientConfig.java:132)
329dps-1 | at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323)
330dps-1 | at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4730)
331dps-1 | at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3722)
332dps-1 | at com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:75)
333dps-1 | ... 35 more
334dps-1 | Caused by: java.lang.IllegalArgumentException: Error parsing Link 'f4edb2c9f62a76d9e1558382ff830c18c6e7dc3b02ec791c95065b949e382ce7'
335dps-1 | at com.github.dockerjava.api.model.Link.parse(Link.java:72)
336dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
337dps-1 | at java.base@19.0.2/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1006)
338dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
339dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
340dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
341dps-1 | at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
342dps-1 | at java.base@19.0.2/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
343dps-1 | at com.github.dockerjava.api.model.Links.fromPrimitive(Links.java:30)
344dps-1 | at java.base@19.0.2/java.lang.reflect.Method.invoke(Method.java:578)
345dps-1 | at com.fasterxml.jackson.databind.introspect.AnnotatedMethod.call1(AnnotatedMethod.java:109)
346dps-1 | at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator._createUsingDelegate(StdValueInstantiator.java:631)
347dps-1 | ... 61 more

Likely because the container for exposing the port is being created outside of the docker-compose setup

Seemingly it doesnt full crash, so doesnt restart.

Doing mw docker dc restart dps with the expose no longer running would restore DNS

I can change this behaviour across the board

Services will include something like this in their YML

ports:
  - "${MYSQL_PORT:-3306}${MYSQL_PORT:+:3306}"

So it the port is not defined, this results in an ephemeral port exposure https://docs.docker.com/get-started/docker-concepts/running-containers/publishing-ports/#publishing-to-ephemeral-ports

So out of the box this could do

mwcli-mwdd-default-mysql-1           mariadb:10.11                                                "/mwdd-custom/entryp…"    mysql           4 minutes ago    Up 4 minutes    0.0.0.0:32768->3306/tcp, [::]:32768->3306/tcp

If you did mw dev env set MYSQL_PORT 3306, and ran create again

You'd get

mwcli-mwdd-default-mysql-1           mariadb:10.11                                                "/mwdd-custom/entryp…"    mysql           19 seconds ago   Up 5 seconds    0.0.0.0:3306->3306/tcp, :::3306->3306/tcp

With this solution I dont see a way I can nicely / easily get rid of the services being exposed by default on some port.

With this solution, I would also deprecate the current expose command

Addshore moved this task from Inbox to Review on the a Wikimedia CLI board.

Should now be in v0.27.0

eep, this seemed to have fudged up sitelinks and api testing for me.

$ mw dev mw exec -- curl --request GET --url 'http://default.mediawiki.mwdd.localhost:8080/w/rest.php/wikibase/v1/entities/items/Q1' --header 'Cookie: XDEBUG_SESSION=start' --header 'User-Agent: whatever' -vv
Note: Unnecessary use of -X or --request, GET is already inferred.
*   Trying 127.0.0.1:8080...
* connect to 127.0.0.1 port 8080 failed: Connection refused
*   Trying [::1]:8080...
* connect to ::1 port 8080 failed: Connection refused
* Failed to connect to default.mediawiki.mwdd.localhost port 8080 after 0 ms: Couldn't connect to server
* Closing connection 0
curl: (7) Failed to connect to default.mediawiki.mwdd.localhost port 8080 after 0 ms: Couldn't connect to server

Recreating and restarting the container(s) didn't work. However, rolling back to v0.26.1 did.

I can reproduce Itamar's issue as well.
I notice that the MediaWiki container image has changed to docker-registry.wikimedia.org/dev/bookworm-php83-fpm:1.0.0 in v0.27.1.
Using the previous MediaWiki image solves the issue mw dev env set MEDIAWIKI_IMAGE docker-registry.wikimedia.org/dev/buster-php81-fpm:1.0.1-s2.

I also notice that using default.mediawiki.mwdd instead of default.mediawiki.mwdd.localhost also works:

$ mw dev mw exec -- curl --request GET --url 'http://default.mediawiki.mwdd:8080/w/rest.php/wikibase/v1/entities/items/Q1' --header 'Cookie: XDEBUG_SESSION=start' --header 'User-Agent: whatever'; echo;
{"type":"item","labels":{},"descriptions":{},"aliases":{"en":["first english alias","next english alias","en alias 1","en alias 2","en alias 3"],"fr":["first french alias","fr-alias"],"de":["first new alias","second new alias"]},"statements":{},"sitelinks":{},"id":"Q1"}

I wonder if it is related to this change in curl that landed in 7.85.0: https://github.com/curl/curl/issues/11104.
The version of curl has changed from 7.64.0 in buster-php81-fpm:1.0.1-s2 to 7.88.1 in bookworm-php83-fpm:1.0.0.

Right, might be worth rolling back to the 81 image by default then until the issue is figured out in more detail.
And would be great to come up with one or more test cases for the CI for these situations too :) (basically for the DNS resolution in different cases)

Looks like the more up-to-date ticket there is https://github.com/curl/curl/issues/15628

Looks like curl/libcurl won't fix it, despite it being a massive change in compatibility for many users (including us).

mwcli and mwdd used to use a different suffix for hosts, but .localhost was chosen due to the simplicity of working both inside and outside the containers
https://github.com/addshore/mediawiki-docker-dev/commit/f5819fa24e0b27d1e46e8dae78f57fd552afe84b
TLDR; a user doesnt need to setup any DNS to resolve the stuff, and it also works out of the box with no internet connection for most browsers.

The first change was https://github.com/addshore/mediawiki-docker-dev/issues/5 "Multiple wikis with wildcard domains #5"
The second change was https://github.com/addshore/mediawiki-docker-dev/issues/17 "Switch from wmftest.net to *.localhost #17"
CCing @Krinkle as they were involved in some of the thinking back then :)

So, in summary

  • This is an issue with the curl CLI tool and libcurl (and maybe others depending on how they read the spec) using *.localhost to resolve to non loopback ips
  • Having to use different hosts for different tools / inside and outside containers is annoying
  • Having to configure custom DNS on the host machine of mwcli is also annoying

Happy to hear ideas for the best longer term path forward. :)

As this issue is unrelated to the expose sub-command, and this ticket is resolved, I've created T388411: libcurl 7.85+ breaks DNS in mwcli