[ 
https://issues.apache.org/jira/browse/GUACAMOLE-919?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17011779#comment-17011779
 ] 

Mechanix edited comment on GUACAMOLE-919 at 1/9/20 12:47 PM:
-------------------------------------------------------------

[~mjumper] thanks for your reply. I've enabled debug logs on the guacamole 
deployment:

 

{{12:16:16.156 [http-nio-8080-exec-8] DEBUG o.a.g.resource.ResourceServlet - 
Resource not modified: "/app.css"}}
 {{12:16:16.167 [http-nio-8080-exec-7] DEBUG o.a.g.resource.ResourceServlet - 
Resource not modified: "/app.js"}}
 {{12:16:16.361 [http-nio-8080-exec-6] DEBUG o.a.i.t.jdbc.JdbcTransaction - 
Opening JDBC Connection}}
 {{12:16:16.361 [http-nio-8080-exec-6] DEBUG o.a.i.d.pooled.PooledDataSource - 
Checked out connection 52832043 from pool.}}
 {{12:16:16.361 [http-nio-8080-exec-6] DEBUG o.a.i.d.pooled.PooledDataSource - 
Testing connection 52832043 ...}}
 {{12:16:16.471 [http-nio-8080-exec-9] DEBUG o.a.g.resource.ResourceServlet - 
Resource not modified: "/translations/en.json"}}
 {{12:16:18.334 [http-nio-8080-exec-5] DEBUG o.a.i.t.jdbc.JdbcTransaction - 
Opening JDBC Connection *(blank page -  browser refresh page)*}}
 {{12:16:19.199 [http-nio-8080-exec-9] DEBUG o.a.i.t.jdbc.JdbcTransaction - 
Opening JDBC Connection *(blank page -  browser refresh page)*}}
 {{12:16:19.376 [http-nio-8080-exec-7] DEBUG o.a.i.t.jdbc.JdbcTransaction - 
Opening JDBC Connection *(blank page -  browser refresh page)*}}
 {{12:16:19.609 [http-nio-8080-exec-1] DEBUG o.a.i.t.jdbc.JdbcTransaction - 
Opening JDBC Connection *(blank page -  browser refresh page)*}}
 {{12:16:19.811 [http-nio-8080-exec-3] DEBUG o.a.i.t.jdbc.JdbcTransaction - 
Opening JDBC Connection  *(blank page -  browser refresh page)***}}
 {{12:17:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Checking for expired sessions...}}
 {{12:17:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Session check completed in 0 ms.}}
 {{12:17:12.809 [http-nio-8080-exec-8] DEBUG o.a.i.t.jdbc.JdbcTransaction - 
Opening JDBC Connection}}
 {{12:18:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Checking for expired sessions...}}
 {{12:18:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Session check completed in 0 ms.}}
 {{12:31:52.793 [http-nio-8080-exec-6] WARN o.a.i.d.pooled.PooledDataSource - 
Execution of ping query 'SELECT 1' failed: An I/O error occurred while sending 
to the backend.}}
 {{12:31:52.794 [http-nio-8080-exec-6] DEBUG o.a.i.d.pooled.PooledDataSource - 
Connection 52832043 is BAD: An I/O error occurred while sending to the 
backend.}}
 {{12:31:52.794 [http-nio-8080-exec-6] DEBUG o.a.i.d.pooled.PooledDataSource - 
A bad connection (52832043) was returned from the pool, getting another 
connection.}}
 {{12:31:52.794 [http-nio-8080-exec-6] DEBUG o.a.i.d.pooled.PooledDataSource - 
Checked out connection 699492272 from pool.}}
 {{12:31:52.794 [http-nio-8080-exec-6] DEBUG o.a.i.d.pooled.PooledDataSource - 
Testing connection 699492272 ...}}
 {{12:32:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Checking for expired sessions...}}
 {{12:32:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Session check completed in 0 ms.}}
 {{12:33:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Checking for expired sessions...}}
 {{12:33:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Session check completed in 0 ms.}}
 {{12:34:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Checking for expired sessions...}}
 {{12:34:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Session check completed in 0 ms.}}
 {{12:34:36.385 [http-nio-8080-exec-4] DEBUG o.a.g.resource.ResourceServlet - 
Resource not modified: "/app.css"}}
 {{12:34:36.393 [http-nio-8080-exec-2] DEBUG o.a.g.resource.ResourceServlet - 
Resource not modified: "/app.js"}}
 {{12:34:36.489 [http-nio-8080-exec-10] DEBUG o.a.i.t.jdbc.JdbcTransaction - 
Opening JDBC Connection}}
 {{12:34:36.563 [http-nio-8080-exec-2] DEBUG o.a.g.resource.ResourceServlet - 
Resource not modified: "/translations/en.json"}}

 

At this point every client gets a blank page. The only thing that helps is 
restarting the guacamole deployment.

 

Funny thing though: the blank page has following source:

 
{quote}
<!DOCTYPE html>
<!--
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements. See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership. The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied. See the License for the
 specific language governing permissions and limitations
 under the License.
-->
<html ng-app="index" ng-controller="indexController">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
 <meta http-equiv="x-ua-compatible" content="IE=edge"/>
 <meta name="viewport" content="width=device-width, initial-scale=1.0, 
maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, 
target-densitydpi=medium-dpi"/>
 <meta name="mobile-web-app-capable" content="yes"/>
 <meta name="apple-mobile-web-app-capable" content="yes"/>
 <link rel="icon" type="image/png" href="images/logo-64.png"/>
 <link rel="icon" type="image/png" sizes="144x144" href="images/logo-144.png"/>
 <link rel="apple-touch-icon" type="image/png" href="images/logo-144.png"/>
 <link rel="stylesheet" type="text/css" href="app.css?v=1.0.0">
 <title ng-bind="page.title | translate"></title>
 </head>
 <body ng-class="page.bodyClassName">

<!-- Content for logged-in users -->
 <div ng-if="!expectedCredentials">
 
 <!-- Global status/error dialog -->
 <div ng-class="\{shown: guacNotification.getStatus()}" class="status-outer">
 <div class="status-middle">
 <guac-notification 
notification="guacNotification.getStatus()"></guac-notification>
 </div>
 </div>
 
 <div id="content" ng-view>
 </div>
 
 </div>

<!-- Login screen for logged-out users -->
 <guac-login ng-show="expectedCredentials"
 help-text="loginHelpText"
 form="expectedCredentials"
 values="acceptedCredentials"></guac-login>

<!-- Reformat URL for AngularJS if query parameters are present -->
 <script type="text/javascript" src="relocateParameters.js"></script>

<!-- Utility libraries -->
 <script type="text/javascript" 
src="webjars/jquery/3.3.1/dist/jquery.min.js"></script>
 <script type="text/javascript" 
src="webjars/lodash/4.17.10/dist/lodash.min.js"></script>

<!-- AngularJS -->
 <script type="text/javascript" 
src="webjars/angular/1.6.9/angular.min.js"></script>
 <script type="text/javascript" 
src="webjars/angular-route/1.6.9/angular-route.min.js"></script>
 <script type="text/javascript" 
src="webjars/angular-touch/1.6.9/angular-touch.min.js"></script>

<!-- Internationalization -->
 <script type="text/javascript" 
src="webjars/messageformat/1.0.2/messageformat.min.js"></script>
 <script type="text/javascript" 
src="webjars/angular-translate/2.16.0/angular-translate.min.js"></script>
 <script type="text/javascript" 
src="webjars/angular-translate-interpolation-messageformat/2.16.0/angular-translate-interpolation-messageformat.min.js"></script>
 <script type="text/javascript" 
src="webjars/angular-translate-loader-static-files/2.16.0/angular-translate-loader-static-files.min.js"></script>

<!-- Polyfills for the "datalist" element, Blob and the FileSaver API -->
 <script type="text/javascript" 
src="webjars/blob-polyfill/1.0.20150320/Blob.js"></script>
 <script type="text/javascript" 
src="webjars/datalist-polyfill/1.14.0/datalist-polyfill.min.js"></script>
 <script type="text/javascript" 
src="webjars/filesaver/1.3.3/FileSaver.min.js"></script>

<!-- Allow arbitrary ordering of Angular module creation and retrieval -->
 <script type="text/javascript" 
src="webjars/angular-module-shim/0.0.4/angular-module-shim.js"></script>

<!-- Web application -->
 <script type="text/javascript" src="app.js?v=1.0.0"></script>

</body>
</html>
{quote}
 


was (Author: mechanix):
[~mjumper] thanks for your reply. I've enabled debug logs on the guacamole 
deployment:

 

{{12:16:16.156 [http-nio-8080-exec-8] DEBUG o.a.g.resource.ResourceServlet - 
Resource not modified: "/app.css"}}
{{12:16:16.167 [http-nio-8080-exec-7] DEBUG o.a.g.resource.ResourceServlet - 
Resource not modified: "/app.js"}}
{{12:16:16.361 [http-nio-8080-exec-6] DEBUG o.a.i.t.jdbc.JdbcTransaction - 
Opening JDBC Connection}}
{{12:16:16.361 [http-nio-8080-exec-6] DEBUG o.a.i.d.pooled.PooledDataSource - 
Checked out connection 52832043 from pool.}}
{{12:16:16.361 [http-nio-8080-exec-6] DEBUG o.a.i.d.pooled.PooledDataSource - 
Testing connection 52832043 ...}}
{{12:16:16.471 [http-nio-8080-exec-9] DEBUG o.a.g.resource.ResourceServlet - 
Resource not modified: "/translations/en.json"}}
{{12:16:18.334 [http-nio-8080-exec-5] DEBUG o.a.i.t.jdbc.JdbcTransaction - 
Opening JDBC Connection *(blank page -  browser refresh page)*}}
{{12:16:19.199 [http-nio-8080-exec-9] DEBUG o.a.i.t.jdbc.JdbcTransaction - 
Opening JDBC Connection *(blank page -  browser refresh page)*}}
{{12:16:19.376 [http-nio-8080-exec-7] DEBUG o.a.i.t.jdbc.JdbcTransaction - 
Opening JDBC Connection *(blank page -  browser refresh page)*}}
{{12:16:19.609 [http-nio-8080-exec-1] DEBUG o.a.i.t.jdbc.JdbcTransaction - 
Opening JDBC Connection *(blank page -  browser refresh page)*}}
{{12:16:19.811 [http-nio-8080-exec-3] DEBUG o.a.i.t.jdbc.JdbcTransaction - 
Opening JDBC Connection  *(blank page -  browser refresh page)***}}
{{12:17:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Checking for expired sessions...}}
{{12:17:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Session check completed in 0 ms.}}
{{12:17:12.809 [http-nio-8080-exec-8] DEBUG o.a.i.t.jdbc.JdbcTransaction - 
Opening JDBC Connection}}
{{12:18:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Checking for expired sessions...}}
{{12:18:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Session check completed in 0 ms.}}
{{12:31:52.793 [http-nio-8080-exec-6] WARN o.a.i.d.pooled.PooledDataSource - 
Execution of ping query 'SELECT 1' failed: An I/O error occurred while sending 
to the backend.}}
{{12:31:52.794 [http-nio-8080-exec-6] DEBUG o.a.i.d.pooled.PooledDataSource - 
Connection 52832043 is BAD: An I/O error occurred while sending to the 
backend.}}
{{12:31:52.794 [http-nio-8080-exec-6] DEBUG o.a.i.d.pooled.PooledDataSource - A 
bad connection (52832043) was returned from the pool, getting another 
connection.}}
{{12:31:52.794 [http-nio-8080-exec-6] DEBUG o.a.i.d.pooled.PooledDataSource - 
Checked out connection 699492272 from pool.}}
{{12:31:52.794 [http-nio-8080-exec-6] DEBUG o.a.i.d.pooled.PooledDataSource - 
Testing connection 699492272 ...}}
{{12:32:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Checking for expired sessions...}}
{{12:32:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Session check completed in 0 ms.}}
{{12:33:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Checking for expired sessions...}}
{{12:33:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Session check completed in 0 ms.}}
{{12:34:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Checking for expired sessions...}}
{{12:34:12.064 [pool-1-thread-1] DEBUG o.a.g.rest.auth.HashTokenSessionMap - 
Session check completed in 0 ms.}}
{{12:34:36.385 [http-nio-8080-exec-4] DEBUG o.a.g.resource.ResourceServlet - 
Resource not modified: "/app.css"}}
{{12:34:36.393 [http-nio-8080-exec-2] DEBUG o.a.g.resource.ResourceServlet - 
Resource not modified: "/app.js"}}
{{12:34:36.489 [http-nio-8080-exec-10] DEBUG o.a.i.t.jdbc.JdbcTransaction - 
Opening JDBC Connection}}
{{12:34:36.563 [http-nio-8080-exec-2] DEBUG o.a.g.resource.ResourceServlet - 
Resource not modified: "/translations/en.json"}}

 

At this point every client gets a blank page. The only thing that helps is 
restarting the guacamole deployment.

 

Funny thing though: the blank page has following source:

{{}}{{<!DOCTYPE html>}}
{{<!--}}
{{ Licensed to the Apache Software Foundation (ASF) under one}}
{{ or more contributor license agreements. See the NOTICE file}}
{{ distributed with this work for additional information}}
{{ regarding copyright ownership. The ASF licenses this file}}
{{ to you under the Apache License, Version 2.0 (the}}
{{ "License"); you may not use this file except in compliance}}
{{ with the License. You may obtain a copy of the License 
at}}{{http://www.apache.org/licenses/LICENSE-2.0}}{{Unless required by 
applicable law or agreed to in writing,}}
{{ software distributed under the License is distributed on an}}
{{ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY}}
{{ KIND, either express or implied. See the License for the}}
{{ specific language governing permissions and limitations}}
{{ under the License.}}
{{-->}}
{{<html ng-app="index" ng-controller="indexController">}}
{{ <head>}}
{{ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>}}
{{ <meta http-equiv="x-ua-compatible" content="IE=edge"/>}}
{{ <meta name="viewport" content="width=device-width, initial-scale=1.0, 
maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, 
target-densitydpi=medium-dpi"/>}}
{{ <meta name="mobile-web-app-capable" content="yes"/>}}
{{ <meta name="apple-mobile-web-app-capable" content="yes"/>}}
{{ <link rel="icon" type="image/png" href="images/logo-64.png"/>}}
{{ <link rel="icon" type="image/png" sizes="144x144" 
href="images/logo-144.png"/>}}
{{ <link rel="apple-touch-icon" type="image/png" href="images/logo-144.png"/>}}
{{ <link rel="stylesheet" type="text/css" href="app.css?v=1.0.0">}}
{{ <title ng-bind="page.title | translate"></title>}}
{{ </head>}}
{{ <body ng-class="page.bodyClassName">}}{{<!-- Content for logged-in users 
-->}}
{{ <div ng-if="!expectedCredentials">}}

{{ <!-- Global status/error dialog -->}}
{{ <div ng-class="\{shown: guacNotification.getStatus()}" 
class="status-outer">}}
{{ <div class="status-middle">}}
{{ <guac-notification 
notification="guacNotification.getStatus()"></guac-notification>}}
{{ </div>}}
{{ </div>}}

{{ <div id="content" ng-view>}}
{{ </div>}}

{{ </div>}}{{<!-- Login screen for logged-out users -->}}
{{ <guac-login ng-show="expectedCredentials"}}
{{ help-text="loginHelpText"}}
{{ form="expectedCredentials"}}
{{ values="acceptedCredentials"></guac-login>}}{{<!-- Reformat URL for 
AngularJS if query parameters are present -->}}
{{ <script type="text/javascript" src="relocateParameters.js"></script>}}{{<!-- 
Utility libraries -->}}
{{ <script type="text/javascript" 
src="webjars/jquery/3.3.1/dist/jquery.min.js"></script>}}
{{ <script type="text/javascript" 
src="webjars/lodash/4.17.10/dist/lodash.min.js"></script>}}{{<!-- AngularJS 
-->}}
{{ <script type="text/javascript" 
src="webjars/angular/1.6.9/angular.min.js"></script>}}
{{ <script type="text/javascript" 
src="webjars/angular-route/1.6.9/angular-route.min.js"></script>}}
{{ <script type="text/javascript" 
src="webjars/angular-touch/1.6.9/angular-touch.min.js"></script>}}{{<!-- 
Internationalization -->}}
{{ <script type="text/javascript" 
src="webjars/messageformat/1.0.2/messageformat.min.js"></script>}}
{{ <script type="text/javascript" 
src="webjars/angular-translate/2.16.0/angular-translate.min.js"></script>}}
{{ <script type="text/javascript" 
src="webjars/angular-translate-interpolation-messageformat/2.16.0/angular-translate-interpolation-messageformat.min.js"></script>}}
{{ <script type="text/javascript" 
src="webjars/angular-translate-loader-static-files/2.16.0/angular-translate-loader-static-files.min.js"></script>}}{{<!--
 Polyfills for the "datalist" element, Blob and the FileSaver API -->}}
{{ <script type="text/javascript" 
src="webjars/blob-polyfill/1.0.20150320/Blob.js"></script>}}
{{ <script type="text/javascript" 
src="webjars/datalist-polyfill/1.14.0/datalist-polyfill.min.js"></script>}}
{{ <script type="text/javascript" 
src="webjars/filesaver/1.3.3/FileSaver.min.js"></script>}}{{<!-- Allow 
arbitrary ordering of Angular module creation and retrieval -->}}
{{ <script type="text/javascript" 
src="webjars/angular-module-shim/0.0.4/angular-module-shim.js"></script>}}{{<!--
 Web application -->}}
{{ <script type="text/javascript" src="app.js?v=1.0.0"></script>}}{{</body>}}
{{</html>}}

> An I/O error occurred while sending to the backend
> --------------------------------------------------
>
>                 Key: GUACAMOLE-919
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-919
>             Project: Guacamole
>          Issue Type: Bug
>          Components: guacamole-auth-jdbc-postgresql
>    Affects Versions: 1.0.0
>            Reporter: Mechanix
>            Priority: Major
>
> Hi,
> we use guacamole with postgresql and openid extension. Guacamole and guacd is 
> deployed inside a k8s cluster.
> For some reason, the authentication doesn't succeed sporadically; there is 
> only a blank page and this error message in the guacamole log:
> *[pool-1-thread-1] WARN o.a.i.d.pooled.PooledDataSource - Execution of ping 
> query 'SELECT 1' failed: An I/O error occurred while sending to the backend.*
> I suspect there is a weird timeout happening between guacamole and postgresql 
> but could figure out why.
> Any hints are much appreciated. Thanks
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to