[ https://issues.apache.org/jira/browse/GUACAMOLE-2052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mike Jumper closed GUACAMOLE-2052. ---------------------------------- Resolution: Fixed > Logging of request details fails with recent Tomcat > --------------------------------------------------- > > Key: GUACAMOLE-2052 > URL: https://issues.apache.org/jira/browse/GUACAMOLE-2052 > Project: Guacamole > Issue Type: Bug > Components: guacamole-ext > Affects Versions: 1.6.0 > Reporter: Mike Jumper > Assignee: Mike Jumper > Priority: Blocker > Fix For: 1.6.0 > > > When testing {{staging/1.6.0}} under Tomcat 9.0.91, I encounter the following > exception filling the logs: > {code:none} > 14:33:47.769 [http-nio-8181-exec-1] DEBUG o.a.g.event.EventLoggingListener - > User "guacadmin" (authenticated by "postgresql") successfully > re-authenticated their existing session from [FAILED toString()] > SLF4J(E): Failed toString() invocation on an object of type > [org.apache.guacamole.event.RemoteAddress] > SLF4J(E): Reported exception: > java.lang.IllegalStateException: The request object has been recycled and is > no longer associated with this facade > at > org.apache.catalina.connector.RequestFacade.checkFacade(RequestFacade.java:856) > at > org.apache.catalina.connector.RequestFacade.getHeader(RequestFacade.java:516) > at > javax.servlet.http.HttpServletRequestWrapper.getHeader(HttpServletRequestWrapper.java:82) > at > javax.servlet.http.HttpServletRequestWrapper.getHeader(HttpServletRequestWrapper.java:82) > at > javax.servlet.http.HttpServletRequestWrapper.getHeader(HttpServletRequestWrapper.java:82) > at > org.apache.guacamole.event.RemoteAddress.toString(RemoteAddress.java:86) > ... > at > org.apache.guacamole.rest.auth.TokenRESTService.createToken(TokenRESTService.java:174) > at > java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) > at java.base/java.lang.reflect.Method.invoke(Method.java:580) > ... > {code} > This is caused by Tomcat recycling the underlying request object, which is > then no longer usable via the facade stored within the {{Credentials}} > object. The new behavior looks to be either the result of new defaults or new > sanity checks. > We'll have to start storing the most relevant parts of the request directly > within {{Credentials}} instead of relying on direct access to the request. -- This message was sent by Atlassian Jira (v8.20.10#820010)