Docker internal network doesn't work, throws nullpointer exception

Using 2.0.1, we’re running the most basic config:

proxy:
  port: 8080
  authentication: none
  docker:
    internal-networking: true
  specs:
  - id: myApp
    container-cmd: ["R", "-e", "myPackage::runApp()"]
    container-image: myapp/master
    container-network: myapp-network

logging:
  file:
    shinyproxy.log

And we’ve verified that it works if run manually, or if we aren’t using the internal-networking setting. This is the error we get:

java.lang.NullPointerException: null
        at eu.openanalytics.containerproxy.util.ProxyMappingManager$MappingOwnerInfo.isSame(ProxyMappingManager.java:125) ~[containerproxy-0.2.1-SNAPSHOT.jar!/:0.2.1-SNAPSHOT]
        at eu.openanalytics.containerproxy.util.ProxyMappingManager.requestHasAccess(ProxyMappingManager.java:94) ~[containerproxy-0.2.1-SNAPSHOT.jar!/:0.2.1-SNAPSHOT]
        at eu.openanalytics.containerproxy.ContainerProxyApplication$ProtectedPathHandler.handleRequest(ContainerProxyApplication.java:100) ~[containerproxy-0.2.1-SNAPSHOT.jar!/:0.2.1-SNAPSHOT]
        at io.undertow.server.handlers.HttpContinueReadHandler.handleRequest(HttpContinueReadHandler.java:65) ~[undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
        at io.undertow.server.Connectors.executeRootHandler(Connectors.java:336) ~[undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
        at io.undertow.server.protocol.http.HttpReadListener.handleEventWithNoRunningRequest(HttpReadListener.java:255) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
        at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:136) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
        at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:59) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
        at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) [xnio-api-3.3.8.Final.jar!/:3.3.8.Final]
        at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66) [xnio-api-3.3.8.Final.jar!/:3.3.8.Final]
        at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:88) [xnio-nio-3.3.8.Final.jar!/:3.3.8.Final]
        at org.xnio.nio.WorkerThread.run(WorkerThread.java:561) [xnio-nio-3.3.8.Final.jar!/:3.3.8.Final]

Is anyone familiar with internal-networking feature and why this error is popping up?

I misnamed the application.yml file application.yaml :rofl:

I’m running into the same problem. To make sure there are no issues related to our own I just tried a vanilla setup of https://github.com/openanalytics/shinyproxy-config-examples/tree/master/02-containerized-docker-engine. These steps reproduce after retrieving Dockerfile and application.yml from above github link. I removed authentication to exclude that as a possible cause as well.

docker network create sp-example-net
docker build . -t shinyproxy-example
docker pull openanalytics/shinyproxy-demo
docker run -d -v /var/run/docker.sock:/var/run/docker.sock --net sp-example-net -p 8080:8080 shinyproxy-example

ShinyProxy loads, opening the Hello World app retrieves a containerPath. However, the resulting GET /endpooint/{UUID} returns a 500. The full shinyproxy.log from start and opening the helloworld app is added below. Any pointers on how this can be resolved would be greatly appreciated.

2018-08-15 08:44:59.734  INFO 1 --- [main] e.o.c.ContainerProxyApplication          : Starting ContainerProxyApplication v0.2.1-SNAPSHOT on fdf761d8c24e with PID 1 (/opt/shinyproxy/shinyproxy.jar started by root in /opt/shinyproxy)
2018-08-15 08:44:59.739  INFO 1 --- [main] e.o.c.ContainerProxyApplication          : No active profile set, falling back to default profiles: default
2018-08-15 08:44:59.837  INFO 1 --- [main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@6a5fc7f7: startup date [Wed Aug 15 08:44:59 UTC 2018]; root of context hierarchy
2018-08-15 08:45:02.491  INFO 1 --- [main] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2018-08-15 08:45:04.746  INFO 1 --- [main] org.xnio                                 : XNIO version 3.3.8.Final
2018-08-15 08:45:04.782  INFO 1 --- [main] org.xnio.nio                             : XNIO NIO Implementation Version 3.3.8.Final
2018-08-15 08:45:04.917  WARN 1 --- [main] io.undertow.websockets.jsr               : UT026009: XNIO worker was not set on WebSocketDeploymentInfo, the default worker will be used
2018-08-15 08:45:04.918  WARN 1 --- [main] io.undertow.websockets.jsr               : UT026010: Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used
2018-08-15 08:45:04.959  INFO 1 --- [main] io.undertow.servlet                      : Initializing Spring embedded WebApplicationContext
2018-08-15 08:45:04.960  INFO 1 --- [main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 5123 ms
2018-08-15 08:45:05.405  INFO 1 --- [main] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2018-08-15 08:45:05.407  INFO 1 --- [main] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2018-08-15 08:45:05.408  INFO 1 --- [main] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2018-08-15 08:45:05.409  INFO 1 --- [main] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2018-08-15 08:45:05.410  INFO 1 --- [main] .s.DelegatingFilterProxyRegistrationBean : Mapping filter: 'springSecurityFilterChain' to: [/*]
2018-08-15 08:45:05.411  INFO 1 --- [main] o.s.b.w.servlet.ServletRegistrationBean  : Servlet dispatcherServlet mapped to [/]
2018-08-15 08:45:06.224  INFO 1 --- [main] e.o.c.stat.StatCollectorRegistry         : Disabled. Usage statistics will not be processed.
2018-08-15 08:45:06.481  INFO 1 --- [main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: Ant [pattern='/css/**'], []
2018-08-15 08:45:06.482  INFO 1 --- [main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: Ant [pattern='/img/**'], []
2018-08-15 08:45:06.483  INFO 1 --- [main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: Ant [pattern='/js/**'], []
2018-08-15 08:45:06.483  INFO 1 --- [main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: Ant [pattern='/assets/**'], []
2018-08-15 08:45:06.483  INFO 1 --- [main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: Ant [pattern='/webjars/**'], []
2018-08-15 08:45:06.605  INFO 1 --- [main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: org.springframework.security.web.util.matcher.AnyRequestMatcher@1, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2dde1bff, org.springframework.security.web.context.SecurityContextPersistenceFilter@34f5090e, org.springframework.security.web.header.HeaderWriterFilter@1613674b, org.springframework.security.web.authentication.logout.LogoutFilter@22e357dc, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@a2431d0, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1b6e1eff, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@15bbf42f, org.springframework.security.web.session.SessionManagementFilter@4e096385, org.springframework.security.web.access.ExceptionTranslationFilter@1e6454ec]
2018-08-15 08:45:06.655  WARN 1 --- [main] org.thymeleaf.templatemode.TemplateMode  : [THYMELEAF][main] Template Mode 'HTML5' is deprecated. Using Template Mode 'HTML' instead.
2018-08-15 08:45:07.456  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@6a5fc7f7: startup date [Wed Aug 15 08:44:59 UTC 2018]; root of context hierarchy
2018-08-15 08:45:07.622  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/admin]}" onto private java.lang.String eu.openanalytics.shinyproxy.controllers.AdminController.admin(org.springframework.ui.ModelMap,javax.servlet.http.HttpServletRequest)
2018-08-15 08:45:07.627  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/app/*],methods=[GET]}" onto public java.lang.String eu.openanalytics.shinyproxy.controllers.AppController.app(org.springframework.ui.ModelMap,javax.servlet.http.HttpServletRequest)
2018-08-15 08:45:07.629  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/app_direct/*],methods=[GET]}" onto public java.lang.Object eu.openanalytics.shinyproxy.controllers.AppController.appDirect(org.springframework.ui.ModelMap,javax.servlet.http.HttpServletRequest)
2018-08-15 08:45:07.635  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/app/*],methods=[POST]}" onto public java.util.Map<java.lang.String, java.lang.String> eu.openanalytics.shinyproxy.controllers.AppController.startApp(javax.servlet.http.HttpServletRequest)
2018-08-15 08:45:07.639  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/issue],methods=[POST]}" onto public java.lang.String eu.openanalytics.shinyproxy.controllers.IssueController.postIssue(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2018-08-15 08:45:07.641  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/]}" onto private java.lang.String eu.openanalytics.shinyproxy.controllers.IndexController.index(org.springframework.ui.ModelMap,javax.servlet.http.HttpServletRequest)
2018-08-15 08:45:07.645  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public java.lang.String eu.openanalytics.containerproxy.ui.ErrorController.handleError(org.springframework.ui.ModelMap,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2018-08-15 08:45:07.647  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],consumes=[application/json],produces=[application/json]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> eu.openanalytics.containerproxy.ui.ErrorController.error(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2018-08-15 08:45:07.649  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/login],methods=[GET]}" onto public java.lang.Object eu.openanalytics.containerproxy.ui.LoginController.getLoginPage(java.util.Optional<java.lang.String>,org.springframework.ui.ModelMap,javax.servlet.http.HttpServletRequest)
2018-08-15 08:45:07.666  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/proxy/{proxyId}],methods=[GET],produces=[application/json]}" onto public org.springframework.http.ResponseEntity<eu.openanalytics.containerproxy.model.runtime.Proxy> eu.openanalytics.containerproxy.api.ProxyController.getProxy(java.lang.String)
2018-08-15 08:45:07.667  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/proxyspec/{proxySpecId}],methods=[GET],produces=[application/json]}" onto public org.springframework.http.ResponseEntity<eu.openanalytics.containerproxy.model.spec.ProxySpec> eu.openanalytics.containerproxy.api.ProxyController.getProxySpec(java.lang.String)
2018-08-15 08:45:07.669  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/proxy/{proxySpecId}],methods=[POST],produces=[application/json]}" onto public org.springframework.http.ResponseEntity<eu.openanalytics.containerproxy.model.runtime.Proxy> eu.openanalytics.containerproxy.api.ProxyController.startProxy(java.lang.String,java.util.Set<eu.openanalytics.containerproxy.model.runtime.RuntimeSetting>)
2018-08-15 08:45:07.673  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/proxy],methods=[POST],produces=[application/json]}" onto public org.springframework.http.ResponseEntity<eu.openanalytics.containerproxy.model.runtime.Proxy> eu.openanalytics.containerproxy.api.ProxyController.startProxy(eu.openanalytics.containerproxy.model.spec.ProxySpec)
2018-08-15 08:45:07.673  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/proxy/{proxyId}],methods=[DELETE],produces=[application/json]}" onto public org.springframework.http.ResponseEntity<java.lang.String> eu.openanalytics.containerproxy.api.ProxyController.stopProxy(java.lang.String)
2018-08-15 08:45:07.674  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/proxyspec],methods=[GET],produces=[application/json]}" onto public java.util.List<eu.openanalytics.containerproxy.model.spec.ProxySpec> eu.openanalytics.containerproxy.api.ProxyController.listProxySpecs()
2018-08-15 08:45:07.675  INFO 1 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/api/proxy],methods=[GET],produces=[application/json]}" onto public java.util.List<eu.openanalytics.containerproxy.model.runtime.Proxy> eu.openanalytics.containerproxy.api.ProxyController.listProxies()
2018-08-15 08:45:07.801  INFO 1 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/assets/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-08-15 08:45:07.802  INFO 1 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-08-15 08:45:07.803  INFO 1 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-08-15 08:45:07.840  INFO 1 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : Detected @ExceptionHandler methods in baseController.RestErrorHandler
2018-08-15 08:45:07.906  INFO 1 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-08-15 08:45:08.117  INFO 1 --- [main] o.s.b.a.w.s.WelcomePageHandlerMapping    : Adding welcome page template: index
2018-08-15 08:45:08.307  INFO 1 --- [main] o.s.l.c.support.AbstractContextSource    : Property 'userDn' not set - anonymous context will be used for read-write operations
2018-08-15 08:45:08.815  INFO 1 --- [main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-08-15 08:45:08.822  INFO 1 --- [main] o.s.j.e.a.AnnotationMBeanExporter        : Bean with name 'dataSource' has been autodetected for JMX exposure
2018-08-15 08:45:08.838  INFO 1 --- [main] o.s.j.e.a.AnnotationMBeanExporter        : Located MBean 'dataSource': registering with JMX server as MBean [com.zaxxer.hikari:name=dataSource,type=HikariDataSource]
2018-08-15 08:45:08.990  INFO 1 --- [main] o.s.b.w.e.u.UndertowServletWebServer     : Undertow started on port(s) 8080 (http) with context path ''
2018-08-15 08:45:08.998  INFO 1 --- [main] e.o.c.ContainerProxyApplication          : Started ContainerProxyApplication in 10.467 seconds (JVM running for 11.512)
2018-08-15 08:45:16.882  INFO 1 --- [XNIO-2 task-1] io.undertow.servlet                      : Initializing Spring FrameworkServlet 'dispatcherServlet'
2018-08-15 08:45:16.883  INFO 1 --- [XNIO-2 task-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2018-08-15 08:45:16.946  INFO 1 --- [XNIO-2 task-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 63 ms
2018-08-15 08:45:22.590  INFO 1 --- [XNIO-2 task-16] c.s.docker.client.DefaultDockerClient    : Starting container with Id: 1df4bae170121a884891dec6a718ded321318aaa06787b1065e9a89429d14a91
2018-08-15 08:45:25.869  INFO 1 --- [XNIO-2 task-16] e.o.containerproxy.service.ProxyService  : Proxy activated [user: anonymousUser] [spec: 01_hello] [id: bfd6a892-3fc8-451a-894f-2776e7f1e54a]
2018-08-15 08:45:25.926 ERROR 1 --- [XNIO-2 I/O-1] io.undertow.request                      : UT005071: Undertow request failed HttpServerExchange{ GET /endpoint/bfd6a892-3fc8-451a-894f-2776e7f1e54a/ request {Accept=[text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8], Accept-Language=[nl-NL,nl;q=0.9,en-US;q=0.8,en;q=0.7], Cache-Control=[no-cache], Accept-Encoding=[gzip, deflate], Pragma=[no-cache], User-Agent=[Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36], Connection=[keep-alive], Referer=[http://redacted:8080/app/01_hello], Upgrade-Insecure-Requests=[1], Host=[redacted:8080]} response HttpServerExchange{ GET /endpoint/bfd6a892-3fc8-451a-894f-2776e7f1e54a/ request {Accept=[text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8], Accept-Language=[nl-NL,nl;q=0.9,en-US;q=0.8,en;q=0.7], Cache-Control=[no-cache], Accept-Encoding=[gzip, deflate], Pragma=[no-cache], User-Agent=[Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36], Connection=[keep-alive], Referer=[http://redacted/app/01_hello], Upgrade-Insecure-Requests=[1], Host=[redacted]} response {}}}

java.lang.NullPointerException: null
    at eu.openanalytics.containerproxy.util.ProxyMappingManager$MappingOwnerInfo.isSame(ProxyMappingManager.java:125) ~[containerproxy-0.2.1-SNAPSHOT.jar!/:0.2.1-SNAPSHOT]
    at eu.openanalytics.containerproxy.util.ProxyMappingManager.requestHasAccess(ProxyMappingManager.java:94) ~[containerproxy-0.2.1-SNAPSHOT.jar!/:0.2.1-SNAPSHOT]
    at eu.openanalytics.containerproxy.ContainerProxyApplication$ProtectedPathHandler.handleRequest(ContainerProxyApplication.java:100) ~[containerproxy-0.2.1-SNAPSHOT.jar!/:0.2.1-SNAPSHOT]
    at io.undertow.server.handlers.HttpContinueReadHandler.handleRequest(HttpContinueReadHandler.java:65) ~[undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:336) ~[undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
    at io.undertow.server.protocol.http.HttpReadListener.handleEventWithNoRunningRequest(HttpReadListener.java:255) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
    at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:136) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
    at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:59) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
    at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) [xnio-api-3.3.8.Final.jar!/:3.3.8.Final]
    at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66) [xnio-api-3.3.8.Final.jar!/:3.3.8.Final]
    at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:88) [xnio-nio-3.3.8.Final.jar!/:3.3.8.Final]
    at org.xnio.nio.WorkerThread.run(WorkerThread.java:561) [xnio-nio-3.3.8.Final.jar!/:3.3.8.Final]

PS, running the demo app container itself standalone works fine, running

docker run -v /var/run/docker.sock:/var/run/docker.sock --net sp-example-net -p 8080:3838  openanalytics/shinyproxy-demo

works without any problems.

Ok, I’m noticing another issue. For browsers where I have a cookie from a previous version of shinyproxy, the app loads, but if I clear the cookies or try from an incognito window I get a 500 error for the iframe target and if I load that url directly I get “Not authorized to access this proxy”

The logs look like this:

2018-08-15 10:38:51.646  INFO 1 --- [XNIO-2 task-6] e.o.containerproxy.service.ProxyService  : Proxy activated [user: anonymousUser] [spec: myApp] [id: 683b9161-37e9-4115-8754-8a195dc7f018]
2018-08-15 10:38:51.770 ERROR 1 --- [XNIO-2 I/O-2] io.undertow.request                      : UT005071: Undertow request failed HttpServerExchange{ GET /endpoint/683b9161-37e9-4115-8754-8a195dc7f018/ request {Accept=[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8], Accept-Language=[en-GB,en;q=0.5], Accept-Encoding=[gzip, deflate, br], DNT=[1], User-Agent=[Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0], Connection=[upgrade], Referer=[https://mysite_com/app/myApp], Upgrade-Insecure-Requests=[1], Host=[mysite_com]} response HttpServerExchange{ GET /endpoint/683b9161-37e9-4115-8754-8a195dc7f018/ request {Accept=[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8], Accept-Language=[en-GB,en;q=0.5], Accept-Encoding=[gzip, deflate, br], DNT=[1], User-Agent=[Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0], Connection=[upgrade], Referer=[https://mysite_com/app/myApp], Upgrade-Insecure-Requests=[1], Host=[mysite_com]} response {}}}

java.lang.NullPointerException: null
	at eu.openanalytics.containerproxy.util.ProxyMappingManager$MappingOwnerInfo.isSame(ProxyMappingManager.java:125) ~[containerproxy-0.2.1-SNAPSHOT.jar!/:0.2.1-SNAPSHOT]
	at eu.openanalytics.containerproxy.util.ProxyMappingManager.requestHasAccess(ProxyMappingManager.java:94) ~[containerproxy-0.2.1-SNAPSHOT.jar!/:0.2.1-SNAPSHOT]
	at eu.openanalytics.containerproxy.ContainerProxyApplication$ProtectedPathHandler.handleRequest(ContainerProxyApplication.java:100) ~[containerproxy-0.2.1-SNAPSHOT.jar!/:0.2.1-SNAPSHOT]
	at io.undertow.server.handlers.HttpContinueReadHandler.handleRequest(HttpContinueReadHandler.java:65) ~[undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:336) ~[undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
	at io.undertow.server.protocol.http.HttpReadListener.handleEventWithNoRunningRequest(HttpReadListener.java:255) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
	at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:136) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
	at io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:151) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
	at io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:92) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
	at io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:51) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) [xnio-api-3.3.8.Final.jar!/:3.3.8.Final]
	at org.xnio.ChannelListeners$10.handleEvent(ChannelListeners.java:291) [xnio-api-3.3.8.Final.jar!/:3.3.8.Final]
	at org.xnio.ChannelListeners$10.handleEvent(ChannelListeners.java:286) [xnio-api-3.3.8.Final.jar!/:3.3.8.Final]
	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) [xnio-api-3.3.8.Final.jar!/:3.3.8.Final]
	at org.xnio.nio.QueuedNioTcpServer$1.run(QueuedNioTcpServer.java:129) [xnio-nio-3.3.8.Final.jar!/:3.3.8.Final]
	at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:582) [xnio-nio-3.3.8.Final.jar!/:3.3.8.Final]
	at org.xnio.nio.WorkerThread.run(WorkerThread.java:466) [xnio-nio-3.3.8.Final.jar!/:3.3.8.Final]

I suspect this is related to the authentication: none setting in the config, because when I add simple authentication it works. My suspicion is that the fix for authentication: none from 2.0.0 to 2.0.1 didn’t quite fix it, though that’s a complete shot in the dark

[Note: I changed mysite.com to mysite_com due to the limit on the number of links I can have]

I can confirm that rolling back to 1.1.1 does fix this, so something for the shinyproxy folks to check out

Hi,

Looking at the stack traces, I believe this is indeed an issue with ‘none’ authentication, as reported here: