Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shinyproxy doesn't shut the containers #509

Open
ConYel opened this issue Jul 5, 2024 · 1 comment
Open

Shinyproxy doesn't shut the containers #509

ConYel opened this issue Jul 5, 2024 · 1 comment

Comments

@ConYel
Copy link

ConYel commented Jul 5, 2024

I was trying the new version of shiny proxy 3.1.1 and when I log out from an initialized application the container is not removed.
The setup is with podman instead of docker using this

docker:
        internal-networking: false
        url: http://localhost:2375

from here #385

Here is the log I got:

eu.openanalytics.containerproxy.ContainerProxyException: Failed to stop container
	at eu.openanalytics.containerproxy.backend.AbstractContainerBackend.stopProxy(AbstractContainerBackend.java:145) ~[containerproxy-1.1.1.jar!/:1.1.1]
	at eu.openanalytics.containerproxy.backend.dispatcher.DefaultProxyDispatcher.stopProxy(DefaultProxyDispatcher.java:54) ~[containerproxy-1.1.1.jar!/:1.1.1]
	at eu.openanalytics.containerproxy.service.ProxyService.lambda$stopProxy$7(ProxyService.java:342) ~[containerproxy-1.1.1.jar!/:1.1.1]
	at eu.openanalytics.containerproxy.service.ProxyService.lambda$action$12(ProxyService.java:638) ~[containerproxy-1.1.1.jar!/:1.1.1]
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
	at java.base/java.lang.Thread.run(Thread.java:840) ~[na:na]
Caused by: org.mandas.docker.client.exceptions.DockerRequestException: Request error: GET http://localhost:2375/containers/94ee70a3d018494caa684179544ec41495622f544aab16bd525cc789aca45c72/json: 200
	at org.mandas.docker.client.DefaultDockerClient.propagate(DefaultDockerClient.java:2564) ~[docker-client-7.0.8-OA-3.jar!/:na]
	at org.mandas.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:2438) ~[docker-client-7.0.8-OA-3.jar!/:na]
	at org.mandas.docker.client.DefaultDockerClient.inspectContainer(DefaultDockerClient.java:827) ~[docker-client-7.0.8-OA-3.jar!/:na]
	at eu.openanalytics.containerproxy.backend.docker.DockerEngineBackend.doStopProxy(DockerEngineBackend.java:233) ~[containerproxy-1.1.1.jar!/:1.1.1]
	at eu.openanalytics.containerproxy.backend.AbstractContainerBackend.stopProxy(AbstractContainerBackend.java:143) ~[containerproxy-1.1.1.jar!/:1.1.1]
	... 8 common frames omitted
Caused by: jakarta.ws.rs.client.ResponseProcessingException: com.fasterxml.jackson.databind.JsonMappingException: Cannot invoke "java.lang.Iterable.iterator()" because "elements" is null
 at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 1, column: 481] (through reference chain: org.mandas.docker.client.messages.ImmutableContainerInfo$Builder["State"]->org.mandas.docker.client.messages.ImmutableContainerState$Builder["Health"]->org.mandas.docker.client.messages.ImmutableContainerState$Health$Builder["Log"])
	at org.glassfish.jersey.client.JerseyInvocation.translate(JerseyInvocation.java:760) ~[jersey-client-3.1.6.jar!/:na]
	at org.glassfish.jersey.client.JerseyInvocation.lambda$invoke$1(JerseyInvocation.java:687) ~[jersey-client-3.1.6.jar!/:na]
	at org.glassfish.jersey.client.JerseyInvocation.call(JerseyInvocation.java:709) ~[jersey-client-3.1.6.jar!/:na]
	at org.glassfish.jersey.client.JerseyInvocation.lambda$runInScope$3(JerseyInvocation.java:703) ~[jersey-client-3.1.6.jar!/:na]
	at org.glassfish.jersey.internal.Errors.process(Errors.java:292) ~[jersey-common-3.1.6.jar!/:na]
	at org.glassfish.jersey.internal.Errors.process(Errors.java:274) ~[jersey-common-3.1.6.jar!/:na]
	at org.glassfish.jersey.internal.Errors.process(Errors.java:205) ~[jersey-common-3.1.6.jar!/:na]
	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:391) ~[jersey-common-3.1.6.jar!/:na]
	at org.glassfish.jersey.client.JerseyInvocation.runInScope(JerseyInvocation.java:703) ~[jersey-client-3.1.6.jar!/:na]
	at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:686) ~[jersey-client-3.1.6.jar!/:na]
	at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:422) ~[jersey-client-3.1.6.jar!/:na]
	at org.mandas.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:2436) ~[docker-client-7.0.8-OA-3.jar!/:na]
	... 11 common frames omitted
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Cannot invoke "java.lang.Iterable.iterator()" because "elements" is null
 at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 1, column: 481] (through reference chain: org.mandas.docker.client.messages.ImmutableContainerInfo$Builder["State"]->org.mandas.docker.client.messages.ImmutableContainerState$Builder["Health"]->org.mandas.docker.client.messages.ImmutableContainerState$Health$Builder["Log"])
	at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:276) ~[jackson-databind-2.15.4.jar!/:2.15.4]
	at com.fasterxml.jackson.databind.deser.SettableBeanProperty._throwAsIOE(SettableBeanProperty.java:630) ~[jackson-databind-2.15.4.jar!/:2.15.4]
	at com.fasterxml.jackson.databind.deser.SettableBeanProperty._throwAsIOE(SettableBeanProperty.java:618) ~[jackson-databind-2.15.4.jar!/:2.15.4]
	at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeSetAndReturn(MethodProperty.java:173) ~[jackson-databind-2.15.4.jar!/:2.15.4]
	at com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer.vanillaDeserialize(BuilderBasedDeserializer.java:293) ~[jackson-databind-2.15.4.jar!/:2.15.4]
	at com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer.deserialize(BuilderBasedDeserializer.java:217) ~[jackson-databind-2.15.4.jar!/:2.15.4]
	at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeSetAndReturn(MethodProperty.java:158) ~[jackson-databind-2.15.4.jar!/:2.15.4]
	at com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer.vanillaDeserialize(BuilderBasedDeserializer.java:293) ~[jackson-databind-2.15.4.jar!/:2.15.4]
	at com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer.deserialize(BuilderBasedDeserializer.java:217) ~[jackson-databind-2.15.4.jar!/:2.15.4]
	at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeSetAndReturn(MethodProperty.java:158) ~[jackson-databind-2.15.4.jar!/:2.15.4]
	at com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer.vanillaDeserialize(BuilderBasedDeserializer.java:293) ~[jackson-databind-2.15.4.jar!/:2.15.4]
	at com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer.deserialize(BuilderBasedDeserializer.java:217) ~[jackson-databind-2.15.4.jar!/:2.15.4]
	at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323) ~[jackson-databind-2.15.4.jar!/:2.15.4]
	at com.fasterxml.jackson.databind.ObjectReader._bind(ObjectReader.java:2079) ~[jackson-databind-2.15.4.jar!/:2.15.4]
	at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1229) ~[jackson-databind-2.15.4.jar!/:2.15.4]
	at org.glassfish.jersey.jackson.internal.jackson.jaxrs.base.ProviderBase.readFrom(ProviderBase.java:829) ~[jersey-media-json-jackson-3.1.6.jar!/:na]
	at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.invokeReadFrom(ReaderInterceptorExecutor.java:235) ~[jersey-common-3.1.6.jar!/:na]
	at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.aroundReadFrom(ReaderInterceptorExecutor.java:214) ~[jersey-common-3.1.6.jar!/:na]
	at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:134) ~[jersey-common-3.1.6.jar!/:na]
	at org.glassfish.jersey.message.internal.MessageBodyFactory.readFrom(MessageBodyFactory.java:1072) ~[jersey-common-3.1.6.jar!/:na]
	at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:657) ~[jersey-common-3.1.6.jar!/:na]
	at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:591) ~[jersey-common-3.1.6.jar!/:na]
	at org.glassfish.jersey.client.ClientResponse.readEntity(ClientResponse.java:298) ~[jersey-client-3.1.6.jar!/:na]
	at org.glassfish.jersey.client.JerseyInvocation.translate(JerseyInvocation.java:757) ~[jersey-client-3.1.6.jar!/:na]
	... 22 common frames omitted
Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Iterable.iterator()" because "elements" is null
	at org.mandas.docker.client.messages.ImmutableContainerState$Health$Builder.addAllLog(ImmutableContainerState.java:1296) ~[docker-client-7.0.8-OA-3.jar!/:na]
	at org.mandas.docker.client.messages.ImmutableContainerState$Health$Builder.log(ImmutableContainerState.java:1287) ~[docker-client-7.0.8-OA-3.jar!/:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
	at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeSetAndReturn(MethodProperty.java:170) ~[jackson-databind-2.15.4.jar!/:2.15.4]
	... 42 common frames omitted

2024-07-05T09:16:32.127Z  INFO 1 --- [ProxyService-16] e.o.containerproxy.service.ProxyService  : [user=me_me_but_me proxyId=8e2507f6-207e-4638-a044-8afd2fa71b4f specId=01_dashboard] Proxy released
@LEDfan
Copy link
Member

LEDfan commented Jul 29, 2024

Hi, at the time of writing ShinyProxy does not support podman. We hoped that we the release of 3.1.1 the support might be better (#385 (comment)), however, looking at the above error, there are still some incompatibles between ShinyProxy and podman.

For the time being we advice to use Docker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants