You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@guacamole.apache.org by HASENOHR Paul <Pa...@ec.europa.eu.INVALID> on 2024/11/28 13:27:07 UTC

Maximum number of simultaneous RDP connections

Hello,

We have been using Guacamole for the past years with great satisfaction for our users. Guacamole is running on Docker (standard images to which a custom CA has been added) on a Debian 12 VM.
We noticed today during a training that led to an increase of the number of concurrent connections that we could not exceed 55-58 RDP connections. Any other attempt to connect to any RDP server (several machines running Ubuntu 22.04 with xorgxrdp, some of them without any load) returned immediately a black screen with the message “You have been disconnected”.

In the guacd logs, any failed connection was logged as follows:
guacd[1]: INFO: Creating new client for protocol "rdp"
guacd[1]: INFO: Connection ID is "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa"
guacd[1916025]: INFO:   Security mode: TLS
guacd[1916025]: INFO:   Resize method: display-update
guacd[1916025]: INFO:   No clipboard line-ending normalization specified. Defaulting to preserving the format of all line endings.
guacd[1916025]: INFO:   User "@b2935015-b864-4928-a674-2c26ed1dd45d" joined connection "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa" (1 users now present)
guacd[1916025]: INFO:   Recording of session will be saved to "/recording//20241128_100346_XXXXXXXXXX-terminal-004-M_N".
guacd[1916025]: INFO:   Loading keymap "base"
guacd[1916025]: INFO:   Loading keymap "en-us-qwerty"
guacd[1]: INFO: Connection "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa" removed.

The connection issues have been reported between 11:00 and 12:15 but as can be seen below, the network, cpu and memory consumptions remained very reasonable

[cid:image001.png@01DB41A0.380F9640]

[cid:image002.png@01DB41A0.7B6745A0]

[cid:image003.png@01DB41A1.9906EE70]

When the access to RDP connections was not working, it was usually (although not always) possible to connect to SSH connections.
Would anybody have a suggestion as to what could have prevented users from connecting to the servers accessible through RDP connections?

Best regards,
Paul


Re: ***UNCHECKED*** RE: Maximum number of simultaneous RDP connections

Posted by Sean Hulbert <sh...@securitycentric.net.INVALID>.
Here are some tuning specifications we use for High Availability (HA) 
environments.


To optimize *Apache Guacamole* for handling 10,000 users, you should 
consider allocating resources based on the following factors:


*1. CPU*

  * *Minimum*: 8 vCPUs
  * *Optimal*: 16-32 vCPUs depending on the intensity of user sessions
    and the types of remote connections (e.g., RDP, VNC, SSH).
      o Guacamole's backend services (Tomcat) and the guacd daemon
        benefit from higher CPU cores for concurrent session management.

*2. RAM*

  * *Minimum*: 16 GB
  * *Optimal*: 32-64 GB
      o Allocate memory based on the average session count and types of
        connections (e.g., RDP requires more RAM per session compared to
        SSH).

*
*

*3. Storage*

  * *Disk Space*: Depends on log retention, drive sharing, and session
    recording needs.
      o *Base Installation*: ~10 GB
      o Allocate additional space for:
          + Logs: 100 GB+ if extensive logging is enabled.
          + File sharing: Depends on user needs.
  * Use SSDs for better performance.

*
*

*4. Network*

  * *Bandwidth*: At least 1 Gbps is required for smooth operation; 10
    Gbps is ideal for high-volume environments.
      o Each session consumes about *50–150 kbps*, depending on the
        resolution and activity level.
  * Configure network settings for optimal performance:
      o Ensure low latency for remote connections.
      o Use load balancing if needed.

*
*

*5. Guacamole Configuration*

  * *guacd Instances*: Each guacd instance can handle ~100–200
    simultaneous sessions.
      o Deploy multiple guacd instances using Docker or separate servers
        for scaling.
      o Use a load balancer (e.g., NGINX, HAProxy) to distribute traffic
        among guacd instances.

*6. Tomcat (Guacamole Web Application) Tuning*

  * *Heap Size*: Set the Java heap size for Tomcat:


-Xms8g -Xmx16g


This provides 8–16 GB of memory for the web application.

  * *Thread Configuration*: Increase the number of threads in the Tomcat
    connector configuration in server.xml:


<Connector port="8080" protocol="HTTP/1.1"

maxThreads="500"

minSpareThreads="100"

connectionTimeout="20000"

URIEncoding="UTF-8"/>

*
*

*7. Database*

  * Guacamole stores user information and connection details in a
    database (e.g., MySQL, PostgreSQL).
      o Ensure proper indexing for large user bases.
      o Use *read replicas* for load distribution if querying becomes heavy.

*
*

*8. Scalability*

  * Use a *clustered architecture*:
      o Multiple application servers for the Guacamole front-end.
      o Multiple guacd servers distributed via a load balancer.
      o Centralized database with high availability.

*
*

*9. Monitoring*

Implement monitoring tools to ensure resource utilization and 
performance stability:

  * *CPU and RAM*: Monitor usage and scale horizontally/vertically as
    needed.
  * *Session Metrics*: Monitor active session counts and peak usage times.
  * *Logs*: Centralized logging (e.g., ELK stack) for analyzing errors
    and trends.

*Example Deployment for 10,000 Users:*

  * *Front-end Servers*: 4 (each with 8 vCPUs, 16–32 GB RAM).
  * *guacd Servers*: 5–10 instances (each with 8 vCPUs, 16 GB RAM).
  * *Database*: 1 primary + 1 replica (8 vCPUs, 32 GB RAM).


This setup should handle 10,000 concurrent users effectively while 
maintaining a responsive system.

Hope this helps



*Thank You*
Sean Hulbert


*Security Centric Inc.*
A Cybersecurity Virtualization Enablement Company
/StormCloud Gov, Protected CUI Environment!/


Industry's most secure CMMC/iTAR virtual desktops!


*/FedRAMP MIL4 in process (RAR)/*
System Award Management
*CAGE: 8AUV4*
*SAM ID: UMJLJ8A7BMT3*

AFCEA San Francisco Chapter President
If you have heard of a hacker by name, he/she has failed, fear the 
hacker you haven’t heard of!

CONFIDENTIALITY NOTICE: This communication with its contents may contain 
confidential and/or legally privileged information. It is solely for the 
use of the intended recipient(s). Unauthorized interception, review, use 
or disclosure is prohibited and may violate applicable laws including 
the Electronic Communications Privacy Act. If you are not the intended 
recipient, please contact the sender and destroy all copies of the 
communication. Content within this email communication is not legally 
binding as a contract and no promises are guaranteed unless in a formal 
contract outside this email communication.

igitur qui desiderat pacem, praeparet bellum!!!

Epitoma Rei Militaris

On 12/8/2024 11:02 AM, Sean Hulbert wrote:
>
> This is generally a resource issue,
>
> On the Guacamole System what is your vCPU, RAM?
>
> Keep in mind you will need to increase the transaction threads on the 
> web server are you using Apache or NGINX?
>
> we manage 2000+ connections load balance across 3 guacamole systems.
>
>   * vCPU 24 ( 2 Sockets (4 Cores) - 8 Cores 16 Threads)
>   * 64Gb RAM
>   * 10GBps (NIC-TEAMING)
>
> Note; this is not a container, but a VDI compiled version of Guacamole 
> using MariaDB, MFA and a tuned NGINX install.
>
> *Thank You*
> Sean Hulbert
>
>
>
> *Security Centric Inc.*
> A Cybersecurity Virtualization Enablement Company
> /StormCloud Gov, Protected CUI Environment!/
>
>
> Industry's most secure CMMC/iTAR virtual desktops!
>
>
> */FedRAMP MIL4 in process (RAR)/*
> System Award Management
> *CAGE: 8AUV4*
> *SAM ID: UMJLJ8A7BMT3*
>
> AFCEA San Francisco Chapter President
> If you have heard of a hacker by name, he/she has failed, fear the 
> hacker you haven’t heard of!
>
> CONFIDENTIALITY NOTICE: This communication with its contents may 
> contain confidential and/or legally privileged information. It is 
> solely for the use of the intended recipient(s). Unauthorized 
> interception, review, use or disclosure is prohibited and may violate 
> applicable laws including the Electronic Communications Privacy Act. 
> If you are not the intended recipient, please contact the sender and 
> destroy all copies of the communication. Content within this email 
> communication is not legally binding as a contract and no promises are 
> guaranteed unless in a formal contract outside this email communication.
>
> igitur qui desiderat pacem, praeparet bellum!!!
>
> Epitoma Rei Militaris
>
> On 12/6/2024 11:01 AM, HASENOHR Paul wrote:
>>
>> Dear Nick,
>>
>> As promised, I ran some further tests.
>>
>> With the help of a colleague, we could reproduce the issue on a test 
>> instance (max 59 concurrent RDP connections).
>>
>> After having created 80 user accounts linked evenly to one out of 4 
>> rdp connections (towards xrdp servers), the test protocol was the 
>> following:
>>
>> -With selenium, launch 60 chrome headless instances connecting to 
>> Guacamole (one every 20s):
>>
>> oT0: towards RDP1
>>
>> oT0+20: towards RDP2
>>
>> oT0+40: towards RDP3
>>
>> oT0+60: towards RDP4
>>
>> oT0+80: towards RDP1 and so on
>>
>> -Launch a 61^st instance one minute after the 60th
>>
>> -Take a “screenshot” 10s after having initiated the connection
>>
>> -Keep each connection active for 30 minutes
>>
>> The outcome is the following (with T0=2024-12-06T14:42:45Z):
>>
>> -At 15:00:24 (GMT), a connection could not be established and the 
>> following log entries could be found:
>>
>> oIn /var/log/messages (GMT+1):
>>
>> Dec 6 16:00:24 s-jrciprjeop151p kernel: traps: guacd[67983] general 
>> protection fault ip:7f8b34a97664 sp:7f8ae349ce28 error:0 in 
>> ld-musl-x86_64.so.1[7f8b34a86000+4c000]
>>
>> oIn the guacd Docker container logs:
>>
>> 2024-12-06T15:00:24.770823151Z guacd[1]: INFO:  Creating new client 
>> for protocol "rdp"
>>
>> 2024-12-06T15:00:24.774091622Z guacd[1]: INFO:  Connection ID is 
>> "$2ba7c0c0-60cf-41d9-a970-2bc20f15c624"
>>
>> 2024-12-06T15:00:24.890940897Z guacd[1]: INFO:  Connection 
>> "$2ba7c0c0-60cf-41d9-a970-2bc20f15c624" removed.
>>
>> 2024-12-06T15:00:24.890979827Z guacd[1]: DEBUG: Unable to request 
>> termination of client process: No such process
>>
>> 2024-12-06T15:00:24.890994171Z guacd[1]: DEBUG: All child processes 
>> for connection "$2ba7c0c0-60cf-41d9-a970-2bc20f15c624" have been 
>> terminated.
>>
>> oIn addition, a core dump has been generated: 
>> core-guacd.12920.8a6bb6a83b86.1733497224 (attached to that message, 
>> 1.3GB uncompressed)
>>
>> -At 15:03:04 (GMT), the 61^st selenium process tried to create what 
>> was in fact the 60^th RDP connection (as the session of 15:00:24 
>> could not be created) and it failed to do so with the following guacd 
>> log entries repeated roughly every 15 seconds until the first 
>> selenium process got stopped and the associated connection removed
>>
>> oLog entries for failed attempts to connect:
>>
>> 2024-12-06T15:03:04.687449173Z guacd[1]: INFO:  Creating new client 
>> for protocol "rdp"
>>
>> 2024-12-06T15:03:04.691148814Z guacd[1]: INFO:  Connection ID is 
>> "$ff003e4a-7527-4e5f-9e61-bdf6b10a5536"
>>
>> 2024-12-06T15:03:04.702893330Z guacd[14114]: DEBUG:     Processing 
>> instruction: size
>>
>> 2024-12-06T15:03:04.702942741Z guacd[14114]: DEBUG:     Processing 
>> instruction: audio
>>
>> 2024-12-06T15:03:04.702952374Z guacd[14114]: DEBUG:     Processing 
>> instruction: video
>>
>> 2024-12-06T15:03:04.702959284Z guacd[14114]: DEBUG:     Processing 
>> instruction: image
>>
>> 2024-12-06T15:03:04.702965978Z guacd[14114]: DEBUG:     Processing 
>> instruction: timezone
>>
>> 2024-12-06T15:03:04.702972998Z guacd[14114]: DEBUG:     Processing 
>> instruction: name
>>
>> 2024-12-06T15:03:04.703154230Z guacd[14114]: DEBUG:     Parameter 
>> "console" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.703198283Z guacd[14114]: DEBUG:     Parameter 
>> "console-audio" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.703355499Z guacd[14114]: DEBUG:     Parameter 
>> "ignore-cert" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.703433340Z guacd[14114]: DEBUG:     Parameter 
>> "disable-auth" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.703442113Z guacd[14114]: INFO:      Security 
>> mode: TLS
>>
>> 2024-12-06T15:03:04.703450913Z guacd[14114]: DEBUG:     User 
>> resolution is 1024x629 at 96 DPI
>>
>> 2024-12-06T15:03:04.703458296Z guacd[14114]: DEBUG:     Parameter 
>> "dpi" omitted. Using default value of 96.
>>
>> 2024-12-06T15:03:04.703478890Z guacd[14114]: DEBUG:     Using 
>> resolution of 1024x629 at 96 DPI
>>
>> 2024-12-06T15:03:04.703488497Z guacd[14114]: DEBUG:     Parameter 
>> "force-lossless" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.703496257Z guacd[14114]: DEBUG:     Parameter 
>> "read-only" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.703532181Z guacd[14114]: DEBUG:     Parameter 
>> "client-name" omitted. Using default value of "Guacamole RDP".
>>
>> 2024-12-06T15:03:04.703542197Z guacd[14114]: DEBUG:     Parameter 
>> "enable-wallpaper" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.703578781Z guacd[14114]: DEBUG:     Parameter 
>> "enable-theming" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.703587648Z guacd[14114]: DEBUG:     Parameter 
>> "enable-font-smoothing" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.703676486Z guacd[14114]: DEBUG:     Parameter 
>> "enable-full-window-drag" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.703703149Z guacd[14114]: DEBUG:     Parameter 
>> "enable-desktop-composition" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.703829234Z guacd[14114]: DEBUG:     Parameter 
>> "enable-menu-animations" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.703902675Z guacd[14114]: DEBUG:     Parameter 
>> "disable-bitmap-caching" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.703959216Z guacd[14114]: DEBUG:     Parameter 
>> "disable-offscreen-caching" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.703976189Z guacd[14114]: DEBUG:     Parameter 
>> "disable-glyph-caching" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.703984942Z guacd[14114]: DEBUG:     Glyph caching 
>> is currently universally disabled, regardless of the value of the 
>> "disable-glyph-caching" parameter, as glyph caching support is not 
>> considered stable by FreeRDP as of the FreeRDP 2.0.0 release. See: 
>> https://issues.apache.org/jira/browse/GUACAMOLE-1191
>>
>> 2024-12-06T15:03:04.703992912Z guacd[14114]: DEBUG:     Parameter 
>> "color-depth" omitted. Using default value of 16.
>>
>> 2024-12-06T15:03:04.704000129Z guacd[14114]: DEBUG:     Parameter 
>> "enable-printing" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704007309Z guacd[14114]: DEBUG:     Parameter 
>> "printer-name" omitted. Using default value of "Guacamole Printer".
>>
>> 2024-12-06T15:03:04.704018796Z guacd[14114]: DEBUG:     Parameter 
>> "enable-drive" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704027636Z guacd[14114]: DEBUG:     Parameter 
>> "drive-name" omitted. Using default value of "Guacamole Filesystem".
>>
>> 2024-12-06T15:03:04.704037463Z guacd[14114]: DEBUG:     Parameter 
>> "drive-path" omitted. Using default value of "".
>>
>> 2024-12-06T15:03:04.704044590Z guacd[14114]: DEBUG:     Parameter 
>> "create-drive-path" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704074503Z guacd[14114]: DEBUG:     Parameter 
>> "timezone" omitted. Using default value of "Europe/Bucharest".
>>
>> 2024-12-06T15:03:04.704082760Z guacd[14114]: DEBUG:     Parameter 
>> "enable-sftp" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704123764Z guacd[14114]: DEBUG:     Parameter 
>> "sftp-hostname" omitted. Using default value of 
>> "s-jrciprjeos144p.cidsn.jrc.it".
>>
>> 2024-12-06T15:03:04.704149121Z guacd[14114]: DEBUG:     Parameter 
>> "sftp-port" omitted. Using default value of "22".
>>
>> 2024-12-06T15:03:04.704199205Z guacd[14114]: DEBUG:     Parameter 
>> "sftp-username" omitted. Using default value of "".
>>
>> 2024-12-06T15:03:04.704224352Z guacd[14114]: DEBUG:     Parameter 
>> "sftp-password" omitted. Using default value of "".
>>
>> 2024-12-06T15:03:04.704231665Z guacd[14114]: DEBUG:     Parameter 
>> "sftp-passphrase" omitted. Using default value of "".
>>
>> 2024-12-06T15:03:04.704293443Z guacd[14114]: DEBUG:     Parameter 
>> "sftp-root-directory" omitted. Using default value of "/".
>>
>> 2024-12-06T15:03:04.704324016Z guacd[14114]: DEBUG:     Parameter 
>> "sftp-server-alive-interval" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704336816Z guacd[14114]: DEBUG:     Parameter 
>> "sftp-disable-download" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704348143Z guacd[14114]: DEBUG:     Parameter 
>> "sftp-disable-upload" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704360607Z guacd[14114]: DEBUG:     Parameter 
>> "recording-name" omitted. Using default value of "recording".
>>
>> 2024-12-06T15:03:04.704421761Z guacd[14114]: DEBUG:     Parameter 
>> "recording-exclude-output" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704439167Z guacd[14114]: DEBUG:     Parameter 
>> "recording-exclude-mouse" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704534589Z guacd[14114]: DEBUG:     Parameter 
>> "recording-exclude-touch" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704572016Z guacd[14114]: DEBUG:     Parameter 
>> "recording-include-keys" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704586469Z guacd[14114]: DEBUG:     Parameter 
>> "create-recording-path" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704594846Z guacd[14114]: INFO:      Resize 
>> method: none
>>
>> 2024-12-06T15:03:04.704602279Z guacd[14114]: DEBUG:     Parameter 
>> "enable-touch" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704618049Z guacd[14114]: DEBUG:     Parameter 
>> "enable-audio-input" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704626053Z guacd[14114]: DEBUG:     Parameter 
>> "gateway-port" omitted. Using default value of 443.
>>
>> 2024-12-06T15:03:04.704632533Z guacd[14114]: DEBUG:     Parameter 
>> "disable-copy" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704677454Z guacd[14114]: DEBUG:     Parameter 
>> "disable-paste" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704688920Z guacd[14114]: INFO:      No clipboard 
>> line-ending normalization specified. Defaulting to preserving the 
>> format of all line endings.
>>
>> 2024-12-06T15:03:04.704697854Z guacd[14114]: DEBUG:     Parameter 
>> "wol-send-packet" omitted. Using default value of 0.
>>
>> 2024-12-06T15:03:04.704821772Z guacd[14114]: INFO:      User 
>> "@f8a7f328-eb75-41e3-8b62-88b5fdb69de4" joined connection 
>> "$ff003e4a-7527-4e5f-9e61-bdf6b10a5536" (1 users now present)
>>
>> 2024-12-06T15:03:04.704853676Z guacd[14114]: DEBUG:     Client is 
>> using protocol version "VERSION_1_5_0"
>>
>> 2024-12-06T15:03:04.709035759Z guacd[14114]: INFO:      Loading 
>> keymap "base"
>>
>> 2024-12-06T15:03:04.709114240Z guacd[14114]: INFO:      Loading 
>> keymap "en-us-qwerty"
>>
>> 2024-12-06T15:03:04.709934353Z guacd[14114]: DEBUG:     Support for 
>> CLIPRDR (clipboard redirection) registered. Awaiting channel connection.
>>
>> 2024-12-06T15:03:04.709974067Z guacd[14114]: DEBUG:     Local 
>> framebuffer format PIXEL_FORMAT_BGRX32
>>
>> 2024-12-06T15:03:04.709982987Z guacd[14114]: DEBUG:     Remote 
>> framebuffer format PIXEL_FORMAT_RGB16
>>
>> 2024-12-06T15:03:05.829568731Z guacd[1]: DEBUG: Guacamole connection 
>> closed during handshake
>>
>> 2024-12-06T15:03:05.829625550Z guacd[1]: DEBUG: Error reading 
>> "select": End of stream reached while reading instruction
>>
>> 2024-12-06T15:03:06.862328987Z guacd[14114]: DEBUG:     SSL_CTX_new 
>> failed
>>
>> 2024-12-06T15:03:06.862375254Z guacd[14114]: DEBUG: 
>> transport_connect_tls:freerdp_set_last_error_ex 
>> ERRCONNECT_CONNECT_CANCELLED [0x0002000B]
>>
>> 2024-12-06T15:03:06.874587928Z guacd[14114]: INFO:      RDP server 
>> closed/refused connection: Connection failed (server unreachable?)
>>
>> 2024-12-06T15:03:06.953424771Z guacd[14114]: INFO:      User 
>> "@f8a7f328-eb75-41e3-8b62-88b5fdb69de4" disconnected (0 users remain)
>>
>> 2024-12-06T15:03:06.953464758Z guacd[14114]: INFO:      Last user of 
>> connection "$ff003e4a-7527-4e5f-9e61-bdf6b10a5536" disconnected
>>
>> 2024-12-06T15:03:06.953560242Z guacd[14114]: DEBUG:     Requesting 
>> termination of client...
>>
>> 2024-12-06T15:03:06.954335475Z guacd[14114]: DEBUG:     Client 
>> terminated successfully.
>>
>> 2024-12-06T15:03:06.958190642Z guacd[1]: INFO:  Connection 
>> "$ff003e4a-7527-4e5f-9e61-bdf6b10a5536" removed.
>>
>> oLog entries when the 1^st connection got released and the 61^st 
>> selenium process could connect (becoming then the 59^th active 
>> connection):
>>
>> 2024-12-06T15:14:48.788592903Z guacd[3878]: ERROR:      User is not 
>> responding.
>>
>> 2024-12-06T15:14:48.788735278Z guacd[3878]: INFO:       User 
>> "@2c7e97ad-6054-4f8b-be0c-95a56f34ff15" disconnected (0 users remain)
>>
>> 2024-12-06T15:14:48.788901425Z guacd[3878]: INFO:       Last user of 
>> connection "$6c40d2e8-57c4-48ae-9115-cbb63e87221a" disconnected
>>
>> 2024-12-06T15:14:48.789130750Z guacd[3878]: DEBUG:      Requesting 
>> termination of client...
>>
>> 2024-12-06T15:14:48.965798638Z guacd[3878]: DEBUG:      CLIPRDR 
>> (clipboard redirection) channel disconnected.
>>
>> 2024-12-06T15:14:48.978637197Z guacd[3878]: INFO:       Internal RDP 
>> client disconnected
>>
>> 2024-12-06T15:14:48.979215164Z guacd[3878]: DEBUG:      Client 
>> terminated successfully.
>>
>> 2024-12-06T15:14:48.981992660Z guacd[1]: INFO:  Connection 
>> "$6c40d2e8-57c4-48ae-9115-cbb63e87221a" removed.
>>
>> 2024-12-06T15:14:48.982014235Z guacd[1]: DEBUG: All child processes 
>> for connection "$6c40d2e8-57c4-48ae-9115-cbb63e87221a" have been 
>> terminated.
>>
>> 2024-12-06T15:14:55.578678366Z guacd[1]: INFO:  Creating new client 
>> for protocol "rdp"
>>
>> 2024-12-06T15:14:55.581795996Z guacd[1]: INFO:  Connection ID is 
>> "$5565bee8-85e9-403b-a9a8-a2fcc80973c0"
>>
>> 2024-12-06T15:14:55.593694171Z guacd[20939]: DEBUG:     Processing 
>> instruction: size
>>
>> 2024-12-06T15:14:55.593737238Z guacd[20939]: DEBUG:     Processing 
>> instruction: audio
>>
>> 2024-12-06T15:14:55.593746798Z guacd[20939]: DEBUG:     Processing 
>> instruction: video
>>
>> 2024-12-06T15:14:55.593757758Z guacd[20939]: DEBUG:     Processing 
>> instruction: image
>>
>> 2024-12-06T15:14:55.593796032Z guacd[20939]: DEBUG:     Processing 
>> instruction: timezone
>>
>> 2024-12-06T15:14:55.593856099Z guacd[20939]: DEBUG:     Processing 
>> instruction: name
>>
>> 2024-12-06T15:14:55.593978614Z guacd[20939]: DEBUG:     Parameter 
>> "console" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594021701Z guacd[20939]: DEBUG:     Parameter 
>> "console-audio" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594030645Z guacd[20939]: DEBUG:     Parameter 
>> "ignore-cert" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594037575Z guacd[20939]: DEBUG:     Parameter 
>> "disable-auth" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594049918Z guacd[20939]: INFO:      Security 
>> mode: TLS
>>
>> 2024-12-06T15:14:55.594061655Z guacd[20939]: DEBUG:     User 
>> resolution is 1024x629 at 96 DPI
>>
>> 2024-12-06T15:14:55.594069009Z guacd[20939]: DEBUG:     Parameter 
>> "dpi" omitted. Using default value of 96.
>>
>> 2024-12-06T15:14:55.594111496Z guacd[20939]: DEBUG:     Using 
>> resolution of 1024x629 at 96 DPI
>>
>> 2024-12-06T15:14:55.594124679Z guacd[20939]: DEBUG:     Parameter 
>> "force-lossless" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594155193Z guacd[20939]: DEBUG:     Parameter 
>> "read-only" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594179860Z guacd[20939]: DEBUG:     Parameter 
>> "client-name" omitted. Using default value of "Guacamole RDP".
>>
>> 2024-12-06T15:14:55.594224500Z guacd[20939]: DEBUG:     Parameter 
>> "enable-wallpaper" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594330428Z guacd[20939]: DEBUG:     Parameter 
>> "enable-theming" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594443633Z guacd[20939]: DEBUG:     Parameter 
>> "enable-font-smoothing" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594471426Z guacd[20939]: DEBUG:     Parameter 
>> "enable-full-window-drag" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594478760Z guacd[20939]: DEBUG:     Parameter 
>> "enable-desktop-composition" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594485163Z guacd[20939]: DEBUG:     Parameter 
>> "enable-menu-animations" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594491437Z guacd[20939]: DEBUG:     Parameter 
>> "disable-bitmap-caching" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594497673Z guacd[20939]: DEBUG:     Parameter 
>> "disable-offscreen-caching" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594504207Z guacd[20939]: DEBUG:     Parameter 
>> "disable-glyph-caching" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594517297Z guacd[20939]: DEBUG:     Glyph caching 
>> is currently universally disabled, regardless of the value of the 
>> "disable-glyph-caching" parameter, as glyph caching support is not 
>> considered stable by FreeRDP as of the FreeRDP 2.0.0 release. See: 
>> https://issues.apache.org/jira/browse/GUACAMOLE-1191
>>
>> 2024-12-06T15:14:55.594527254Z guacd[20939]: DEBUG:     Parameter 
>> "color-depth" omitted. Using default value of 16.
>>
>> 2024-12-06T15:14:55.594579311Z guacd[20939]: DEBUG:     Parameter 
>> "enable-printing" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594641412Z guacd[20939]: DEBUG:     Parameter 
>> "printer-name" omitted. Using default value of "Guacamole Printer".
>>
>> 2024-12-06T15:14:55.594658322Z guacd[20939]: DEBUG:     Parameter 
>> "enable-drive" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594679715Z guacd[20939]: DEBUG:     Parameter 
>> "drive-name" omitted. Using default value of "Guacamole Filesystem".
>>
>> 2024-12-06T15:14:55.594707283Z guacd[20939]: DEBUG:     Parameter 
>> "drive-path" omitted. Using default value of "".
>>
>> 2024-12-06T15:14:55.594722989Z guacd[20939]: DEBUG:     Parameter 
>> "create-drive-path" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594732299Z guacd[20939]: DEBUG:     Parameter 
>> "timezone" omitted. Using default value of "Europe/Bucharest".
>>
>> 2024-12-06T15:14:55.594739166Z guacd[20939]: DEBUG:     Parameter 
>> "enable-sftp" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.594781820Z guacd[20939]: DEBUG:     Parameter 
>> "sftp-hostname" omitted. Using default value of 
>> "s-jrciprjeos144p.cidsn.jrc.it".
>>
>> 2024-12-06T15:14:55.594844397Z guacd[20939]: DEBUG:     Parameter 
>> "sftp-port" omitted. Using default value of "22".
>>
>> 2024-12-06T15:14:55.594911355Z guacd[20939]: DEBUG:     Parameter 
>> "sftp-username" omitted. Using default value of "".
>>
>> 2024-12-06T15:14:55.594925691Z guacd[20939]: DEBUG:     Parameter 
>> "sftp-password" omitted. Using default value of "".
>>
>> 2024-12-06T15:14:55.595152214Z guacd[20939]: DEBUG:     Parameter 
>> "sftp-passphrase" omitted. Using default value of "".
>>
>> 2024-12-06T15:14:55.595269395Z guacd[20939]: DEBUG:     Parameter 
>> "sftp-root-directory" omitted. Using default value of "/".
>>
>> 2024-12-06T15:14:55.595299073Z guacd[20939]: DEBUG:     Parameter 
>> "sftp-server-alive-interval" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.595312166Z guacd[20939]: DEBUG:     Parameter 
>> "sftp-disable-download" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.595322743Z guacd[20939]: DEBUG:     Parameter 
>> "sftp-disable-upload" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.595334003Z guacd[20939]: DEBUG:     Parameter 
>> "recording-name" omitted. Using default value of "recording".
>>
>> 2024-12-06T15:14:55.595347746Z guacd[20939]: DEBUG:     Parameter 
>> "recording-exclude-output" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.595357583Z guacd[20939]: DEBUG:     Parameter 
>> "recording-exclude-mouse" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.595371780Z guacd[20939]: DEBUG:     Parameter 
>> "recording-exclude-touch" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.595383523Z guacd[20939]: DEBUG:     Parameter 
>> "recording-include-keys" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.595398177Z guacd[20939]: DEBUG:     Parameter 
>> "create-recording-path" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.595410687Z guacd[20939]: INFO:      Resize 
>> method: none
>>
>> 2024-12-06T15:14:55.595422641Z guacd[20939]: DEBUG:     Parameter 
>> "enable-touch" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.595438557Z guacd[20939]: DEBUG:     Parameter 
>> "enable-audio-input" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.595451764Z guacd[20939]: DEBUG:     Parameter 
>> "gateway-port" omitted. Using default value of 443.
>>
>> 2024-12-06T15:14:55.595465344Z guacd[20939]: DEBUG:     Parameter 
>> "disable-copy" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.595485545Z guacd[20939]: DEBUG:     Parameter 
>> "disable-paste" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.595502142Z guacd[20939]: INFO:      No clipboard 
>> line-ending normalization specified. Defaulting to preserving the 
>> format of all line endings.
>>
>> 2024-12-06T15:14:55.595516618Z guacd[20939]: DEBUG:     Parameter 
>> "wol-send-packet" omitted. Using default value of 0.
>>
>> 2024-12-06T15:14:55.595583479Z guacd[20939]: INFO:      User 
>> "@3e38f412-f074-4969-b622-bf0812316c6e" joined connection 
>> "$5565bee8-85e9-403b-a9a8-a2fcc80973c0" (1 users now present)
>>
>> 2024-12-06T15:14:55.595605759Z guacd[20939]: DEBUG:     Client is 
>> using protocol version "VERSION_1_5_0"
>>
>> 2024-12-06T15:14:55.600200128Z guacd[20939]: INFO:      Loading 
>> keymap "base"
>>
>> 2024-12-06T15:14:55.600241289Z guacd[20939]: INFO:      Loading 
>> keymap "en-us-qwerty"
>>
>> 2024-12-06T15:14:55.601047935Z guacd[20939]: DEBUG:     Support for 
>> CLIPRDR (clipboard redirection) registered. Awaiting channel connection.
>>
>> 2024-12-06T15:14:55.601103492Z guacd[20939]: DEBUG:     Local 
>> framebuffer format PIXEL_FORMAT_BGRX32
>>
>> 2024-12-06T15:14:55.601129852Z guacd[20939]: DEBUG:     Remote 
>> framebuffer format PIXEL_FORMAT_RGB16
>>
>> 2024-12-06T15:14:59.984055789Z guacd[20939]: DEBUG:     CLIPRDR 
>> (clipboard redirection) channel connected.
>>
>> 2024-12-06T15:15:00.328241921Z guacd[20939]: DEBUG:     Clipboard 
>> data received. Reporting availability of clipboard data to RDP server.
>>
>> -At 15:32:48 (GMT), while RDP connections were being closed due to 
>> the selenium processes being stopped, a core dump has been generated.
>>
>> oIn /var/log/messages (GMT+1)
>>
>> Dec 6 16:32:48 s-jrciprjeop151p kernel: traps: guacd[68113] general 
>> protection fault ip:7f8b34a97a7c sp:7f8ae349d100 error:0 in 
>> ld-musl-x86_64.so.1[7f8b34a86000+4c000]
>>
>> oIn guacd docker logs (GMT)
>>
>> 2024-12-06T15:32:48.624974718Z guacd[12924]: ERROR:     User is not 
>> responding.
>>
>> 2024-12-06T15:32:48.625078086Z guacd[12924]: INFO:      User 
>> "@8f7db077-f633-466d-a459-e00a18357e7c" disconnected (0 users remain)
>>
>> 2024-12-06T15:32:48.625151523Z guacd[12924]: INFO:      Last user of 
>> connection "$26bd776b-6d33-4fea-a5a1-4bc6ff3d11cf" disconnected
>>
>> 2024-12-06T15:32:48.625280645Z guacd[12924]: DEBUG:     Requesting 
>> termination of client...
>>
>> 2024-12-06T15:32:48.750757953Z guacd[12924]: DEBUG:     CLIPRDR 
>> (clipboard redirection) channel disconnected.
>>
>> 2024-12-06T15:32:48.765691056Z guacd[12924]: INFO:      Internal RDP 
>> client disconnected
>>
>> 2024-12-06T15:32:48.766157544Z guacd[12924]: DEBUG:     Client 
>> terminated successfully.
>>
>> 2024-12-06T15:32:48.878712775Z guacd[1]: INFO:  Connection 
>> "$26bd776b-6d33-4fea-a5a1-4bc6ff3d11cf" removed.
>>
>> 2024-12-06T15:32:48.878757332Z guacd[1]: DEBUG: All child processes 
>> for connection "$26bd776b-6d33-4fea-a5a1-4bc6ff3d11cf" have been 
>> terminated.
>>
>> 2024-12-06T15:33:06.362058899Z guacd[1]: DEBUG: Guacamole connection 
>> closed during handshake
>>
>> 2024-12-06T15:33:06.362146170Z guacd[1]: DEBUG: Error reading 
>> "select": End of stream reached while reading instruction
>>
>> 2024-12-06T15:33:08.662943267Z guacd[13264]: ERROR:     User is not 
>> responding.
>>
>> 2024-12-06T15:33:08.663123142Z guacd[13264]: INFO:      User 
>> "@5ee9cdfa-0d04-4c2f-acfe-55a114e2f20a" disconnected (0 users remain)
>>
>> 2024-12-06T15:33:08.663189616Z guacd[13264]: INFO:      Last user of 
>> connection "$4bc9a390-5a8a-4f49-baef-d1e71c5bc666" disconnected
>>
>> 2024-12-06T15:33:08.663358655Z guacd[13264]: DEBUG:     Requesting 
>> termination of client...
>>
>> 2024-12-06T15:33:08.838800641Z guacd[13264]: DEBUG:     CLIPRDR 
>> (clipboard redirection) channel disconnected.
>>
>> 2024-12-06T15:33:08.849452825Z guacd[13264]: INFO:      Internal RDP 
>> client disconnected
>>
>> 2024-12-06T15:33:08.849665197Z guacd[13264]: DEBUG:     Client 
>> terminated successfully.
>>
>> 2024-12-06T15:33:08.852907658Z guacd[1]: INFO:  Connection 
>> "$4bc9a390-5a8a-4f49-baef-d1e71c5bc666" removed.
>>
>> 2024-12-06T15:33:08.852963162Z guacd[1]: DEBUG: All child processes 
>> for connection "$4bc9a390-5a8a-4f49-baef-d1e71c5bc666" have been 
>> terminated.
>>
>> oA core dump has been generated: 
>> core-guacd.12924.8a6bb6a83b86.1733499168 attached to that message 
>> (1.3G uncompressed)
>>
>> For completeness, I attach also the guacd logs of the whole testing 
>> session.
>>
>> I would be grateful if you, or some other developer, could have a 
>> look at those elements. I am of course available to provide you with 
>> any other information you might need. In case it would be helpful, I 
>> have other core dumps from previous tests.
>>
>> Kind regards,
>>
>> Paul
>>
>> *From:*HASENOHR Paul <Pa...@ec.europa.eu.INVALID>
>> *Sent:* Thursday, November 28, 2024 5:25 PM
>> *To:* user@guacamole.apache.org
>> *Subject:* RE: Maximum number of simultaneous RDP connections
>>
>> Dear Nick,
>>
>> Thank you for your suggestions.
>>
>> Looking at the server system logs, I found many identical segfault 
>> entries:
>>
>> Nov 28 10:44:55 snc-guacamole kernel: [9829816.814388] 
>> guacd[2871114]: segfault at 7fdd045f4bf8 ip 00007fd561fe2433 sp 
>> 00007fd5045f12e8 error 4 in ld-musl-x86_64.so.1[7fd561f9f000+4c000]
>>
>> Nov 28 10:44:55 snc-guacamole kernel: [9829816.826102] Code: e3 18 ff 
>> ff 8b 44 24 08 48 81 c4 90 00 00 00 5b 5d 41 5c c3 64 48 8b 04 25 00 
>> 00 00 00 48 8b 90 80 00 00 00 89 ff 48 8d 14 fa <48> 39 32 74 07 48 
>> 89 32 80 48 42 01 31 c0 c3 48 85 f6 74 0a b8 16
>>
>> Nov 28 10:44:56 snc-guacamole kernel: [9829817.741713] 
>> guacd[2871125]: segfault at 7fdd035fabf8 ip 00007fd561fe2433 sp 
>> 00007fd5035f72e8 error 4 in ld-musl-x86_64.so.1[7fd561f9f000+4c000]
>>
>> Nov 28 10:44:56 snc-guacamole kernel: [9829817.748886] Code: e3 18 ff 
>> ff 8b 44 24 08 48 81 c4 90 00 00 00 5b 5d 41 5c c3 64 48 8b 04 25 00 
>> 00 00 00 48 8b 90 80 00 00 00 89 ff 48 8d 14 fa <48> 39 32 74 07 48 
>> 89 32 80 48 42 01 31 c0 c3 48 85 f6 74 0a b8 16
>>
>> Is it something you are aware of?
>>
>> Considering that this happens at around 60 connections, could it be 
>> in any way related to 
>> https://www.mail-archive.com/user@guacamole.apache.org/msg12630.html 
>> <https://urldefense.com/v3/__https:/www.mail-archive.com/user@guacamole.apache.org/msg12630.html__;!!DOxrgLBm!BJT57FqcHgW6YPm52t1beSy9wP9vpgL1kcKD094F2a7OPybOwFktH3i3pvAzPDtm9naffsubtm4RPd_roIBefyd4jLJhEiJPNdGVM2jw-A$>?
>>
>> I cannot reproduce the error currently as this happens only when 
>> exceed our usual number of users that is far below 60. I will try to 
>> deploy next week an instance of guacamole with guacd in debug mode 
>> and to initiate more than 60 connections to it.
>>
>> Best regards,
>>
>> Paul
>>
>> *From:*Nick Couchman <vnick@apache.org <ma...@apache.org>>
>> *Sent:* Thursday, November 28, 2024 2:50 PM
>> *To:* user@guacamole.apache.org <ma...@guacamole.apache.org>
>> *Subject:* Re: Maximum number of simultaneous RDP connections
>>
>> On Thu, Nov 28, 2024 at 8:27 AM HASENOHR Paul 
>> <Pa...@ec.europa.eu.invalid> wrote:
>>
>>     Hello,
>>
>>     We have been using Guacamole for the past years with great
>>     satisfaction for our users. Guacamole is running on Docker
>>     (standard images to which a custom CA has been added) on a Debian
>>     12 VM.
>>
>>     We noticed today during a training that led to an increase of the
>>     number of concurrent connections that we could not exceed 55-58
>>     RDP connections. Any other attempt to connect to any RDP server
>>     (several machines running Ubuntu 22.04 with xorgxrdp, some of
>>     them without any load) returned immediately a black screen with
>>     the message “You have been disconnected”.
>>
>>     In the guacd logs, any failed connection was logged as follows:
>>
>>     guacd[1]: INFO: Creating new client for protocol "rdp"
>>
>>     guacd[1]: INFO: Connection ID is
>>     "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa"
>>
>>     guacd[1916025]: INFO:   Security mode: TLS
>>
>>     guacd[1916025]: INFO:   Resize method: display-update
>>
>>     guacd[1916025]: INFO:   No clipboard line-ending normalization
>>     specified. Defaulting to preserving the format of all line endings.
>>
>>     guacd[1916025]: INFO:   User
>>     "@b2935015-b864-4928-a674-2c26ed1dd45d" joined connection
>>     "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa" (1 users now present)
>>
>>     guacd[1916025]: INFO:   Recording of session will be saved to
>>     "/recording//20241128_100346_XXXXXXXXXX-terminal-004-M_N".
>>
>>     guacd[1916025]: INFO:   Loading keymap "base"
>>
>>     guacd[1916025]: INFO:   Loading keymap "en-us-qwerty"
>>
>>     guacd[1]: INFO: Connection
>>     "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa" removed.
>>
>> A handful of things that I can think of to check:
>>
>> * It's probably worth putting guacd into debug mode ("-L debug" on 
>> the command line, or add the log configuration to guacd.conf) and see 
>> if that yields any more useful information on what happens when the 
>> connections are failing.
>>
>> * Since you're running in Docker, check the various Docker limits and 
>> see if you're running up against something related to container 
>> limits - amount of memory, number of open files, process, etc. I 
>> believe Docker has facilities for limiting this similar to the normal 
>> "limits" and/or "ulimit" command on Linux, but probably slightly 
>> different configurations in slightly different places. System logs 
>> and/or Docker logs might also indicate bumping up against this.
>>
>> * Also, check your system logs, particularly any facility that might 
>> be present for core dumps and see if anything is being generated that 
>> indicates a segfault or other limit.
>>
>> -Nick
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:user-unsubscribe@guacamole.apache.org
>> For additional commands, e-mail:user-help@guacamole.apache.org

Re: ***UNCHECKED*** RE: Maximum number of simultaneous RDP connections

Posted by Sean Hulbert <sh...@securitycentric.net.INVALID>.
This is generally a resource issue,

On the Guacamole System what is your vCPU, RAM?

Keep in mind you will need to increase the transaction threads on the 
web server are you using Apache or NGINX?

we manage 2000+ connections load balance across 3 guacamole systems.

  * vCPU 24 ( 2 Sockets (4 Cores) - 8 Cores 16 Threads)
  * 64Gb RAM
  * 10GBps (NIC-TEAMING)

Note; this is not a container, but a VDI compiled version of Guacamole 
using MariaDB, MFA and a tuned NGINX install.

*Thank You*
Sean Hulbert



*Security Centric Inc.*
A Cybersecurity Virtualization Enablement Company
/StormCloud Gov, Protected CUI Environment!/


Industry's most secure CMMC/iTAR virtual desktops!


*/FedRAMP MIL4 in process (RAR)/*
System Award Management
*CAGE: 8AUV4*
*SAM ID: UMJLJ8A7BMT3*

AFCEA San Francisco Chapter President
If you have heard of a hacker by name, he/she has failed, fear the 
hacker you haven’t heard of!

CONFIDENTIALITY NOTICE: This communication with its contents may contain 
confidential and/or legally privileged information. It is solely for the 
use of the intended recipient(s). Unauthorized interception, review, use 
or disclosure is prohibited and may violate applicable laws including 
the Electronic Communications Privacy Act. If you are not the intended 
recipient, please contact the sender and destroy all copies of the 
communication. Content within this email communication is not legally 
binding as a contract and no promises are guaranteed unless in a formal 
contract outside this email communication.

igitur qui desiderat pacem, praeparet bellum!!!

Epitoma Rei Militaris

On 12/6/2024 11:01 AM, HASENOHR Paul wrote:
>
> Dear Nick,
>
> As promised, I ran some further tests.
>
> With the help of a colleague, we could reproduce the issue on a test 
> instance (max 59 concurrent RDP connections).
>
> After having created 80 user accounts linked evenly to one out of 4 
> rdp connections (towards xrdp servers), the test protocol was the 
> following:
>
> -With selenium, launch 60 chrome headless instances connecting to 
> Guacamole (one every 20s):
>
> oT0: towards RDP1
>
> oT0+20: towards RDP2
>
> oT0+40: towards RDP3
>
> oT0+60: towards RDP4
>
> oT0+80: towards RDP1 and so on
>
> -Launch a 61^st instance one minute after the 60th
>
> -Take a “screenshot” 10s after having initiated the connection
>
> -Keep each connection active for 30 minutes
>
> The outcome is the following (with T0=2024-12-06T14:42:45Z):
>
> -At 15:00:24 (GMT), a connection could not be established and the 
> following log entries could be found:
>
> oIn /var/log/messages (GMT+1):
>
> Dec 6 16:00:24 s-jrciprjeop151p kernel: traps: guacd[67983] general 
> protection fault ip:7f8b34a97664 sp:7f8ae349ce28 error:0 in 
> ld-musl-x86_64.so.1[7f8b34a86000+4c000]
>
> oIn the guacd Docker container logs:
>
> 2024-12-06T15:00:24.770823151Z guacd[1]: INFO:  Creating new client 
> for protocol "rdp"
>
> 2024-12-06T15:00:24.774091622Z guacd[1]: INFO:  Connection ID is 
> "$2ba7c0c0-60cf-41d9-a970-2bc20f15c624"
>
> 2024-12-06T15:00:24.890940897Z guacd[1]: INFO:  Connection 
> "$2ba7c0c0-60cf-41d9-a970-2bc20f15c624" removed.
>
> 2024-12-06T15:00:24.890979827Z guacd[1]: DEBUG: Unable to request 
> termination of client process: No such process
>
> 2024-12-06T15:00:24.890994171Z guacd[1]: DEBUG: All child processes 
> for connection "$2ba7c0c0-60cf-41d9-a970-2bc20f15c624" have been 
> terminated.
>
> oIn addition, a core dump has been generated: 
> core-guacd.12920.8a6bb6a83b86.1733497224 (attached to that message, 
> 1.3GB uncompressed)
>
> -At 15:03:04 (GMT), the 61^st selenium process tried to create what 
> was in fact the 60^th RDP connection (as the session of 15:00:24 could 
> not be created) and it failed to do so with the following guacd log 
> entries repeated roughly every 15 seconds until the first selenium 
> process got stopped and the associated connection removed
>
> oLog entries for failed attempts to connect:
>
> 2024-12-06T15:03:04.687449173Z guacd[1]: INFO:  Creating new client 
> for protocol "rdp"
>
> 2024-12-06T15:03:04.691148814Z guacd[1]: INFO:  Connection ID is 
> "$ff003e4a-7527-4e5f-9e61-bdf6b10a5536"
>
> 2024-12-06T15:03:04.702893330Z guacd[14114]: DEBUG:     Processing 
> instruction: size
>
> 2024-12-06T15:03:04.702942741Z guacd[14114]: DEBUG:     Processing 
> instruction: audio
>
> 2024-12-06T15:03:04.702952374Z guacd[14114]: DEBUG:     Processing 
> instruction: video
>
> 2024-12-06T15:03:04.702959284Z guacd[14114]: DEBUG:     Processing 
> instruction: image
>
> 2024-12-06T15:03:04.702965978Z guacd[14114]: DEBUG:     Processing 
> instruction: timezone
>
> 2024-12-06T15:03:04.702972998Z guacd[14114]: DEBUG:     Processing 
> instruction: name
>
> 2024-12-06T15:03:04.703154230Z guacd[14114]: DEBUG:     Parameter 
> "console" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.703198283Z guacd[14114]: DEBUG:     Parameter 
> "console-audio" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.703355499Z guacd[14114]: DEBUG:     Parameter 
> "ignore-cert" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.703433340Z guacd[14114]: DEBUG:     Parameter 
> "disable-auth" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.703442113Z guacd[14114]: INFO:      Security mode: TLS
>
> 2024-12-06T15:03:04.703450913Z guacd[14114]: DEBUG:     User 
> resolution is 1024x629 at 96 DPI
>
> 2024-12-06T15:03:04.703458296Z guacd[14114]: DEBUG:     Parameter 
> "dpi" omitted. Using default value of 96.
>
> 2024-12-06T15:03:04.703478890Z guacd[14114]: DEBUG:     Using 
> resolution of 1024x629 at 96 DPI
>
> 2024-12-06T15:03:04.703488497Z guacd[14114]: DEBUG:     Parameter 
> "force-lossless" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.703496257Z guacd[14114]: DEBUG:     Parameter 
> "read-only" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.703532181Z guacd[14114]: DEBUG:     Parameter 
> "client-name" omitted. Using default value of "Guacamole RDP".
>
> 2024-12-06T15:03:04.703542197Z guacd[14114]: DEBUG:     Parameter 
> "enable-wallpaper" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.703578781Z guacd[14114]: DEBUG:     Parameter 
> "enable-theming" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.703587648Z guacd[14114]: DEBUG:     Parameter 
> "enable-font-smoothing" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.703676486Z guacd[14114]: DEBUG:     Parameter 
> "enable-full-window-drag" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.703703149Z guacd[14114]: DEBUG:     Parameter 
> "enable-desktop-composition" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.703829234Z guacd[14114]: DEBUG:     Parameter 
> "enable-menu-animations" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.703902675Z guacd[14114]: DEBUG:     Parameter 
> "disable-bitmap-caching" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.703959216Z guacd[14114]: DEBUG:     Parameter 
> "disable-offscreen-caching" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.703976189Z guacd[14114]: DEBUG:     Parameter 
> "disable-glyph-caching" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.703984942Z guacd[14114]: DEBUG:     Glyph caching 
> is currently universally disabled, regardless of the value of the 
> "disable-glyph-caching" parameter, as glyph caching support is not 
> considered stable by FreeRDP as of the FreeRDP 2.0.0 release. See: 
> https://issues.apache.org/jira/browse/GUACAMOLE-1191
>
> 2024-12-06T15:03:04.703992912Z guacd[14114]: DEBUG:     Parameter 
> "color-depth" omitted. Using default value of 16.
>
> 2024-12-06T15:03:04.704000129Z guacd[14114]: DEBUG:     Parameter 
> "enable-printing" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704007309Z guacd[14114]: DEBUG:     Parameter 
> "printer-name" omitted. Using default value of "Guacamole Printer".
>
> 2024-12-06T15:03:04.704018796Z guacd[14114]: DEBUG:     Parameter 
> "enable-drive" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704027636Z guacd[14114]: DEBUG:     Parameter 
> "drive-name" omitted. Using default value of "Guacamole Filesystem".
>
> 2024-12-06T15:03:04.704037463Z guacd[14114]: DEBUG:     Parameter 
> "drive-path" omitted. Using default value of "".
>
> 2024-12-06T15:03:04.704044590Z guacd[14114]: DEBUG:     Parameter 
> "create-drive-path" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704074503Z guacd[14114]: DEBUG:     Parameter 
> "timezone" omitted. Using default value of "Europe/Bucharest".
>
> 2024-12-06T15:03:04.704082760Z guacd[14114]: DEBUG:     Parameter 
> "enable-sftp" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704123764Z guacd[14114]: DEBUG:     Parameter 
> "sftp-hostname" omitted. Using default value of 
> "s-jrciprjeos144p.cidsn.jrc.it".
>
> 2024-12-06T15:03:04.704149121Z guacd[14114]: DEBUG:     Parameter 
> "sftp-port" omitted. Using default value of "22".
>
> 2024-12-06T15:03:04.704199205Z guacd[14114]: DEBUG:     Parameter 
> "sftp-username" omitted. Using default value of "".
>
> 2024-12-06T15:03:04.704224352Z guacd[14114]: DEBUG:     Parameter 
> "sftp-password" omitted. Using default value of "".
>
> 2024-12-06T15:03:04.704231665Z guacd[14114]: DEBUG:     Parameter 
> "sftp-passphrase" omitted. Using default value of "".
>
> 2024-12-06T15:03:04.704293443Z guacd[14114]: DEBUG:     Parameter 
> "sftp-root-directory" omitted. Using default value of "/".
>
> 2024-12-06T15:03:04.704324016Z guacd[14114]: DEBUG:     Parameter 
> "sftp-server-alive-interval" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704336816Z guacd[14114]: DEBUG:     Parameter 
> "sftp-disable-download" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704348143Z guacd[14114]: DEBUG:     Parameter 
> "sftp-disable-upload" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704360607Z guacd[14114]: DEBUG:     Parameter 
> "recording-name" omitted. Using default value of "recording".
>
> 2024-12-06T15:03:04.704421761Z guacd[14114]: DEBUG:     Parameter 
> "recording-exclude-output" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704439167Z guacd[14114]: DEBUG:     Parameter 
> "recording-exclude-mouse" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704534589Z guacd[14114]: DEBUG:     Parameter 
> "recording-exclude-touch" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704572016Z guacd[14114]: DEBUG:     Parameter 
> "recording-include-keys" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704586469Z guacd[14114]: DEBUG:     Parameter 
> "create-recording-path" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704594846Z guacd[14114]: INFO:      Resize method: 
> none
>
> 2024-12-06T15:03:04.704602279Z guacd[14114]: DEBUG:     Parameter 
> "enable-touch" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704618049Z guacd[14114]: DEBUG:     Parameter 
> "enable-audio-input" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704626053Z guacd[14114]: DEBUG:     Parameter 
> "gateway-port" omitted. Using default value of 443.
>
> 2024-12-06T15:03:04.704632533Z guacd[14114]: DEBUG:     Parameter 
> "disable-copy" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704677454Z guacd[14114]: DEBUG:     Parameter 
> "disable-paste" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704688920Z guacd[14114]: INFO:      No clipboard 
> line-ending normalization specified. Defaulting to preserving the 
> format of all line endings.
>
> 2024-12-06T15:03:04.704697854Z guacd[14114]: DEBUG:     Parameter 
> "wol-send-packet" omitted. Using default value of 0.
>
> 2024-12-06T15:03:04.704821772Z guacd[14114]: INFO:      User 
> "@f8a7f328-eb75-41e3-8b62-88b5fdb69de4" joined connection 
> "$ff003e4a-7527-4e5f-9e61-bdf6b10a5536" (1 users now present)
>
> 2024-12-06T15:03:04.704853676Z guacd[14114]: DEBUG:     Client is 
> using protocol version "VERSION_1_5_0"
>
> 2024-12-06T15:03:04.709035759Z guacd[14114]: INFO:      Loading keymap 
> "base"
>
> 2024-12-06T15:03:04.709114240Z guacd[14114]: INFO:      Loading keymap 
> "en-us-qwerty"
>
> 2024-12-06T15:03:04.709934353Z guacd[14114]: DEBUG:     Support for 
> CLIPRDR (clipboard redirection) registered. Awaiting channel connection.
>
> 2024-12-06T15:03:04.709974067Z guacd[14114]: DEBUG:     Local 
> framebuffer format PIXEL_FORMAT_BGRX32
>
> 2024-12-06T15:03:04.709982987Z guacd[14114]: DEBUG:     Remote 
> framebuffer format PIXEL_FORMAT_RGB16
>
> 2024-12-06T15:03:05.829568731Z guacd[1]: DEBUG: Guacamole connection 
> closed during handshake
>
> 2024-12-06T15:03:05.829625550Z guacd[1]: DEBUG: Error reading 
> "select": End of stream reached while reading instruction
>
> 2024-12-06T15:03:06.862328987Z guacd[14114]: DEBUG:     SSL_CTX_new failed
>
> 2024-12-06T15:03:06.862375254Z guacd[14114]: DEBUG: 
> transport_connect_tls:freerdp_set_last_error_ex 
> ERRCONNECT_CONNECT_CANCELLED [0x0002000B]
>
> 2024-12-06T15:03:06.874587928Z guacd[14114]: INFO:      RDP server 
> closed/refused connection: Connection failed (server unreachable?)
>
> 2024-12-06T15:03:06.953424771Z guacd[14114]: INFO:      User 
> "@f8a7f328-eb75-41e3-8b62-88b5fdb69de4" disconnected (0 users remain)
>
> 2024-12-06T15:03:06.953464758Z guacd[14114]: INFO:      Last user of 
> connection "$ff003e4a-7527-4e5f-9e61-bdf6b10a5536" disconnected
>
> 2024-12-06T15:03:06.953560242Z guacd[14114]: DEBUG:     Requesting 
> termination of client...
>
> 2024-12-06T15:03:06.954335475Z guacd[14114]: DEBUG:     Client 
> terminated successfully.
>
> 2024-12-06T15:03:06.958190642Z guacd[1]: INFO:  Connection 
> "$ff003e4a-7527-4e5f-9e61-bdf6b10a5536" removed.
>
> oLog entries when the 1^st connection got released and the 61^st 
> selenium process could connect (becoming then the 59^th active 
> connection):
>
> 2024-12-06T15:14:48.788592903Z guacd[3878]: ERROR:      User is not 
> responding.
>
> 2024-12-06T15:14:48.788735278Z guacd[3878]: INFO:       User 
> "@2c7e97ad-6054-4f8b-be0c-95a56f34ff15" disconnected (0 users remain)
>
> 2024-12-06T15:14:48.788901425Z guacd[3878]: INFO:       Last user of 
> connection "$6c40d2e8-57c4-48ae-9115-cbb63e87221a" disconnected
>
> 2024-12-06T15:14:48.789130750Z guacd[3878]: DEBUG:      Requesting 
> termination of client...
>
> 2024-12-06T15:14:48.965798638Z guacd[3878]: DEBUG:      CLIPRDR 
> (clipboard redirection) channel disconnected.
>
> 2024-12-06T15:14:48.978637197Z guacd[3878]: INFO:       Internal RDP 
> client disconnected
>
> 2024-12-06T15:14:48.979215164Z guacd[3878]: DEBUG:      Client 
> terminated successfully.
>
> 2024-12-06T15:14:48.981992660Z guacd[1]: INFO:  Connection 
> "$6c40d2e8-57c4-48ae-9115-cbb63e87221a" removed.
>
> 2024-12-06T15:14:48.982014235Z guacd[1]: DEBUG: All child processes 
> for connection "$6c40d2e8-57c4-48ae-9115-cbb63e87221a" have been 
> terminated.
>
> 2024-12-06T15:14:55.578678366Z guacd[1]: INFO:  Creating new client 
> for protocol "rdp"
>
> 2024-12-06T15:14:55.581795996Z guacd[1]: INFO:  Connection ID is 
> "$5565bee8-85e9-403b-a9a8-a2fcc80973c0"
>
> 2024-12-06T15:14:55.593694171Z guacd[20939]: DEBUG:     Processing 
> instruction: size
>
> 2024-12-06T15:14:55.593737238Z guacd[20939]: DEBUG:     Processing 
> instruction: audio
>
> 2024-12-06T15:14:55.593746798Z guacd[20939]: DEBUG:     Processing 
> instruction: video
>
> 2024-12-06T15:14:55.593757758Z guacd[20939]: DEBUG:     Processing 
> instruction: image
>
> 2024-12-06T15:14:55.593796032Z guacd[20939]: DEBUG:     Processing 
> instruction: timezone
>
> 2024-12-06T15:14:55.593856099Z guacd[20939]: DEBUG:     Processing 
> instruction: name
>
> 2024-12-06T15:14:55.593978614Z guacd[20939]: DEBUG:     Parameter 
> "console" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594021701Z guacd[20939]: DEBUG:     Parameter 
> "console-audio" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594030645Z guacd[20939]: DEBUG:     Parameter 
> "ignore-cert" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594037575Z guacd[20939]: DEBUG:     Parameter 
> "disable-auth" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594049918Z guacd[20939]: INFO:      Security mode: TLS
>
> 2024-12-06T15:14:55.594061655Z guacd[20939]: DEBUG:     User 
> resolution is 1024x629 at 96 DPI
>
> 2024-12-06T15:14:55.594069009Z guacd[20939]: DEBUG:     Parameter 
> "dpi" omitted. Using default value of 96.
>
> 2024-12-06T15:14:55.594111496Z guacd[20939]: DEBUG:     Using 
> resolution of 1024x629 at 96 DPI
>
> 2024-12-06T15:14:55.594124679Z guacd[20939]: DEBUG:     Parameter 
> "force-lossless" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594155193Z guacd[20939]: DEBUG:     Parameter 
> "read-only" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594179860Z guacd[20939]: DEBUG:     Parameter 
> "client-name" omitted. Using default value of "Guacamole RDP".
>
> 2024-12-06T15:14:55.594224500Z guacd[20939]: DEBUG:     Parameter 
> "enable-wallpaper" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594330428Z guacd[20939]: DEBUG:     Parameter 
> "enable-theming" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594443633Z guacd[20939]: DEBUG:     Parameter 
> "enable-font-smoothing" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594471426Z guacd[20939]: DEBUG:     Parameter 
> "enable-full-window-drag" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594478760Z guacd[20939]: DEBUG:     Parameter 
> "enable-desktop-composition" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594485163Z guacd[20939]: DEBUG:     Parameter 
> "enable-menu-animations" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594491437Z guacd[20939]: DEBUG:     Parameter 
> "disable-bitmap-caching" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594497673Z guacd[20939]: DEBUG:     Parameter 
> "disable-offscreen-caching" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594504207Z guacd[20939]: DEBUG:     Parameter 
> "disable-glyph-caching" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594517297Z guacd[20939]: DEBUG:     Glyph caching 
> is currently universally disabled, regardless of the value of the 
> "disable-glyph-caching" parameter, as glyph caching support is not 
> considered stable by FreeRDP as of the FreeRDP 2.0.0 release. See: 
> https://issues.apache.org/jira/browse/GUACAMOLE-1191
>
> 2024-12-06T15:14:55.594527254Z guacd[20939]: DEBUG:     Parameter 
> "color-depth" omitted. Using default value of 16.
>
> 2024-12-06T15:14:55.594579311Z guacd[20939]: DEBUG:     Parameter 
> "enable-printing" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594641412Z guacd[20939]: DEBUG:     Parameter 
> "printer-name" omitted. Using default value of "Guacamole Printer".
>
> 2024-12-06T15:14:55.594658322Z guacd[20939]: DEBUG:     Parameter 
> "enable-drive" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594679715Z guacd[20939]: DEBUG:     Parameter 
> "drive-name" omitted. Using default value of "Guacamole Filesystem".
>
> 2024-12-06T15:14:55.594707283Z guacd[20939]: DEBUG:     Parameter 
> "drive-path" omitted. Using default value of "".
>
> 2024-12-06T15:14:55.594722989Z guacd[20939]: DEBUG:     Parameter 
> "create-drive-path" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594732299Z guacd[20939]: DEBUG:     Parameter 
> "timezone" omitted. Using default value of "Europe/Bucharest".
>
> 2024-12-06T15:14:55.594739166Z guacd[20939]: DEBUG:     Parameter 
> "enable-sftp" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.594781820Z guacd[20939]: DEBUG:     Parameter 
> "sftp-hostname" omitted. Using default value of 
> "s-jrciprjeos144p.cidsn.jrc.it".
>
> 2024-12-06T15:14:55.594844397Z guacd[20939]: DEBUG:     Parameter 
> "sftp-port" omitted. Using default value of "22".
>
> 2024-12-06T15:14:55.594911355Z guacd[20939]: DEBUG:     Parameter 
> "sftp-username" omitted. Using default value of "".
>
> 2024-12-06T15:14:55.594925691Z guacd[20939]: DEBUG:     Parameter 
> "sftp-password" omitted. Using default value of "".
>
> 2024-12-06T15:14:55.595152214Z guacd[20939]: DEBUG:     Parameter 
> "sftp-passphrase" omitted. Using default value of "".
>
> 2024-12-06T15:14:55.595269395Z guacd[20939]: DEBUG:     Parameter 
> "sftp-root-directory" omitted. Using default value of "/".
>
> 2024-12-06T15:14:55.595299073Z guacd[20939]: DEBUG:     Parameter 
> "sftp-server-alive-interval" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.595312166Z guacd[20939]: DEBUG:     Parameter 
> "sftp-disable-download" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.595322743Z guacd[20939]: DEBUG:     Parameter 
> "sftp-disable-upload" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.595334003Z guacd[20939]: DEBUG:     Parameter 
> "recording-name" omitted. Using default value of "recording".
>
> 2024-12-06T15:14:55.595347746Z guacd[20939]: DEBUG:     Parameter 
> "recording-exclude-output" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.595357583Z guacd[20939]: DEBUG:     Parameter 
> "recording-exclude-mouse" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.595371780Z guacd[20939]: DEBUG:     Parameter 
> "recording-exclude-touch" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.595383523Z guacd[20939]: DEBUG:     Parameter 
> "recording-include-keys" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.595398177Z guacd[20939]: DEBUG:     Parameter 
> "create-recording-path" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.595410687Z guacd[20939]: INFO:      Resize method: 
> none
>
> 2024-12-06T15:14:55.595422641Z guacd[20939]: DEBUG:     Parameter 
> "enable-touch" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.595438557Z guacd[20939]: DEBUG:     Parameter 
> "enable-audio-input" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.595451764Z guacd[20939]: DEBUG:     Parameter 
> "gateway-port" omitted. Using default value of 443.
>
> 2024-12-06T15:14:55.595465344Z guacd[20939]: DEBUG:     Parameter 
> "disable-copy" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.595485545Z guacd[20939]: DEBUG:     Parameter 
> "disable-paste" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.595502142Z guacd[20939]: INFO:      No clipboard 
> line-ending normalization specified. Defaulting to preserving the 
> format of all line endings.
>
> 2024-12-06T15:14:55.595516618Z guacd[20939]: DEBUG:     Parameter 
> "wol-send-packet" omitted. Using default value of 0.
>
> 2024-12-06T15:14:55.595583479Z guacd[20939]: INFO:      User 
> "@3e38f412-f074-4969-b622-bf0812316c6e" joined connection 
> "$5565bee8-85e9-403b-a9a8-a2fcc80973c0" (1 users now present)
>
> 2024-12-06T15:14:55.595605759Z guacd[20939]: DEBUG:     Client is 
> using protocol version "VERSION_1_5_0"
>
> 2024-12-06T15:14:55.600200128Z guacd[20939]: INFO:      Loading keymap 
> "base"
>
> 2024-12-06T15:14:55.600241289Z guacd[20939]: INFO:      Loading keymap 
> "en-us-qwerty"
>
> 2024-12-06T15:14:55.601047935Z guacd[20939]: DEBUG:     Support for 
> CLIPRDR (clipboard redirection) registered. Awaiting channel connection.
>
> 2024-12-06T15:14:55.601103492Z guacd[20939]: DEBUG:     Local 
> framebuffer format PIXEL_FORMAT_BGRX32
>
> 2024-12-06T15:14:55.601129852Z guacd[20939]: DEBUG:     Remote 
> framebuffer format PIXEL_FORMAT_RGB16
>
> 2024-12-06T15:14:59.984055789Z guacd[20939]: DEBUG:     CLIPRDR 
> (clipboard redirection) channel connected.
>
> 2024-12-06T15:15:00.328241921Z guacd[20939]: DEBUG:     Clipboard data 
> received. Reporting availability of clipboard data to RDP server.
>
> -At 15:32:48 (GMT), while RDP connections were being closed due to the 
> selenium processes being stopped, a core dump has been generated.
>
> oIn /var/log/messages (GMT+1)
>
> Dec 6 16:32:48 s-jrciprjeop151p kernel: traps: guacd[68113] general 
> protection fault ip:7f8b34a97a7c sp:7f8ae349d100 error:0 in 
> ld-musl-x86_64.so.1[7f8b34a86000+4c000]
>
> oIn guacd docker logs (GMT)
>
> 2024-12-06T15:32:48.624974718Z guacd[12924]: ERROR:     User is not 
> responding.
>
> 2024-12-06T15:32:48.625078086Z guacd[12924]: INFO:      User 
> "@8f7db077-f633-466d-a459-e00a18357e7c" disconnected (0 users remain)
>
> 2024-12-06T15:32:48.625151523Z guacd[12924]: INFO:      Last user of 
> connection "$26bd776b-6d33-4fea-a5a1-4bc6ff3d11cf" disconnected
>
> 2024-12-06T15:32:48.625280645Z guacd[12924]: DEBUG:     Requesting 
> termination of client...
>
> 2024-12-06T15:32:48.750757953Z guacd[12924]: DEBUG:     CLIPRDR 
> (clipboard redirection) channel disconnected.
>
> 2024-12-06T15:32:48.765691056Z guacd[12924]: INFO:      Internal RDP 
> client disconnected
>
> 2024-12-06T15:32:48.766157544Z guacd[12924]: DEBUG:     Client 
> terminated successfully.
>
> 2024-12-06T15:32:48.878712775Z guacd[1]: INFO:  Connection 
> "$26bd776b-6d33-4fea-a5a1-4bc6ff3d11cf" removed.
>
> 2024-12-06T15:32:48.878757332Z guacd[1]: DEBUG: All child processes 
> for connection "$26bd776b-6d33-4fea-a5a1-4bc6ff3d11cf" have been 
> terminated.
>
> 2024-12-06T15:33:06.362058899Z guacd[1]: DEBUG: Guacamole connection 
> closed during handshake
>
> 2024-12-06T15:33:06.362146170Z guacd[1]: DEBUG: Error reading 
> "select": End of stream reached while reading instruction
>
> 2024-12-06T15:33:08.662943267Z guacd[13264]: ERROR:     User is not 
> responding.
>
> 2024-12-06T15:33:08.663123142Z guacd[13264]: INFO:      User 
> "@5ee9cdfa-0d04-4c2f-acfe-55a114e2f20a" disconnected (0 users remain)
>
> 2024-12-06T15:33:08.663189616Z guacd[13264]: INFO:      Last user of 
> connection "$4bc9a390-5a8a-4f49-baef-d1e71c5bc666" disconnected
>
> 2024-12-06T15:33:08.663358655Z guacd[13264]: DEBUG:     Requesting 
> termination of client...
>
> 2024-12-06T15:33:08.838800641Z guacd[13264]: DEBUG:     CLIPRDR 
> (clipboard redirection) channel disconnected.
>
> 2024-12-06T15:33:08.849452825Z guacd[13264]: INFO:      Internal RDP 
> client disconnected
>
> 2024-12-06T15:33:08.849665197Z guacd[13264]: DEBUG:     Client 
> terminated successfully.
>
> 2024-12-06T15:33:08.852907658Z guacd[1]: INFO:  Connection 
> "$4bc9a390-5a8a-4f49-baef-d1e71c5bc666" removed.
>
> 2024-12-06T15:33:08.852963162Z guacd[1]: DEBUG: All child processes 
> for connection "$4bc9a390-5a8a-4f49-baef-d1e71c5bc666" have been 
> terminated.
>
> oA core dump has been generated: 
> core-guacd.12924.8a6bb6a83b86.1733499168 attached to that message 
> (1.3G uncompressed)
>
> For completeness, I attach also the guacd logs of the whole testing 
> session.
>
> I would be grateful if you, or some other developer, could have a look 
> at those elements. I am of course available to provide you with any 
> other information you might need. In case it would be helpful, I have 
> other core dumps from previous tests.
>
> Kind regards,
>
> Paul
>
> *From:*HASENOHR Paul <Pa...@ec.europa.eu.INVALID>
> *Sent:* Thursday, November 28, 2024 5:25 PM
> *To:* user@guacamole.apache.org
> *Subject:* RE: Maximum number of simultaneous RDP connections
>
> Dear Nick,
>
> Thank you for your suggestions.
>
> Looking at the server system logs, I found many identical segfault 
> entries:
>
> Nov 28 10:44:55 snc-guacamole kernel: [9829816.814388] guacd[2871114]: 
> segfault at 7fdd045f4bf8 ip 00007fd561fe2433 sp 00007fd5045f12e8 error 
> 4 in ld-musl-x86_64.so.1[7fd561f9f000+4c000]
>
> Nov 28 10:44:55 snc-guacamole kernel: [9829816.826102] Code: e3 18 ff 
> ff 8b 44 24 08 48 81 c4 90 00 00 00 5b 5d 41 5c c3 64 48 8b 04 25 00 
> 00 00 00 48 8b 90 80 00 00 00 89 ff 48 8d 14 fa <48> 39 32 74 07 48 89 
> 32 80 48 42 01 31 c0 c3 48 85 f6 74 0a b8 16
>
> Nov 28 10:44:56 snc-guacamole kernel: [9829817.741713] guacd[2871125]: 
> segfault at 7fdd035fabf8 ip 00007fd561fe2433 sp 00007fd5035f72e8 error 
> 4 in ld-musl-x86_64.so.1[7fd561f9f000+4c000]
>
> Nov 28 10:44:56 snc-guacamole kernel: [9829817.748886] Code: e3 18 ff 
> ff 8b 44 24 08 48 81 c4 90 00 00 00 5b 5d 41 5c c3 64 48 8b 04 25 00 
> 00 00 00 48 8b 90 80 00 00 00 89 ff 48 8d 14 fa <48> 39 32 74 07 48 89 
> 32 80 48 42 01 31 c0 c3 48 85 f6 74 0a b8 16
>
> Is it something you are aware of?
>
> Considering that this happens at around 60 connections, could it be in 
> any way related to 
> https://www.mail-archive.com/user@guacamole.apache.org/msg12630.html 
> <https://urldefense.com/v3/__https:/www.mail-archive.com/user@guacamole.apache.org/msg12630.html__;!!DOxrgLBm!BJT57FqcHgW6YPm52t1beSy9wP9vpgL1kcKD094F2a7OPybOwFktH3i3pvAzPDtm9naffsubtm4RPd_roIBefyd4jLJhEiJPNdGVM2jw-A$>?
>
> I cannot reproduce the error currently as this happens only when 
> exceed our usual number of users that is far below 60. I will try to 
> deploy next week an instance of guacamole with guacd in debug mode and 
> to initiate more than 60 connections to it.
>
> Best regards,
>
> Paul
>
> *From:*Nick Couchman <vnick@apache.org <ma...@apache.org>>
> *Sent:* Thursday, November 28, 2024 2:50 PM
> *To:* user@guacamole.apache.org <ma...@guacamole.apache.org>
> *Subject:* Re: Maximum number of simultaneous RDP connections
>
> On Thu, Nov 28, 2024 at 8:27 AM HASENOHR Paul 
> <Pa...@ec.europa.eu.invalid> wrote:
>
>     Hello,
>
>     We have been using Guacamole for the past years with great
>     satisfaction for our users. Guacamole is running on Docker
>     (standard images to which a custom CA has been added) on a Debian
>     12 VM.
>
>     We noticed today during a training that led to an increase of the
>     number of concurrent connections that we could not exceed 55-58
>     RDP connections. Any other attempt to connect to any RDP server
>     (several machines running Ubuntu 22.04 with xorgxrdp, some of them
>     without any load) returned immediately a black screen with the
>     message “You have been disconnected”.
>
>     In the guacd logs, any failed connection was logged as follows:
>
>     guacd[1]: INFO: Creating new client for protocol "rdp"
>
>     guacd[1]: INFO: Connection ID is
>     "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa"
>
>     guacd[1916025]: INFO:   Security mode: TLS
>
>     guacd[1916025]: INFO:   Resize method: display-update
>
>     guacd[1916025]: INFO:   No clipboard line-ending normalization
>     specified. Defaulting to preserving the format of all line endings.
>
>     guacd[1916025]: INFO:   User
>     "@b2935015-b864-4928-a674-2c26ed1dd45d" joined connection
>     "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa" (1 users now present)
>
>     guacd[1916025]: INFO:   Recording of session will be saved to
>     "/recording//20241128_100346_XXXXXXXXXX-terminal-004-M_N".
>
>     guacd[1916025]: INFO:   Loading keymap "base"
>
>     guacd[1916025]: INFO:   Loading keymap "en-us-qwerty"
>
>     guacd[1]: INFO: Connection "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa"
>     removed.
>
> A handful of things that I can think of to check:
>
> * It's probably worth putting guacd into debug mode ("-L debug" on the 
> command line, or add the log configuration to guacd.conf) and see if 
> that yields any more useful information on what happens when the 
> connections are failing.
>
> * Since you're running in Docker, check the various Docker limits and 
> see if you're running up against something related to container limits 
> - amount of memory, number of open files, process, etc. I believe 
> Docker has facilities for limiting this similar to the normal "limits" 
> and/or "ulimit" command on Linux, but probably slightly different 
> configurations in slightly different places. System logs and/or Docker 
> logs might also indicate bumping up against this.
>
> * Also, check your system logs, particularly any facility that might 
> be present for core dumps and see if anything is being generated that 
> indicates a segfault or other limit.
>
> -Nick
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:user-unsubscribe@guacamole.apache.org
> For additional commands, e-mail:user-help@guacamole.apache.org

Re: Maximum number of simultaneous RDP connections

Posted by Tobias Feller | OPC <tf...@opc.de>.
Found this:

https://github.com/ncabatoff/process-exporter

maybe with the data of this tool to get rid of the problem?

I also set in my docker-compose.yml

environment:
       GUACD_LOG_LEVEL: debug

on both hosts, in preparation for the ":latest" test.

Am 21.01.2025 um 12:48 schrieb Tobias Feller | OPC:
>
> Hello Paul,
>
> sounds good for me.
>
> Instead of uses the Debian as base for the image, i can also do a test 
> with some more debugging.
>
> When i disable one of the load balancing hosts i can reach the limit 
> very easy, but i can not let the guacamole in this state for a longer 
> time, because it is a production system.
>
> I want to support you of course to catch this issue. Of course i want 
> to reduce the interruption for the users to 1 monitoring/debugging 
> session. So i guess i need some hints (linux commands/config changes) 
> what i should active to debug / monitor on host/in docker (via host) 
> because i am not an linux system expert at all.
>
> Also which logs/files from docker to persistent on the host that can 
> help to find the problem?
>
> @Paul, you also already monitor many things. Any hints from you?
>
> @Nick/@Michael maybe more i can do? (see also the Mail from Paul from 
> 16.12.24 with the subject)
>
> Maybe some linux/docker resource monitoring?
>
> I also see something about "ld-musl-x86_64.so" in the host console on 
> the server. Wondering if this is normal to see it on the 
> server-console and not only in the docker.
>
> Also on the other server i see the errors. And also they are uptodate 
> with the the 1.5.3 Version. So this seems not the source problem for 
> the issue, or maybe something that will only happen with the newer 
> guacamole-images.
>
> Jan 21 12:32:28 kernel: traps: guacd[2686260] general protection fault 
> ip:7fe60099167f sp:7fe5d2d5e1d8 error:0 in 
> ld-musl-x86_64.so.1[7fe600980000+4c000]
> Jan 21 12:34:55 kernel: traps: guacd[2790014] general protection fault 
> ip:7fe60099167f sp:7fe5c3caa1d8 error:0 in 
> ld-musl-x86_64.so.1[7fe600980000+4c000]
> Jan 21 12:35:37 kernel: traps: guacd[2882872] general protection fault 
> ip:7fe60099167f sp:7fe5ccd161d8 error:0 in 
> ld-musl-x86_64.so.1[7fe600980000+4c000]
> Jan 21 12:36:35 kernel: traps: guacd[2917121] general protection fault 
> ip:7fe600991a64 sp:7fe5e6e4e1a0 error:0 in 
> ld-musl-x86_64.so.1[7fe600980000+4c000]
>
> Thanks.
>
> I would be happy to hear from you.
>
> Best regards,
>
> Tobias
>
> Am 21.01.2025 um 11:56 schrieb HASENOHR Paul:
>>
>> Hello Nick and Tobias,
>>
>> Just to mention that I could create an image with guacd 1.6-dev on 
>> Debian 12 last week and I will run again the tests this week to see 
>> if I can have more than 60 RDP connections. If it works, I will clean 
>> the dockerfile and the script used to build guacamole and post it to 
>> this thread.
>>
>> Best regards,
>>
>> Paul
>>
>> *From:*Nick Couchman <vn...@apache.org>
>> *Sent:* Monday, January 20, 2025 11:06 PM
>> *To:* user@guacamole.apache.org
>> *Subject:* Re: Maximum number of simultaneous RDP connections
>>
>> On Mon, Jan 20, 2025 at 3:22 AM Tobias Feller | OPC <tf...@opc.de> 
>> wrote:
>>
>>     Hi Nick, Hi Paul,
>>
>>     i can also confirm this issue with > ~ 60 active Connections.
>>
>>     Same environment. Docker, Debian
>>
>>     I ran into this problem a time ago with Version 1.5.4 / 1.5.5 and
>>     then going back to 1.5.3 to resolve it.
>>
>>     In the meantime we now also have a HA-setup:
>>
>>       * Loadbalancer with RoundRobin/StickySessions
>>       * 2 Guacamole Hosts (docker, guacd,tomcat)
>>       * 1 HA (cloud) Postgres DB
>>
>>     This morning one of the Host (Debian 11, running 1.5.3) had some
>>     problems, and all users connected to the guacamole-host with
>>     version 1.5.5. After some time i received the info that users can
>>     not connect, because without round-robin the 1.5.5, hit the
>>     60-connection limit.
>>
>>     It is maybe possible to provide an offical debian-image instead
>>     of ALPINE? Will this be addressed/fixed in 1.6?
>>
>> It's hard to say whether this will be addressed in 1.6.0, because 
>> it's been hard to get reliable reproduction of the issue to this 
>> point. That's not to say that I doubt that anyone who reports this is 
>> actually running into the problem, just that it's difficult to 
>> resolve a problem that you cannot deterministically reproduce. If you 
>> want to figure out if the problem still exists or has been solved in 
>> 1.6.0, the best thing to do would be to build the Docker images 
>> yourself and update your environment and see if the problem exists.
>>
>> Regarding moving from Alpine to Debian - I'm sure it's possible; 
>> however, the reasons for choosing Alpine as the base image are not 
>> arbitrary. I've forgotten exactly why we went that direction in the 
>> past, but I believe it was due to the availability of the various 
>> libraries that we need for guacd - things like libssh2, FreeRDP, etc. 
>> Making that transition to Debian would require a good bit of work to 
>> validate that all of the protocols and other features (guacenc) that 
>> rely on external libraries. Again, very doable, but not necessarily 
>> trivial.
>>
>>     Also a small feature request for this kind of this HA-Setup:
>>
>>     Is it possible to add a info somewhere in the connection-history
>>     from which host the connection was initiated? Maybe via an
>>     ENVIRONMENT-VAR "GUCAMOLE_HOST_ID" as prefix/suffix in some
>>     existing info (connection name) if defined?
>>
>> It is possible, yes, but not without changes in the code - some 
>> changes would need to be made to add a host ID or host name, etc., to 
>> the available parameter tokens.
>>
>> -Nick
>>
> -- 
> OPC® cardsystems GmbH
> Phone: +49 651 8408-0  | Fax: +49 651 8408-150
> E-Mail:tfeller@opc.de | Internet:www.opc.de 
>
> Geschäftsführer: Dipl.-Ing. (FH) Klaus Dieter Schömer
> Registergericht: Amtsgericht Wittlich | HRB-Nr.: 3903
-- 

OPC® cardsystems GmbH
Phone: +49 651 8408-0  | Fax: +49 651 8408-150
E-Mail:tfeller@opc.de | Internet:www.opc.de 

Geschäftsführer: Dipl.-Ing. (FH) Klaus Dieter Schömer
Registergericht: Amtsgericht Wittlich | HRB-Nr.: 3903

Re: Maximum number of simultaneous RDP connections

Posted by Tobias Feller | OPC <tf...@opc.de>.
Hello Paul,

sounds good for me.

Instead of uses the Debian as base for the image, i can also do a test 
with some more debugging.

When i disable one of the load balancing hosts i can reach the limit 
very easy, but i can not let the guacamole in this state for a longer 
time, because it is a production system.

I want to support you of course to catch this issue. Of course i want to 
reduce the interruption for the users to 1 monitoring/debugging session. 
So i guess i need some hints (linux commands/config changes) what i 
should active to debug / monitor on host/in docker (via host) because i 
am not an linux system expert at all.

Also which logs/files from docker to persistent on the host that can 
help to find the problem?

@Paul, you also already monitor many things. Any hints from you?

@Nick/@Michael maybe more i can do? (see also the Mail from Paul from 
16.12.24 with the subject)

Maybe some linux/docker resource monitoring?

I also see something about "ld-musl-x86_64.so" in the host console on 
the server. Wondering if this is normal to see it on the server-console 
and not only in the docker.

Also on the other server i see the errors. And also they are uptodate 
with the the 1.5.3 Version. So this seems not the source problem for the 
issue, or maybe something that will only happen with the newer 
guacamole-images.

Jan 21 12:32:28 kernel: traps: guacd[2686260] general protection fault 
ip:7fe60099167f sp:7fe5d2d5e1d8 error:0 in 
ld-musl-x86_64.so.1[7fe600980000+4c000]
Jan 21 12:34:55 kernel: traps: guacd[2790014] general protection fault 
ip:7fe60099167f sp:7fe5c3caa1d8 error:0 in 
ld-musl-x86_64.so.1[7fe600980000+4c000]
Jan 21 12:35:37 kernel: traps: guacd[2882872] general protection fault 
ip:7fe60099167f sp:7fe5ccd161d8 error:0 in 
ld-musl-x86_64.so.1[7fe600980000+4c000]
Jan 21 12:36:35 kernel: traps: guacd[2917121] general protection fault 
ip:7fe600991a64 sp:7fe5e6e4e1a0 error:0 in 
ld-musl-x86_64.so.1[7fe600980000+4c000]

Thanks.

I would be happy to hear from you.

Best regards,

Tobias

Am 21.01.2025 um 11:56 schrieb HASENOHR Paul:
>
> Hello Nick and Tobias,
>
> Just to mention that I could create an image with guacd 1.6-dev on 
> Debian 12 last week and I will run again the tests this week to see if 
> I can have more than 60 RDP connections. If it works, I will clean the 
> dockerfile and the script used to build guacamole and post it to this 
> thread.
>
> Best regards,
>
> Paul
>
> *From:*Nick Couchman <vn...@apache.org>
> *Sent:* Monday, January 20, 2025 11:06 PM
> *To:* user@guacamole.apache.org
> *Subject:* Re: Maximum number of simultaneous RDP connections
>
> On Mon, Jan 20, 2025 at 3:22 AM Tobias Feller | OPC <tf...@opc.de> 
> wrote:
>
>     Hi Nick, Hi Paul,
>
>     i can also confirm this issue with > ~ 60 active Connections.
>
>     Same environment. Docker, Debian
>
>     I ran into this problem a time ago with Version 1.5.4 / 1.5.5 and
>     then going back to 1.5.3 to resolve it.
>
>     In the meantime we now also have a HA-setup:
>
>       * Loadbalancer with RoundRobin/StickySessions
>       * 2 Guacamole Hosts (docker, guacd,tomcat)
>       * 1 HA (cloud) Postgres DB
>
>     This morning one of the Host (Debian 11, running 1.5.3) had some
>     problems, and all users connected to the guacamole-host with
>     version 1.5.5. After some time i received the info that users can
>     not connect, because without round-robin the 1.5.5, hit the
>     60-connection limit.
>
>     It is maybe possible to provide an offical debian-image instead of
>     ALPINE? Will this be addressed/fixed in 1.6?
>
> It's hard to say whether this will be addressed in 1.6.0, because it's 
> been hard to get reliable reproduction of the issue to this point. 
> That's not to say that I doubt that anyone who reports this is 
> actually running into the problem, just that it's difficult to resolve 
> a problem that you cannot deterministically reproduce. If you want to 
> figure out if the problem still exists or has been solved in 1.6.0, 
> the best thing to do would be to build the Docker images yourself and 
> update your environment and see if the problem exists.
>
> Regarding moving from Alpine to Debian - I'm sure it's possible; 
> however, the reasons for choosing Alpine as the base image are not 
> arbitrary. I've forgotten exactly why we went that direction in the 
> past, but I believe it was due to the availability of the various 
> libraries that we need for guacd - things like libssh2, FreeRDP, etc. 
> Making that transition to Debian would require a good bit of work to 
> validate that all of the protocols and other features (guacenc) that 
> rely on external libraries. Again, very doable, but not necessarily 
> trivial.
>
>     Also a small feature request for this kind of this HA-Setup:
>
>     Is it possible to add a info somewhere in the connection-history
>     from which host the connection was initiated? Maybe via an
>     ENVIRONMENT-VAR "GUCAMOLE_HOST_ID" as prefix/suffix in some
>     existing info (connection name) if defined?
>
> It is possible, yes, but not without changes in the code - some 
> changes would need to be made to add a host ID or host name, etc., to 
> the available parameter tokens.
>
> -Nick
>
-- 

OPC® cardsystems GmbH
Phone: +49 651 8408-0  | Fax: +49 651 8408-150
E-Mail:tfeller@opc.de | Internet:www.opc.de 

Geschäftsführer: Dipl.-Ing. (FH) Klaus Dieter Schömer
Registergericht: Amtsgericht Wittlich | HRB-Nr.: 3903

RE: Maximum number of simultaneous RDP connections

Posted by HASENOHR Paul <Pa...@ec.europa.eu.INVALID>.
Hello Nick and Tobias,

Just to mention that I could create an image with guacd 1.6-dev on Debian 12 last week and I will run again the tests this week to see if I can have more than 60 RDP connections. If it works, I will clean the dockerfile and the script used to build guacamole and post it to this thread.

Best regards,
Paul

From: Nick Couchman <vn...@apache.org>
Sent: Monday, January 20, 2025 11:06 PM
To: user@guacamole.apache.org
Subject: Re: Maximum number of simultaneous RDP connections

On Mon, Jan 20, 2025 at 3:22 AM Tobias Feller | OPC <tf...@opc.de>> wrote:

Hi Nick, Hi Paul,

i can also confirm this issue with > ~ 60 active Connections.

Same environment. Docker, Debian

I ran into this problem a time ago with Version 1.5.4 / 1.5.5 and then going back to 1.5.3 to resolve it.

In the meantime we now also have a HA-setup:

  *   Loadbalancer with RoundRobin/StickySessions
  *   2 Guacamole Hosts (docker, guacd,tomcat)
  *   1 HA (cloud) Postgres DB

This morning one of the Host (Debian 11, running 1.5.3) had some problems, and all users connected to the guacamole-host with version 1.5.5. After some time i received the info that users can not connect, because without round-robin the 1.5.5, hit the 60-connection limit.

It is maybe possible to provide an offical debian-image instead of ALPINE? Will this be addressed/fixed in 1.6?
It's hard to say whether this will be addressed in 1.6.0, because it's been hard to get reliable reproduction of the issue to this point. That's not to say that I doubt that anyone who reports this is actually running into the problem, just that it's difficult to resolve a problem that you cannot deterministically reproduce. If you want to figure out if the problem still exists or has been solved in 1.6.0, the best thing to do would be to build the Docker images yourself and update your environment and see if the problem exists.

Regarding moving from Alpine to Debian - I'm sure it's possible; however, the reasons for choosing Alpine as the base image are not arbitrary. I've forgotten exactly why we went that direction in the past, but I believe it was due to the availability of the various libraries that we need for guacd - things like libssh2, FreeRDP, etc. Making that transition to Debian would require a good bit of work to validate that all of the protocols and other features (guacenc) that rely on external libraries. Again, very doable, but not necessarily trivial.



Also a small feature request for this kind of this HA-Setup:

Is it possible to add a info somewhere in the connection-history from which host the connection was initiated? Maybe via an ENVIRONMENT-VAR "GUCAMOLE_HOST_ID" as prefix/suffix in some existing info (connection name) if defined?
It is possible, yes, but not without changes in the code - some changes would need to be made to add a host ID or host name, etc., to the available parameter tokens.

-Nick

Re: Maximum number of simultaneous RDP connections

Posted by Nick Couchman <vn...@apache.org>.
On Mon, Jan 20, 2025 at 3:22 AM Tobias Feller | OPC <tf...@opc.de> wrote:

> Hi Nick, Hi Paul,
>
> i can also confirm this issue with > ~ 60 active Connections.
>
> Same environment. Docker, Debian
>
> I ran into this problem a time ago with Version 1.5.4 / 1.5.5 and then
> going back to 1.5.3 to resolve it.
>
> In the meantime we now also have a HA-setup:
>
>    - Loadbalancer with RoundRobin/StickySessions
>    - 2 Guacamole Hosts (docker, guacd,tomcat)
>    - 1 HA (cloud) Postgres DB
>
> This morning one of the Host (Debian 11, running 1.5.3) had some problems,
> and all users connected to the guacamole-host with version 1.5.5. After
> some time i received the info that users can not connect, because without
> round-robin the 1.5.5, hit the 60-connection limit.
>
> It is maybe possible to provide an offical debian-image instead of ALPINE?
> Will this be addressed/fixed in 1.6?
>
It's hard to say whether this will be addressed in 1.6.0, because it's been
hard to get reliable reproduction of the issue to this point. That's not to
say that I doubt that anyone who reports this is actually running into the
problem, just that it's difficult to resolve a problem that you cannot
deterministically reproduce. If you want to figure out if the problem still
exists or has been solved in 1.6.0, the best thing to do would be to build
the Docker images yourself and update your environment and see if the
problem exists.

Regarding moving from Alpine to Debian - I'm sure it's possible; however,
the reasons for choosing Alpine as the base image are not arbitrary. I've
forgotten exactly why we went that direction in the past, but I believe it
was due to the availability of the various libraries that we need for guacd
- things like libssh2, FreeRDP, etc. Making that transition to Debian would
require a good bit of work to validate that all of the protocols and other
features (guacenc) that rely on external libraries. Again, very doable, but
not necessarily trivial.

>
> Also a small feature request for this kind of this HA-Setup:
>
> Is it possible to add a info somewhere in the connection-history from
> which host the connection was initiated? Maybe via an ENVIRONMENT-VAR
> "GUCAMOLE_HOST_ID" as prefix/suffix in some existing info (connection name)
> if defined?
>
It is possible, yes, but not without changes in the code - some changes
would need to be made to add a host ID or host name, etc., to the available
parameter tokens.

-Nick

>

RE: Maximum number of simultaneous RDP connections

Posted by Tobias Feller | OPC <tf...@opc.de>.
Hi Nick, Hi Paul,

i can also confirm this issue with > ~ 60 active Connections.

Same environment. Docker, Debian

I ran into this problem a time ago with Version 1.5.4 / 1.5.5 and then 
going back to 1.5.3 to resolve it.

In the meantime we now also have a HA-setup:

  * Loadbalancer with RoundRobin/StickySessions
  * 2 Guacamole Hosts (docker, guacd,tomcat)
  * 1 HA (cloud) Postgres DB

This morning one of the Host (Debian 11, running 1.5.3) had some 
problems, and all users connected to the guacamole-host with version 
1.5.5. After some time i received the info that users can not connect, 
because without round-robin the 1.5.5, hit the 60-connection limit.

It is maybe possible to provide an offical debian-image instead of 
ALPINE? Will this be addressed/fixed in 1.6?

Also a small feature request for this kind of this HA-Setup:

Is it possible to add a info somewhere in the connection-history from 
which host the connection was initiated? Maybe via an ENVIRONMENT-VAR 
"GUCAMOLE_HOST_ID" as prefix/suffix in some existing info (connection 
name) if defined?

Thanks a lot.

Best regards,

Tobias

Am 16.12.2024 um 18:34 schrieb HASENOHR Paul:
>
> Hello Nick,
>
> I built the guacd Docker image from the branch staging/1.6.0 and ran 
> the same series of test and unfortunately, they failed again from the 
> 60^th connection onwards. This time, the failure seems to be linked to 
> /lib/libcrypto.so.1.1 All details in the second part of this message.
>
> *DEBIAN 12 tests*
>
> I did not manage to build an image based on Debian 12. Either it fails 
> during when make checkis executed (see the [socket] message below) or 
> rdp does not work in the resulting guacd image. Looking at the builder 
> image of the Dockerfile, I found several core dump files in it. I 
> attach the Dockerfile I used and the config.log generated during the 
> build.
>
> [socket] nested_send_instruction: Assertion failed on 
> socket/nested_send_instruction.c:105: 
> CU_ASSERT_EQUAL(offset,strlen(expected))
>
> *Analysis of one of the core dump produced during the build stage:*
>
> root@e0a228a4b17f:/tmp# gdb 
> /tmp/guacamole-server/src/libguac/tests/.libs/test_libguac 
> core-test_libguac.28610.buildkitsandbox.1734366310
>
> GNU gdb (Debian 13.1-3) 13.1
>
> Copyright (C) 2023 Free Software Foundation, Inc.
>
> License GPLv3+: GNU GPL version 3 or later 
> <http://gnu.org/licenses/gpl.html>
>
> This is free software: you are free to change and redistribute it.
>
> There is NO WARRANTY, to the extent permitted by law.
>
> Type "show copying" and "show warranty" for details.
>
> This GDB was configured as "x86_64-linux-gnu".
>
> Type "show configuration" for configuration details.
>
> For bug reporting instructions, please see:
>
> <https://www.gnu.org/software/gdb/bugs/>.
>
> Find the GDB manual and other documentation resources online at:
>
> <http://www.gnu.org/software/gdb/documentation/>.
>
> For help, type "help".
>
> Type "apropos word" to search for commands related to "word"...
>
> Reading symbols from 
> /tmp/guacamole-server/src/libguac/tests/.libs/test_libguac...
>
> (No debugging symbols found in 
> /tmp/guacamole-server/src/libguac/tests/.libs/test_libguac)
>
> [New LWP 28610]
>
> [Thread debugging using libthread_db enabled]
>
> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
>
> Core was generated by 
> `/tmp/guacamole-server/src/libguac/tests/.libs/test_libguac'.
>
> Program terminated with signal SIGABRT, Aborted.
>
> #0 __pthread_kill_implementation (threadid=<optimized out>, 
> signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
>
> 44 ./nptl/pthread_kill.c: No such file or directory.
>
> (gdb) bt
>
> #0 __pthread_kill_implementation (threadid=<optimized out>, 
> signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
>
> #1 0x00007f0e1158ff1f in __pthread_kill_internal (signo=6, 
> threadid=<optimized out>) at ./nptl/pthread_kill.c:78
>
> #2 0x00007f0e11540fb2 in __GI_raise (sig=sig@entry=6) at 
> ../sysdeps/posix/raise.c:26
>
> #3 0x00007f0e1152b472 in __GI_abort () at ./stdlib/abort.c:79
>
> #4 0x00007f0e116faf87 in PRIV_guac_mem_realloc_or_die () from 
> /tmp/guacamole-server/src/libguac/.libs/libguac.so.24
>
> #5 0x000055f66bf32c70 in test_mem.realloc_or_die_fail_large ()
>
> #6 0x00007f0e1171d927 in ?? () from /lib/x86_64-linux-gnu/libcunit.so.1
>
> #7 0x00007f0e1171db78 in ?? () from /lib/x86_64-linux-gnu/libcunit.so.1
>
> #8 0x00007f0e1171dfb0 in CU_run_all_tests () from 
> /lib/x86_64-linux-gnu/libcunit.so.1
>
> #9 0x000055f66bf396a0 in main ()
>
> (gdb) quit
>
> I am likely missing some packages to build guacd on Debian. Could you 
> tell me what is missing/wrong?
>
> *ALPINE tests*
>
> To run gdb in the Alpine guacd container, I installed gdb, 
> apk-tools-dbg, musl-dbg and openssl1.1-compat-dbg
>
> Core was generated by `/opt/guacamole/sbin/guacd -b 0.0.0.0 -L debug -f'.
>
> Program terminated with signal SIGSEGV, Segmentation fault.
>
> #0 0x00007f87341580e3 in CRYPTO_set_ex_data () from /lib/libcrypto.so.1.1
>
> [Current thread is 1 (LWP 24844)]
>
> (gdb) bt
>
> #0 0x00007f87341580e3 in CRYPTO_set_ex_data () from /lib/libcrypto.so.1.1
>
> #1 0x00007f86d985a26c in transport_default_connect_tls () from 
> /opt/guacamole/lib/libfreerdp3.so.3
>
> #2 0x00007f86d97ed996 in nego_try_connect () from 
> /opt/guacamole/lib/libfreerdp3.so.3
>
> #3 0x00007f86d97efda8 in nego_connect () from 
> /opt/guacamole/lib/libfreerdp3.so.3
>
> #4 0x00007f86d982a899 in rdp_client_connect () from 
> /opt/guacamole/lib/libfreerdp3.so.3
>
> #5 0x00007f86d981683f in freerdp_connect () from 
> /opt/guacamole/lib/libfreerdp3.so.3
>
> #6 0x00007f86d9c281f6 in guac_rdp_handle_connection () from 
> /opt/guacamole/lib/libguac-client-rdp.so
>
> #7 0x00007f86d9c28baa in guac_rdp_client_thread () from 
> /opt/guacamole/lib/libguac-client-rdp.so
>
> #8 0x00007f8734525bc2 in start (p=0x7f86d8125328) at 
> src/thread/pthread_create.c:207
>
> #9 0x00007f8734527f30 in __clone () at src/thread/x86_64/clone.s:22
>
> Backtrace stopped: frame did not save the PC
>
> (gdb)
>
> (gdb) bt full
>
> #0 0x00007f87341580e3 in CRYPTO_set_ex_data () from /lib/libcrypto.so.1.1
>
> No symbol table info available.
>
> #1 0x00007f86d985a26c in transport_default_connect_tls () from 
> /opt/guacamole/lib/libfreerdp3.so.3
>
> No symbol table info available.
>
> #2 0x00007f86d97ed996 in nego_try_connect () from 
> /opt/guacamole/lib/libfreerdp3.so.3
>
> No symbol table info available.
>
> #3 0x00007f86d97efda8 in nego_connect () from 
> /opt/guacamole/lib/libfreerdp3.so.3
>
> No symbol table info available.
>
> #4 0x00007f86d982a899 in rdp_client_connect () from 
> /opt/guacamole/lib/libfreerdp3.so.3
>
> No symbol table info available.
>
> #5 0x00007f86d981683f in freerdp_connect () from 
> /opt/guacamole/lib/libfreerdp3.so.3
>
> No symbol table info available.
>
> #6 0x00007f86d9c281f6 in guac_rdp_handle_connection () from 
> /opt/guacamole/lib/libguac-client-rdp.so
>
> No symbol table info available.
>
> #7 0x00007f86d9c28baa in guac_rdp_client_thread () from 
> /opt/guacamole/lib/libguac-client-rdp.so
>
> No symbol table info available.
>
> #8 0x00007f8734525bc2 in start (p=0x7f86d8125328) at 
> src/thread/pthread_create.c:207
>
> args = 0x7f86d8125328
>
> state = <optimized out>
>
> #9 0x00007f8734527f30 in __clone () at src/thread/x86_64/clone.s:22
>
> No locals.
>
> Backtrace stopped: frame did not save the PC
>
> (gdb)
>
> (gdb) info thread
>
> Id   Target Id         Frame
>
> * 1    LWP 24844         0x00007f87341580e3 in CRYPTO_set_ex_data () 
> from /lib/libcrypto.so.1.1
>
> 2    LWP 24858         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 3    LWP 24842         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 4    LWP 24857         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 5    LWP 24852         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 6    LWP 24839         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 7    LWP 24845         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 8    LWP 24851         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 9    LWP 24856         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 10   LWP 24846         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 11   LWP 24849         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 12   LWP 24865         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 13   LWP 24847         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 14   LWP 24855         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 15   LWP 24850         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 16   LWP 24859         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 17   LWP 24902         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 18   LWP 24848         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 19   LWP 24866         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 20   LWP 24853         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 21   LWP 24923         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 22   LWP 24864         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 23   LWP 24862         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 24   LWP 24860         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 25   LWP 24854         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 26   LWP 24924         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 27   LWP 24917         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 28   LWP 24922         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 29   LWP 24872         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 30   LWP 24945         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 31   LWP 24918         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 32   LWP 24919         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 33   LWP 24920         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 34   LWP 24921         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 35   LWP 24873         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 36   LWP 24901         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 37   LWP 24861         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 38   LWP 24863         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 39   LWP 24897         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 40   LWP 24869         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 41   LWP 24937         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 42   LWP 24936         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 43   LWP 24934         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 44   LWP 24907         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 45   LWP 24895         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 46   LWP 24896         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 47   LWP 24915         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 48   LWP 24929         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 49   LWP 24932         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 50   LWP 24876         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 51   LWP 24944         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 52   LWP 24939         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 53   LWP 24938         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 54   LWP 24867         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 55   LWP 24930         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 56   LWP 24931         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 57   LWP 24927         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 58   LWP 24888         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 59   LWP 24950         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 60   LWP 24898         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 61   LWP 24928         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 62   LWP 24903         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 63   LWP 24870         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 64   LWP 24900         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 65   LWP 24893         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 66   LWP 24894         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 67   LWP 24899         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 68   LWP 25013         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 69   LWP 24958         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 70   LWP 25010         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 71   LWP 24908         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 72   LWP 24871         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 73   LWP 24916         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 74   LWP 25016         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 75   LWP 24878         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 76   LWP 25008         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 77   LWP 24956         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 78   LWP 24986         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 79   LWP 24942         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 80   LWP 25009         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 81   LWP 24946         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 82   LWP 24868         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 83   LWP 24969         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 84   LWP 24890         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 85   LWP 25064         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 86   LWP 24904         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 87   LWP 25014         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 88   LWP 25019         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 89   LWP 24960         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 90   LWP 24910         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 91   LWP 24925         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 92   LWP 24881         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 93   LWP 24992         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 94   LWP 25035         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 95   LWP 25017         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 96   LWP 25039         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 97   LWP 25011         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 98   LWP 24874         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 99   LWP 24951         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 100  LWP 25015         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 101  LWP 25075         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 102  LWP 24943         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 103  LWP 24891         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 104  LWP 24998         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 105  LWP 25024         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 106  LWP 25022         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 107  LWP 24911         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 108  LWP 24962         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 109  LWP 25001         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 110  LWP 25060         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 111  LWP 24926         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 112  LWP 24882         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 113  LWP 24957         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 114  LWP 25000         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 115  LWP 25020         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 116  LWP 24997         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 117  LWP 25025         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 118  LWP 25029         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 119  LWP 24905         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 120  LWP 25021         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 121  LWP 24941         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 122  LWP 24875         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 123  LWP 25033         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 124  LWP 25045         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 125  LWP 24974         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 126  LWP 24963         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 127  LWP 24906         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 128  LWP 25078         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 129  LWP 24980         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 130  LWP 24883         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 131  LWP 24982         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 132  LWP 25005         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 133  LWP 25037         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 134  LWP 25004         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 135  LWP 25002         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 136  LWP 25050         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 137  LWP 25034         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 138  LWP 24996         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 139  LWP 25030         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 140  LWP 25036         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 141  LWP 25061         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 142  LWP 24953         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 143  LWP 24877         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 144  LWP 24933         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 145  LWP 25023         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 146  LWP 24947         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 147  LWP 25032         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 148  LWP 25055         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 149  LWP 24970         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 150  LWP 24975         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 151  LWP 25079         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 152  LWP 24981         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 153  LWP 25006         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 154  LWP 24884         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 155  LWP 25065         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 156  LWP 24964         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 157  LWP 24972         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 158  LWP 25059         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 159  LWP 24955         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 160  LWP 24952         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 161  LWP 25073         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 162  LWP 24993         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 163  LWP 24979         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 164  LWP 25044         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 165  LWP 24971         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 166  LWP 25051         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 167  LWP 25043         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 168  LWP 24954         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 169  LWP 25038         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 170  LWP 25084         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 171  LWP 25077         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 172  LWP 24892         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 173  LWP 25080         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 174  LWP 24948         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 175  LWP 25040         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 176  LWP 25056         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 177  LWP 24976         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 178  LWP 24973         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 179  LWP 25003         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 180  LWP 24959         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 181  LWP 25082         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 182  LWP 25042         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 183  LWP 25076         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 184  LWP 25026         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 185  LWP 24994         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 186  LWP 24995         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 187  LWP 24983         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 188  LWP 24984         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 189  LWP 24968         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 190  LWP 24949         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 191  LWP 25054         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 192  LWP 25041         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 193  LWP 24967         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 194  LWP 25012         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 195  LWP 24843         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 196  LWP 25057         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 197  LWP 25085         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 198  LWP 25027         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 199  LWP 25081         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 200  LWP 24966         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 201  LWP 25052         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 202  LWP 25046         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 203  LWP 24978         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 204  LWP 25070         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 205  LWP 25062         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 206  LWP 25058         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 207  LWP 24977         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 208  LWP 24909         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 209  LWP 25018         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 210  LWP 24879         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 211  LWP 24880         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 212  LWP 25083         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 213  LWP 25028         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 214  LWP 24990         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 215  LWP 24886         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 216  LWP 24961         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 217  LWP 25031         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 218  LWP 24885         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 219  LWP 25074         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 220  LWP 25049         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 221  LWP 25007         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 222  LWP 25071         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 223  LWP 24889         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 224  LWP 25048         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 225  LWP 25069         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 226  LWP 24985         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 227  LWP 24965         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 228  LWP 25063         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 229  LWP 24887         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 230  LWP 25086         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 231  LWP 24940         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 232  LWP 25067         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 233  LWP 24991         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 234  LWP 24999         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 235  LWP 25066         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 236  LWP 24989         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 237  LWP 24935         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 238  LWP 25072         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 239  LWP 24914         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 240  LWP 25053         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 241  LWP 25068         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 242  LWP 25047         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 243  LWP 24988         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 244  LWP 24987         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 245  LWP 24913         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> 246  LWP 24912         __cp_end () at src/thread/x86_64/syscall_cp.s:29
>
> (gdb)
>
> The output of thread apply all bt fulland thread apply all btare in 
> the attached log file
>
> Please let me know what additional information you would need.
>
> Best regards,
>
> Paul
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:user-unsubscribe@guacamole.apache.org
> For additional commands, e-mail:user-help@guacamole.apache.org

RE: ***UNCHECKED*** RE: Maximum number of simultaneous RDP connections

Posted by HASENOHR Paul <Pa...@ec.europa.eu.INVALID>.
Hello Nick,

I built the guacd Docker image from the branch staging/1.6.0 and ran the same series of test and unfortunately, they failed again from the 60th connection onwards. This time, the failure seems to be linked to /lib/libcrypto.so.1.1 All details in the second part of this message.

DEBIAN 12 tests

I did not manage to build an image based on Debian 12. Either it fails during when make check is executed (see the [socket] message below) or rdp does not work in the resulting guacd image. Looking at the builder image of the Dockerfile, I found several core dump files in it. I attach the Dockerfile I used and the config.log generated during the build.
[socket] nested_send_instruction: Assertion failed on socket/nested_send_instruction.c:105: CU_ASSERT_EQUAL(offset,strlen(expected))

Analysis of one of the core dump produced during the build stage:

root@e0a228a4b17f:/tmp# gdb /tmp/guacamole-server/src/libguac/tests/.libs/test_libguac core-test_libguac.28610.buildkitsandbox.1734366310
GNU gdb (Debian 13.1-3) 13.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /tmp/guacamole-server/src/libguac/tests/.libs/test_libguac...
(No debugging symbols found in /tmp/guacamole-server/src/libguac/tests/.libs/test_libguac)
[New LWP 28610]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/tmp/guacamole-server/src/libguac/tests/.libs/test_libguac'.
Program terminated with signal SIGABRT, Aborted.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
44      ./nptl/pthread_kill.c: No such file or directory.
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1  0x00007f0e1158ff1f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2  0x00007f0e11540fb2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007f0e1152b472 in __GI_abort () at ./stdlib/abort.c:79
#4  0x00007f0e116faf87 in PRIV_guac_mem_realloc_or_die () from /tmp/guacamole-server/src/libguac/.libs/libguac.so.24
#5  0x000055f66bf32c70 in test_mem.realloc_or_die_fail_large ()
#6  0x00007f0e1171d927 in ?? () from /lib/x86_64-linux-gnu/libcunit.so.1
#7  0x00007f0e1171db78 in ?? () from /lib/x86_64-linux-gnu/libcunit.so.1
#8  0x00007f0e1171dfb0 in CU_run_all_tests () from /lib/x86_64-linux-gnu/libcunit.so.1
#9  0x000055f66bf396a0 in main ()
(gdb) quit

I am likely missing some packages to build guacd on Debian. Could you tell me what is missing/wrong?


ALPINE tests

To run gdb in the Alpine guacd container, I installed gdb, apk-tools-dbg, musl-dbg and openssl1.1-compat-dbg

Core was generated by `/opt/guacamole/sbin/guacd -b 0.0.0.0 -L debug -f'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f87341580e3 in CRYPTO_set_ex_data () from /lib/libcrypto.so.1.1
[Current thread is 1 (LWP 24844)]
(gdb) bt
#0  0x00007f87341580e3 in CRYPTO_set_ex_data () from /lib/libcrypto.so.1.1
#1  0x00007f86d985a26c in transport_default_connect_tls () from /opt/guacamole/lib/libfreerdp3.so.3
#2  0x00007f86d97ed996 in nego_try_connect () from /opt/guacamole/lib/libfreerdp3.so.3
#3  0x00007f86d97efda8 in nego_connect () from /opt/guacamole/lib/libfreerdp3.so.3
#4  0x00007f86d982a899 in rdp_client_connect () from /opt/guacamole/lib/libfreerdp3.so.3
#5  0x00007f86d981683f in freerdp_connect () from /opt/guacamole/lib/libfreerdp3.so.3
#6  0x00007f86d9c281f6 in guac_rdp_handle_connection () from /opt/guacamole/lib/libguac-client-rdp.so
#7  0x00007f86d9c28baa in guac_rdp_client_thread () from /opt/guacamole/lib/libguac-client-rdp.so
#8  0x00007f8734525bc2 in start (p=0x7f86d8125328) at src/thread/pthread_create.c:207
#9  0x00007f8734527f30 in __clone () at src/thread/x86_64/clone.s:22
Backtrace stopped: frame did not save the PC
(gdb)

(gdb) bt full
#0  0x00007f87341580e3 in CRYPTO_set_ex_data () from /lib/libcrypto.so.1.1
No symbol table info available.
#1  0x00007f86d985a26c in transport_default_connect_tls () from /opt/guacamole/lib/libfreerdp3.so.3
No symbol table info available.
#2  0x00007f86d97ed996 in nego_try_connect () from /opt/guacamole/lib/libfreerdp3.so.3
No symbol table info available.
#3  0x00007f86d97efda8 in nego_connect () from /opt/guacamole/lib/libfreerdp3.so.3
No symbol table info available.
#4  0x00007f86d982a899 in rdp_client_connect () from /opt/guacamole/lib/libfreerdp3.so.3
No symbol table info available.
#5  0x00007f86d981683f in freerdp_connect () from /opt/guacamole/lib/libfreerdp3.so.3
No symbol table info available.
#6  0x00007f86d9c281f6 in guac_rdp_handle_connection () from /opt/guacamole/lib/libguac-client-rdp.so
No symbol table info available.
#7  0x00007f86d9c28baa in guac_rdp_client_thread () from /opt/guacamole/lib/libguac-client-rdp.so
No symbol table info available.
#8  0x00007f8734525bc2 in start (p=0x7f86d8125328) at src/thread/pthread_create.c:207
        args = 0x7f86d8125328
        state = <optimized out>
#9  0x00007f8734527f30 in __clone () at src/thread/x86_64/clone.s:22
No locals.
Backtrace stopped: frame did not save the PC
(gdb)

(gdb) info thread
  Id   Target Id         Frame
* 1    LWP 24844         0x00007f87341580e3 in CRYPTO_set_ex_data () from /lib/libcrypto.so.1.1
  2    LWP 24858         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  3    LWP 24842         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  4    LWP 24857         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  5    LWP 24852         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  6    LWP 24839         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  7    LWP 24845         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  8    LWP 24851         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  9    LWP 24856         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  10   LWP 24846         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  11   LWP 24849         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  12   LWP 24865         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  13   LWP 24847         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  14   LWP 24855         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  15   LWP 24850         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  16   LWP 24859         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  17   LWP 24902         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  18   LWP 24848         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  19   LWP 24866         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  20   LWP 24853         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  21   LWP 24923         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  22   LWP 24864         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  23   LWP 24862         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  24   LWP 24860         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  25   LWP 24854         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  26   LWP 24924         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  27   LWP 24917         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  28   LWP 24922         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  29   LWP 24872         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  30   LWP 24945         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  31   LWP 24918         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  32   LWP 24919         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  33   LWP 24920         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  34   LWP 24921         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  35   LWP 24873         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  36   LWP 24901         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  37   LWP 24861         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  38   LWP 24863         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  39   LWP 24897         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  40   LWP 24869         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  41   LWP 24937         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  42   LWP 24936         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  43   LWP 24934         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  44   LWP 24907         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  45   LWP 24895         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  46   LWP 24896         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  47   LWP 24915         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  48   LWP 24929         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  49   LWP 24932         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  50   LWP 24876         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  51   LWP 24944         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  52   LWP 24939         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  53   LWP 24938         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  54   LWP 24867         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  55   LWP 24930         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  56   LWP 24931         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  57   LWP 24927         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  58   LWP 24888         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  59   LWP 24950         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  60   LWP 24898         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  61   LWP 24928         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  62   LWP 24903         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  63   LWP 24870         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  64   LWP 24900         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  65   LWP 24893         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  66   LWP 24894         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  67   LWP 24899         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  68   LWP 25013         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  69   LWP 24958         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  70   LWP 25010         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  71   LWP 24908         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  72   LWP 24871         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  73   LWP 24916         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  74   LWP 25016         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  75   LWP 24878         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  76   LWP 25008         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  77   LWP 24956         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  78   LWP 24986         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  79   LWP 24942         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  80   LWP 25009         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  81   LWP 24946         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  82   LWP 24868         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  83   LWP 24969         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  84   LWP 24890         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  85   LWP 25064         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  86   LWP 24904         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  87   LWP 25014         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  88   LWP 25019         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  89   LWP 24960         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  90   LWP 24910         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  91   LWP 24925         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  92   LWP 24881         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  93   LWP 24992         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  94   LWP 25035         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  95   LWP 25017         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  96   LWP 25039         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  97   LWP 25011         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  98   LWP 24874         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  99   LWP 24951         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  100  LWP 25015         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  101  LWP 25075         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  102  LWP 24943         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  103  LWP 24891         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  104  LWP 24998         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  105  LWP 25024         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  106  LWP 25022         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  107  LWP 24911         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  108  LWP 24962         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  109  LWP 25001         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  110  LWP 25060         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  111  LWP 24926         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  112  LWP 24882         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  113  LWP 24957         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  114  LWP 25000         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  115  LWP 25020         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  116  LWP 24997         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  117  LWP 25025         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  118  LWP 25029         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  119  LWP 24905         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  120  LWP 25021         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  121  LWP 24941         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  122  LWP 24875         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  123  LWP 25033         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  124  LWP 25045         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  125  LWP 24974         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  126  LWP 24963         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  127  LWP 24906         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  128  LWP 25078         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  129  LWP 24980         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  130  LWP 24883         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  131  LWP 24982         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  132  LWP 25005         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  133  LWP 25037         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  134  LWP 25004         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  135  LWP 25002         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  136  LWP 25050         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  137  LWP 25034         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  138  LWP 24996         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  139  LWP 25030         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  140  LWP 25036         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  141  LWP 25061         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  142  LWP 24953         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  143  LWP 24877         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  144  LWP 24933         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  145  LWP 25023         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  146  LWP 24947         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  147  LWP 25032         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  148  LWP 25055         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  149  LWP 24970         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  150  LWP 24975         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  151  LWP 25079         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  152  LWP 24981         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  153  LWP 25006         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  154  LWP 24884         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  155  LWP 25065         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  156  LWP 24964         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  157  LWP 24972         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  158  LWP 25059         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  159  LWP 24955         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  160  LWP 24952         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  161  LWP 25073         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  162  LWP 24993         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  163  LWP 24979         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  164  LWP 25044         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  165  LWP 24971         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  166  LWP 25051         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  167  LWP 25043         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  168  LWP 24954         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  169  LWP 25038         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  170  LWP 25084         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  171  LWP 25077         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  172  LWP 24892         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  173  LWP 25080         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  174  LWP 24948         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  175  LWP 25040         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  176  LWP 25056         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  177  LWP 24976         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  178  LWP 24973         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  179  LWP 25003         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  180  LWP 24959         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  181  LWP 25082         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  182  LWP 25042         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  183  LWP 25076         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  184  LWP 25026         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  185  LWP 24994         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  186  LWP 24995         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  187  LWP 24983         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  188  LWP 24984         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  189  LWP 24968         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  190  LWP 24949         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  191  LWP 25054         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  192  LWP 25041         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  193  LWP 24967         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  194  LWP 25012         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  195  LWP 24843         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  196  LWP 25057         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  197  LWP 25085         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  198  LWP 25027         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  199  LWP 25081         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  200  LWP 24966         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  201  LWP 25052         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  202  LWP 25046         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  203  LWP 24978         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  204  LWP 25070         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  205  LWP 25062         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  206  LWP 25058         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  207  LWP 24977         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  208  LWP 24909         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  209  LWP 25018         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  210  LWP 24879         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  211  LWP 24880         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  212  LWP 25083         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  213  LWP 25028         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  214  LWP 24990         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  215  LWP 24886         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  216  LWP 24961         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  217  LWP 25031         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  218  LWP 24885         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  219  LWP 25074         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  220  LWP 25049         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  221  LWP 25007         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  222  LWP 25071         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  223  LWP 24889         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  224  LWP 25048         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  225  LWP 25069         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  226  LWP 24985         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  227  LWP 24965         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  228  LWP 25063         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  229  LWP 24887         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  230  LWP 25086         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  231  LWP 24940         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  232  LWP 25067         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  233  LWP 24991         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  234  LWP 24999         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  235  LWP 25066         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  236  LWP 24989         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  237  LWP 24935         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  238  LWP 25072         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  239  LWP 24914         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  240  LWP 25053         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  241  LWP 25068         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  242  LWP 25047         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  243  LWP 24988         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  244  LWP 24987         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  245  LWP 24913         __cp_end () at src/thread/x86_64/syscall_cp.s:29
  246  LWP 24912         __cp_end () at src/thread/x86_64/syscall_cp.s:29
(gdb)

The output of thread apply all bt full and thread apply all bt are in the attached log file

Please let me know what additional information you would need.

Best regards,
Paul

RE: ***UNCHECKED*** RE: Maximum number of simultaneous RDP connections

Posted by HASENOHR Paul <Pa...@ec.europa.eu.INVALID>.
Hello Nick,

I installed gdb, apk-tools-dbg and musl-dbg in the guacd 1.5.5 alpine container. As I have no experience in using gdb, I followed the instructions at https://stackoverflow.com/questions/5745215/getting-stacktrace-from-core-dump
Let me know if you need the output of any other command.

I will try to test the version 1.6.0 next week. If I do not manage by end of next week, I will only be able to do it during the second week of January.

FIRST core dump

/tmp # gdb /opt/guacamole/sbin/guacd core-guacd.12920.8a6bb6a83b86.1733497224
GNU gdb (GDB) 13.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-alpine-linux-musl".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /opt/guacamole/sbin/guacd...

warning: Can't open file /usr/lib/libexpat.so.1.9.2 during file-backed mapping note processing
[New LWP 12920]
Core was generated by `/opt/guacamole/sbin/guacd -b 0.0.0.0 -L debug -f'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  a_crash () at ./arch/x86_64/atomic_arch.h:108
108     ./arch/x86_64/atomic_arch.h: No such file or directory.
(gdb)
(gdb)
(gdb) bt full
#0  a_crash () at ./arch/x86_64/atomic_arch.h:108
No locals.
#1  get_meta (p=p@entry=0x38 <error: Cannot access memory at address 0x38>) at src/malloc/mallocng/meta.h:131
        offset = <optimized out>
        index = <optimized out>
        base = <optimized out>
        meta = <optimized out>
        area = <optimized out>
#2  0x00007f8b34a97a16 in __libc_free (p=0x38) at src/malloc/mallocng/free.c:105
        g = <optimized out>
        idx = <optimized out>
        stride = <optimized out>
        start = <optimized out>
        end = <optimized out>
        self = <optimized out>
        all = <optimized out>
        mi = <optimized out>
        base = <optimized out>
        len = <optimized out>
        e = <optimized out>
#3  0x00007f8b346eeeac in ERR_clear_error () from /lib/libcrypto.so.1.1
No symbol table info available.
#4  0x00007f8b34707177 in ?? () from /lib/libcrypto.so.1.1
No symbol table info available.
#5  0x00007f8b34ac8e8a in __pthread_once_full (init=0x7f8b34707171, control=0x7f8b3483b7cc) at src/thread/pthread_once.c:22
        __cb = {__f = 0x7f8b34ac8dff <undo>, __x = 0x7f8b3483b7cc, __next = 0x7f8ae349cf48}
#6  __pthread_once_full (control=0x7f8b3483b7cc, init=0x7f8b34707171) at src/thread/pthread_once.c:11
        __cb = <optimized out>
#7  0x00007f8b347601bf in CRYPTO_THREAD_run_once () from /lib/libcrypto.so.1.1
No symbol table info available.
#8  0x00007f8b34707725 in OPENSSL_init_crypto () from /lib/libcrypto.so.1.1
No symbol table info available.
#9  0x00007f8b3468a86c in ?? () from /lib/libcrypto.so.1.1
No symbol table info available.
#10 0x00007f8b347071c3 in ?? () from /lib/libcrypto.so.1.1
No symbol table info available.
#11 0x00007f8b34ac8e8a in __pthread_once_full (init=0x7f8b347071b6, control=0x7f8b3483b7f0) at src/thread/pthread_once.c:22
        __cb = {__f = 0x7f8b34ac8dff <undo>, __x = 0x7f8b3483b7f0, __next = 0x0}
#12 __pthread_once_full (control=0x7f8b3483b7f0, init=0x7f8b347071b6) at src/thread/pthread_once.c:11
        __cb = <optimized out>
#13 0x00007f8b347601bf in CRYPTO_THREAD_run_once () from /lib/libcrypto.so.1.1
No symbol table info available.
#14 0x00007f8b34707698 in OPENSSL_init_crypto () from /lib/libcrypto.so.1.1
No symbol table info available.
#15 0x00007f8b349fa184 in OPENSSL_init_ssl () from /lib/libssl.so.1.1
No symbol table info available.
#16 0x00007f8b1e68572f in guac_common_ssh_init () from /opt/guacamole/lib/libguac-client-rdp.so
No symbol table info available.
#17 0x00007f8b1e66c9a0 in guac_client_init () from /opt/guacamole/lib/libguac-client-rdp.so
No symbol table info available.
#18 0x00007f8b34a54d8d in guac_client_load_plugin () from /opt/guacamole/lib/libguac.so.24
No symbol table info available.
#19 0x000056026a3da7e6 in guacd_exec_proc ()
No symbol table info available.
#20 0x000056026a3dac22 in guacd_create_proc ()
No symbol table info available.
#21 0x000056026a3d8ea1 in guacd_route_connection ()
No symbol table info available.
#22 0x000056026a3d90d2 in guacd_connection_thread ()
No symbol table info available.
#23 0x00007f8b34ac7bc2 in start (p=0x7f8ae349d388) at src/thread/pthread_create.c:207
        args = 0x7f8ae349d388
        state = <optimized out>
#24 0x00007f8b34ac9f30 in __clone () at src/thread/x86_64/clone.s:22
No locals.
Backtrace stopped: frame did not save the PC
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb) info threads
  Id   Target Id         Frame
* 1    LWP 12920         a_crash () at ./arch/x86_64/atomic_arch.h:108
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb) info threads
  Id   Target Id         Frame
* 1    LWP 12920         a_crash () at ./arch/x86_64/atomic_arch.h:108
(gdb) thread apply all bt

Thread 1 (LWP 12920):
#0  a_crash () at ./arch/x86_64/atomic_arch.h:108
#1  get_meta (p=p@entry=0x38 <error: Cannot access memory at address 0x38>) at src/malloc/mallocng/meta.h:131
#2  0x00007f8b34a97a16 in __libc_free (p=0x38) at src/malloc/mallocng/free.c:105
#3  0x00007f8b346eeeac in ERR_clear_error () from /lib/libcrypto.so.1.1
#4  0x00007f8b34707177 in ?? () from /lib/libcrypto.so.1.1
#5  0x00007f8b34ac8e8a in __pthread_once_full (init=0x7f8b34707171, control=0x7f8b3483b7cc) at src/thread/pthread_once.c:22
#6  __pthread_once_full (control=0x7f8b3483b7cc, init=0x7f8b34707171) at src/thread/pthread_once.c:11
#7  0x00007f8b347601bf in CRYPTO_THREAD_run_once () from /lib/libcrypto.so.1.1
#8  0x00007f8b34707725 in OPENSSL_init_crypto () from /lib/libcrypto.so.1.1
#9  0x00007f8b3468a86c in ?? () from /lib/libcrypto.so.1.1
#10 0x00007f8b347071c3 in ?? () from /lib/libcrypto.so.1.1
#11 0x00007f8b34ac8e8a in __pthread_once_full (init=0x7f8b347071b6, control=0x7f8b3483b7f0) at src/thread/pthread_once.c:22
#12 __pthread_once_full (control=0x7f8b3483b7f0, init=0x7f8b347071b6) at src/thread/pthread_once.c:11
#13 0x00007f8b347601bf in CRYPTO_THREAD_run_once () from /lib/libcrypto.so.1.1
#14 0x00007f8b34707698 in OPENSSL_init_crypto () from /lib/libcrypto.so.1.1
#15 0x00007f8b349fa184 in OPENSSL_init_ssl () from /lib/libssl.so.1.1
#16 0x00007f8b1e68572f in guac_common_ssh_init () from /opt/guacamole/lib/libguac-client-rdp.so
#17 0x00007f8b1e66c9a0 in guac_client_init () from /opt/guacamole/lib/libguac-client-rdp.so
#18 0x00007f8b34a54d8d in guac_client_load_plugin () from /opt/guacamole/lib/libguac.so.24
#19 0x000056026a3da7e6 in guacd_exec_proc ()
#20 0x000056026a3dac22 in guacd_create_proc ()
#21 0x000056026a3d8ea1 in guacd_route_connection ()
#22 0x000056026a3d90d2 in guacd_connection_thread ()
#23 0x00007f8b34ac7bc2 in start (p=0x7f8ae349d388) at src/thread/pthread_create.c:207
#24 0x00007f8b34ac9f30 in __clone () at src/thread/x86_64/clone.s:22
Backtrace stopped: frame did not save the PC

(gdb) thread apply all bt full

Thread 1 (LWP 12920):
#0  a_crash () at ./arch/x86_64/atomic_arch.h:108
No locals.
#1  get_meta (p=p@entry=0x38 <error: Cannot access memory at address 0x38>) at src/malloc/mallocng/meta.h:131
        offset = <optimized out>
        index = <optimized out>
        base = <optimized out>
        meta = <optimized out>
        area = <optimized out>
#2  0x00007f8b34a97a16 in __libc_free (p=0x38) at src/malloc/mallocng/free.c:105
        g = <optimized out>
        idx = <optimized out>
        stride = <optimized out>
        start = <optimized out>
        end = <optimized out>
        self = <optimized out>
        all = <optimized out>
        mi = <optimized out>
        base = <optimized out>
        len = <optimized out>
        e = <optimized out>
#3  0x00007f8b346eeeac in ERR_clear_error () from /lib/libcrypto.so.1.1
No symbol table info available.
#4  0x00007f8b34707177 in ?? () from /lib/libcrypto.so.1.1
No symbol table info available.
#5  0x00007f8b34ac8e8a in __pthread_once_full (init=0x7f8b34707171, control=0x7f8b3483b7cc) at src/thread/pthread_once.c:22
        __cb = {__f = 0x7f8b34ac8dff <undo>, __x = 0x7f8b3483b7cc, __next = 0x7f8ae349cf48}
#6  __pthread_once_full (control=0x7f8b3483b7cc, init=0x7f8b34707171) at src/thread/pthread_once.c:11
        __cb = <optimized out>
#7  0x00007f8b347601bf in CRYPTO_THREAD_run_once () from /lib/libcrypto.so.1.1
No symbol table info available.
#8  0x00007f8b34707725 in OPENSSL_init_crypto () from /lib/libcrypto.so.1.1
No symbol table info available.
#9  0x00007f8b3468a86c in ?? () from /lib/libcrypto.so.1.1
No symbol table info available.
#10 0x00007f8b347071c3 in ?? () from /lib/libcrypto.so.1.1
No symbol table info available.
#11 0x00007f8b34ac8e8a in __pthread_once_full (init=0x7f8b347071b6, control=0x7f8b3483b7f0) at src/thread/pthread_once.c:22
        __cb = {__f = 0x7f8b34ac8dff <undo>, __x = 0x7f8b3483b7f0, __next = 0x0}
#12 __pthread_once_full (control=0x7f8b3483b7f0, init=0x7f8b347071b6) at src/thread/pthread_once.c:11
        __cb = <optimized out>
#13 0x00007f8b347601bf in CRYPTO_THREAD_run_once () from /lib/libcrypto.so.1.1
No symbol table info available.
#14 0x00007f8b34707698 in OPENSSL_init_crypto () from /lib/libcrypto.so.1.1
No symbol table info available.
#15 0x00007f8b349fa184 in OPENSSL_init_ssl () from /lib/libssl.so.1.1
No symbol table info available.
#16 0x00007f8b1e68572f in guac_common_ssh_init () from /opt/guacamole/lib/libguac-client-rdp.so
No symbol table info available.
#17 0x00007f8b1e66c9a0 in guac_client_init () from /opt/guacamole/lib/libguac-client-rdp.so
No symbol table info available.
#18 0x00007f8b34a54d8d in guac_client_load_plugin () from /opt/guacamole/lib/libguac.so.24
No symbol table info available.
#19 0x000056026a3da7e6 in guacd_exec_proc ()
No symbol table info available.
#20 0x000056026a3dac22 in guacd_create_proc ()
No symbol table info available.
#21 0x000056026a3d8ea1 in guacd_route_connection ()
No symbol table info available.
#22 0x000056026a3d90d2 in guacd_connection_thread ()
No symbol table info available.
#23 0x00007f8b34ac7bc2 in start (p=0x7f8ae349d388) at src/thread/pthread_create.c:207
        args = 0x7f8ae349d388
        state = <optimized out>
#24 0x00007f8b34ac9f30 in __clone () at src/thread/x86_64/clone.s:22
No locals.
Backtrace stopped: frame did not save the PC
(gdb)


SECOND core dump

/tmp # gdb /opt/guacamole/sbin/guacd core-guacd.12924.8a6bb6a83b86.1733499168
GNU gdb (GDB) 13.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-alpine-linux-musl".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /opt/guacamole/sbin/guacd...

warning: Can't open file /usr/lib/libexpat.so.1.9.2 during file-backed mapping note processing
[New LWP 12924]
Core was generated by `/opt/guacamole/sbin/guacd -b 0.0.0.0 -L debug -f'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  a_crash () at ./arch/x86_64/atomic_arch.h:108
108     ./arch/x86_64/atomic_arch.h: No such file or directory.
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb) bt
#0  a_crash () at ./arch/x86_64/atomic_arch.h:108
#1  get_nominal_size (end=0x7f8b2f84552c "", p=0x7f8b2f845520 "") at src/malloc/mallocng/meta.h:169
#2  __libc_free (p=0x7f8b2f845520) at src/malloc/mallocng/free.c:110
#3  0x00007f8b3470732c in OPENSSL_cleanup () from /lib/libcrypto.so.1.1
#4  0x00007f8b34a8e143 in __funcs_on_exit () at src/exit/atexit.c:34
#5  0x00007f8b34a8607d in exit (code=0) at src/exit/exit.c:29
#6  0x000056026a3daa3d in guacd_exec_proc ()
#7  0x000056026a3dac22 in guacd_create_proc ()
#8  0x000056026a3d8ea1 in guacd_route_connection ()
#9  0x000056026a3d90d2 in guacd_connection_thread ()
#10 0x00007f8b34ac7bc2 in start (p=0x7f8ae349d388) at src/thread/pthread_create.c:207
#11 0x00007f8b34ac9f30 in __clone () at src/thread/x86_64/clone.s:22
Backtrace stopped: frame did not save the PC
(gdb)
(gdb)
(gdb)
(gdb)
(gdb) bt full
#0  a_crash () at ./arch/x86_64/atomic_arch.h:108
No locals.
#1  get_nominal_size (end=0x7f8b2f84552c "", p=0x7f8b2f845520 "") at src/malloc/mallocng/meta.h:169
        reserved = 8
#2  __libc_free (p=0x7f8b2f845520) at src/malloc/mallocng/free.c:110
        g = 0x56026b8e0f40
        idx = 18
        stride = <optimized out>
        start = <optimized out>
        end = 0x7f8b2f84552c ""
        self = <optimized out>
        all = <optimized out>
        mi = <optimized out>
        base = <optimized out>
        len = <optimized out>
        e = <optimized out>
#3  0x00007f8b3470732c in OPENSSL_cleanup () from /lib/libcrypto.so.1.1
No symbol table info available.
#4  0x00007f8b34a8e143 in __funcs_on_exit () at src/exit/atexit.c:34
        func = 0x7f8b34a8e0ee <call>
        arg = 0x7f8b347072c5 <OPENSSL_cleanup>
#5  0x00007f8b34a8607d in exit (code=0) at src/exit/exit.c:29
No locals.
#6  0x000056026a3daa3d in guacd_exec_proc ()
No symbol table info available.
#7  0x000056026a3dac22 in guacd_create_proc ()
No symbol table info available.
#8  0x000056026a3d8ea1 in guacd_route_connection ()
No symbol table info available.
#9  0x000056026a3d90d2 in guacd_connection_thread ()
No symbol table info available.
#10 0x00007f8b34ac7bc2 in start (p=0x7f8ae349d388) at src/thread/pthread_create.c:207
        args = 0x7f8ae349d388
        state = <optimized out>
#11 0x00007f8b34ac9f30 in __clone () at src/thread/x86_64/clone.s:22
No locals.
Backtrace stopped: frame did not save the PC
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb) info threads
  Id   Target Id         Frame
* 1    LWP 12924         a_crash () at ./arch/x86_64/atomic_arch.h:108
(gdb)
(gdb)
(gdb) thread apply all bt

Thread 1 (LWP 12924):
#0  a_crash () at ./arch/x86_64/atomic_arch.h:108
#1  get_nominal_size (end=0x7f8b2f84552c "", p=0x7f8b2f845520 "") at src/malloc/mallocng/meta.h:169
#2  __libc_free (p=0x7f8b2f845520) at src/malloc/mallocng/free.c:110
#3  0x00007f8b3470732c in OPENSSL_cleanup () from /lib/libcrypto.so.1.1
#4  0x00007f8b34a8e143 in __funcs_on_exit () at src/exit/atexit.c:34
#5  0x00007f8b34a8607d in exit (code=0) at src/exit/exit.c:29
#6  0x000056026a3daa3d in guacd_exec_proc ()
#7  0x000056026a3dac22 in guacd_create_proc ()
#8  0x000056026a3d8ea1 in guacd_route_connection ()
#9  0x000056026a3d90d2 in guacd_connection_thread ()
#10 0x00007f8b34ac7bc2 in start (p=0x7f8ae349d388) at src/thread/pthread_create.c:207
#11 0x00007f8b34ac9f30 in __clone () at src/thread/x86_64/clone.s:22
Backtrace stopped: frame did not save the PC
(gdb)
(gdb)
(gdb)
(gdb) thread apply all bt full

Thread 1 (LWP 12924):
#0  a_crash () at ./arch/x86_64/atomic_arch.h:108
No locals.
#1  get_nominal_size (end=0x7f8b2f84552c "", p=0x7f8b2f845520 "") at src/malloc/mallocng/meta.h:169
        reserved = 8
#2  __libc_free (p=0x7f8b2f845520) at src/malloc/mallocng/free.c:110
        g = 0x56026b8e0f40
        idx = 18
        stride = <optimized out>
        start = <optimized out>
        end = 0x7f8b2f84552c ""
        self = <optimized out>
        all = <optimized out>
        mi = <optimized out>
        base = <optimized out>
        len = <optimized out>
        e = <optimized out>
#3  0x00007f8b3470732c in OPENSSL_cleanup () from /lib/libcrypto.so.1.1
No symbol table info available.
#4  0x00007f8b34a8e143 in __funcs_on_exit () at src/exit/atexit.c:34
        func = 0x7f8b34a8e0ee <call>
        arg = 0x7f8b347072c5 <OPENSSL_cleanup>
#5  0x00007f8b34a8607d in exit (code=0) at src/exit/exit.c:29
No locals.
#6  0x000056026a3daa3d in guacd_exec_proc ()
No symbol table info available.
#7  0x000056026a3dac22 in guacd_create_proc ()
No symbol table info available.
#8  0x000056026a3d8ea1 in guacd_route_connection ()
No symbol table info available.
#9  0x000056026a3d90d2 in guacd_connection_thread ()
No symbol table info available.
#10 0x00007f8b34ac7bc2 in start (p=0x7f8ae349d388) at src/thread/pthread_create.c:207
        args = 0x7f8ae349d388
        state = <optimized out>
#11 0x00007f8b34ac9f30 in __clone () at src/thread/x86_64/clone.s:22
No locals.
Backtrace stopped: frame did not save the PC


Best regards,
Paul

Re: ***UNCHECKED*** RE: Maximum number of simultaneous RDP connections

Posted by Nick Couchman <ni...@gmail.com>.
On Thu, Dec 12, 2024 at 11:42 AM HASENOHR Paul
<Pa...@ec.europa.eu.invalid> wrote:

> Thank you Sean and Nick for your answers.
>
> The instructions for HA will be very useful although I will never been
> close to the number of connections you are handling!
>
>
>
> The version I used was the Docker image with release 1.5.5
>
>
>
> As the segmentation faults were most of the time happening in
> ld-musl-x86_64.so.1, a colleague suspected an issue with Alpine as musl
> is used instead of glibc. Thus I built a Docker guacd image based on Debian
> 12. I based myself on the Dockerfile associated with the release 1.5.5 and
> edited the list of packages accordingly. Running the exact same load test
> with the same docker configuration, we could reach 80 concurrent sessions
> (then the VM used to launch the selenium instances could not handle the
> load anymore!) without any error message in the system logs of the server.
>
>
>

Interesting - thanks for tracking this down!


> Considering that element, are you still interested in the stack trace with
> 1.5.5 on Alpine? Or should I build a Docker guacd image based on Alpine and
> another one based on Debian 12 with release 1.6.0 to compare?
>
>
>

Yes, I'd still be interested in seeing this stack trace. And, if you have
the time/inclination to run some tests with 1.6.0, I'd be interested in
those findings, as well.

-Nick

>

RE: ***UNCHECKED*** RE: Maximum number of simultaneous RDP connections

Posted by HASENOHR Paul <Pa...@ec.europa.eu.INVALID>.
Thank you Sean and Nick for your answers.
The instructions for HA will be very useful although I will never been close to the number of connections you are handling!

The version I used was the Docker image with release 1.5.5

As the segmentation faults were most of the time happening in ld-musl-x86_64.so.1, a colleague suspected an issue with Alpine as musl is used instead of glibc. Thus I built a Docker guacd image based on Debian 12. I based myself on the Dockerfile associated with the release 1.5.5 and edited the list of packages accordingly. Running the exact same load test with the same docker configuration, we could reach 80 concurrent sessions (then the VM used to launch the selenium instances could not handle the load anymore!) without any error message in the system logs of the server.

Considering that element, are you still interested in the stack trace with 1.5.5 on Alpine? Or should I build a Docker guacd image based on Alpine and another one based on Debian 12 with release 1.6.0 to compare?

Best regards,
Paul


From: Nick Couchman <vn...@apache.org>
Sent: Tuesday, December 10, 2024 8:23 PM
To: user@guacamole.apache.org
Subject: Re: ***UNCHECKED*** RE: Maximum number of simultaneous RDP connections

On Fri, Dec 6, 2024 at 2:06 PM HASENOHR Paul <Pa...@ec.europa.eu.invalid>> wrote:
Dear Nick,

As promised, I ran some further tests.
With the help of a colleague, we could reproduce the issue on a test instance (max 59 concurrent RDP connections).


Thanks, Paul - I'll try to take a look at some point before too long - the day job is keeping me rather busy these days :-/.

You provided the core dumps, but those likely aren't going to be any good to me - if you can actually use gdb to analyze those dumps on the system where you built and ran guacd, and provide the full stack trace (bt or back trace), that'll help track down the issue you're seeing.

Also, I looked back through the e-mails and don't see a specific mention of the version you're running - if you're running 1.5.4 or 1.5.5, and can try with 1.6.0 (you'll have to clone the git repo and build from source), that would be great. I don't know for sure that it will be fixed - I would hope that the issue you're seeing was actually fixed in 1.5.5 with GUACAMOLE-1920 (https://issues.apache.org/jira/browse/GUACAMOLE-1920<https://urldefense.com/v3/__https:/issues.apache.org/jira/browse/GUACAMOLE-1920__;!!DOxrgLBm!BXw4F3224dCJhNXtKkMgMVLrongrG2ohcrykFnTTry5S9FHRu_6D1CHU2_wa7iBX4EjtQgTClYbCcj1FBri-$>), but you aren't the only one reporting this behavior (https://issues.apache.org/jira/browse/GUACAMOLE-1998<https://urldefense.com/v3/__https:/issues.apache.org/jira/browse/GUACAMOLE-1998__;!!DOxrgLBm!BXw4F3224dCJhNXtKkMgMVLrongrG2ohcrykFnTTry5S9FHRu_6D1CHU2_wa7iBX4EjtQgTClYbCcnXDqo2u$>).

-Nick

Re: ***UNCHECKED*** RE: Maximum number of simultaneous RDP connections

Posted by Nick Couchman <vn...@apache.org>.
On Fri, Dec 6, 2024 at 2:06 PM HASENOHR Paul
<Pa...@ec.europa.eu.invalid> wrote:

> Dear Nick,
>
>
>
> As promised, I ran some further tests.
>
> With the help of a colleague, we could reproduce the issue on a test
> instance (max 59 concurrent RDP connections).
>
>
>

Thanks, Paul - I'll try to take a look at some point before too long - the
day job is keeping me rather busy these days :-/.

You provided the core dumps, but those likely aren't going to be any good
to me - if you can actually use gdb to analyze those dumps on the system
where you built and ran guacd, and provide the full stack trace (bt or back
trace), that'll help track down the issue you're seeing.

Also, I looked back through the e-mails and don't see a specific mention of
the version you're running - if you're running 1.5.4 or 1.5.5, and can try
with 1.6.0 (you'll have to clone the git repo and build from source), that
would be great. I don't know for sure that it will be fixed - I would hope
that the issue you're seeing was actually fixed in 1.5.5 with
GUACAMOLE-1920 (https://issues.apache.org/jira/browse/GUACAMOLE-1920), but
you aren't the only one reporting this behavior (
https://issues.apache.org/jira/browse/GUACAMOLE-1998).

-Nick

>

***UNCHECKED*** RE: Maximum number of simultaneous RDP connections

Posted by HASENOHR Paul <Pa...@ec.europa.eu.INVALID>.
Dear Nick,

As promised, I ran some further tests.
With the help of a colleague, we could reproduce the issue on a test instance (max 59 concurrent RDP connections).

After having created 80 user accounts linked evenly to one out of 4 rdp connections (towards xrdp servers), the test protocol was the following:

-          With selenium, launch 60 chrome headless instances connecting to Guacamole (one every 20s):

o    T0: towards RDP1

o    T0+20: towards RDP2

o    T0+40: towards RDP3

o    T0+60: towards RDP4

o    T0+80: towards RDP1 and so on

-          Launch a 61st instance one minute after the 60th

-          Take a “screenshot” 10s after having initiated the connection

-          Keep each connection active for 30 minutes

The outcome is the following (with T0=2024-12-06T14:42:45Z):

-          At 15:00:24 (GMT), a connection could not be established and the following log entries could be found:

o   In /var/log/messages (GMT+1):

Dec  6 16:00:24 s-jrciprjeop151p kernel: traps: guacd[67983] general protection fault ip:7f8b34a97664 sp:7f8ae349ce28 error:0 in ld-musl-x86_64.so.1[7f8b34a86000+4c000]

o   In the guacd Docker container logs:

2024-12-06T15:00:24.770823151Z guacd[1]: INFO:  Creating new client for protocol "rdp"

2024-12-06T15:00:24.774091622Z guacd[1]: INFO:  Connection ID is "$2ba7c0c0-60cf-41d9-a970-2bc20f15c624"

2024-12-06T15:00:24.890940897Z guacd[1]: INFO:  Connection "$2ba7c0c0-60cf-41d9-a970-2bc20f15c624" removed.

2024-12-06T15:00:24.890979827Z guacd[1]: DEBUG: Unable to request termination of client process: No such process

2024-12-06T15:00:24.890994171Z guacd[1]: DEBUG: All child processes for connection "$2ba7c0c0-60cf-41d9-a970-2bc20f15c624" have been terminated.

o   In addition, a core dump has been generated: core-guacd.12920.8a6bb6a83b86.1733497224 (attached to that message, 1.3GB uncompressed)

-          At 15:03:04 (GMT), the 61st selenium process tried to create what was in fact the 60th RDP connection (as the session of 15:00:24 could not be created) and it failed to do so with the following guacd log entries repeated roughly every 15 seconds until the first selenium process got stopped and the associated connection removed

o   Log entries for failed attempts to connect:

2024-12-06T15:03:04.687449173Z guacd[1]: INFO:  Creating new client for protocol "rdp"

2024-12-06T15:03:04.691148814Z guacd[1]: INFO:  Connection ID is "$ff003e4a-7527-4e5f-9e61-bdf6b10a5536"

2024-12-06T15:03:04.702893330Z guacd[14114]: DEBUG:     Processing instruction: size

2024-12-06T15:03:04.702942741Z guacd[14114]: DEBUG:     Processing instruction: audio

2024-12-06T15:03:04.702952374Z guacd[14114]: DEBUG:     Processing instruction: video

2024-12-06T15:03:04.702959284Z guacd[14114]: DEBUG:     Processing instruction: image

2024-12-06T15:03:04.702965978Z guacd[14114]: DEBUG:     Processing instruction: timezone

2024-12-06T15:03:04.702972998Z guacd[14114]: DEBUG:     Processing instruction: name

2024-12-06T15:03:04.703154230Z guacd[14114]: DEBUG:     Parameter "console" omitted. Using default value of 0.

2024-12-06T15:03:04.703198283Z guacd[14114]: DEBUG:     Parameter "console-audio" omitted. Using default value of 0.

2024-12-06T15:03:04.703355499Z guacd[14114]: DEBUG:     Parameter "ignore-cert" omitted. Using default value of 0.

2024-12-06T15:03:04.703433340Z guacd[14114]: DEBUG:     Parameter "disable-auth" omitted. Using default value of 0.

2024-12-06T15:03:04.703442113Z guacd[14114]: INFO:      Security mode: TLS

2024-12-06T15:03:04.703450913Z guacd[14114]: DEBUG:     User resolution is 1024x629 at 96 DPI

2024-12-06T15:03:04.703458296Z guacd[14114]: DEBUG:     Parameter "dpi" omitted. Using default value of 96.

2024-12-06T15:03:04.703478890Z guacd[14114]: DEBUG:     Using resolution of 1024x629 at 96 DPI

2024-12-06T15:03:04.703488497Z guacd[14114]: DEBUG:     Parameter "force-lossless" omitted. Using default value of 0.

2024-12-06T15:03:04.703496257Z guacd[14114]: DEBUG:     Parameter "read-only" omitted. Using default value of 0.

2024-12-06T15:03:04.703532181Z guacd[14114]: DEBUG:     Parameter "client-name" omitted. Using default value of "Guacamole RDP".

2024-12-06T15:03:04.703542197Z guacd[14114]: DEBUG:     Parameter "enable-wallpaper" omitted. Using default value of 0.

2024-12-06T15:03:04.703578781Z guacd[14114]: DEBUG:     Parameter "enable-theming" omitted. Using default value of 0.

2024-12-06T15:03:04.703587648Z guacd[14114]: DEBUG:     Parameter "enable-font-smoothing" omitted. Using default value of 0.

2024-12-06T15:03:04.703676486Z guacd[14114]: DEBUG:     Parameter "enable-full-window-drag" omitted. Using default value of 0.

2024-12-06T15:03:04.703703149Z guacd[14114]: DEBUG:     Parameter "enable-desktop-composition" omitted. Using default value of 0.

2024-12-06T15:03:04.703829234Z guacd[14114]: DEBUG:     Parameter "enable-menu-animations" omitted. Using default value of 0.

2024-12-06T15:03:04.703902675Z guacd[14114]: DEBUG:     Parameter "disable-bitmap-caching" omitted. Using default value of 0.

2024-12-06T15:03:04.703959216Z guacd[14114]: DEBUG:     Parameter "disable-offscreen-caching" omitted. Using default value of 0.

2024-12-06T15:03:04.703976189Z guacd[14114]: DEBUG:     Parameter "disable-glyph-caching" omitted. Using default value of 0.

2024-12-06T15:03:04.703984942Z guacd[14114]: DEBUG:     Glyph caching is currently universally disabled, regardless of the value of the "disable-glyph-caching" parameter, as glyph caching support is not considered stable by FreeRDP as of the FreeRDP 2.0.0 release. See: https://issues.apache.org/jira/browse/GUACAMOLE-1191

2024-12-06T15:03:04.703992912Z guacd[14114]: DEBUG:     Parameter "color-depth" omitted. Using default value of 16.

2024-12-06T15:03:04.704000129Z guacd[14114]: DEBUG:     Parameter "enable-printing" omitted. Using default value of 0.

2024-12-06T15:03:04.704007309Z guacd[14114]: DEBUG:     Parameter "printer-name" omitted. Using default value of "Guacamole Printer".

2024-12-06T15:03:04.704018796Z guacd[14114]: DEBUG:     Parameter "enable-drive" omitted. Using default value of 0.

2024-12-06T15:03:04.704027636Z guacd[14114]: DEBUG:     Parameter "drive-name" omitted. Using default value of "Guacamole Filesystem".

2024-12-06T15:03:04.704037463Z guacd[14114]: DEBUG:     Parameter "drive-path" omitted. Using default value of "".

2024-12-06T15:03:04.704044590Z guacd[14114]: DEBUG:     Parameter "create-drive-path" omitted. Using default value of 0.

2024-12-06T15:03:04.704074503Z guacd[14114]: DEBUG:     Parameter "timezone" omitted. Using default value of "Europe/Bucharest".

2024-12-06T15:03:04.704082760Z guacd[14114]: DEBUG:     Parameter "enable-sftp" omitted. Using default value of 0.

2024-12-06T15:03:04.704123764Z guacd[14114]: DEBUG:     Parameter "sftp-hostname" omitted. Using default value of "s-jrciprjeos144p.cidsn.jrc.it".

2024-12-06T15:03:04.704149121Z guacd[14114]: DEBUG:     Parameter "sftp-port" omitted. Using default value of "22".

2024-12-06T15:03:04.704199205Z guacd[14114]: DEBUG:     Parameter "sftp-username" omitted. Using default value of "".

2024-12-06T15:03:04.704224352Z guacd[14114]: DEBUG:     Parameter "sftp-password" omitted. Using default value of "".

2024-12-06T15:03:04.704231665Z guacd[14114]: DEBUG:     Parameter "sftp-passphrase" omitted. Using default value of "".

2024-12-06T15:03:04.704293443Z guacd[14114]: DEBUG:     Parameter "sftp-root-directory" omitted. Using default value of "/".

2024-12-06T15:03:04.704324016Z guacd[14114]: DEBUG:     Parameter "sftp-server-alive-interval" omitted. Using default value of 0.

2024-12-06T15:03:04.704336816Z guacd[14114]: DEBUG:     Parameter "sftp-disable-download" omitted. Using default value of 0.

2024-12-06T15:03:04.704348143Z guacd[14114]: DEBUG:     Parameter "sftp-disable-upload" omitted. Using default value of 0.

2024-12-06T15:03:04.704360607Z guacd[14114]: DEBUG:     Parameter "recording-name" omitted. Using default value of "recording".

2024-12-06T15:03:04.704421761Z guacd[14114]: DEBUG:     Parameter "recording-exclude-output" omitted. Using default value of 0.

2024-12-06T15:03:04.704439167Z guacd[14114]: DEBUG:     Parameter "recording-exclude-mouse" omitted. Using default value of 0.

2024-12-06T15:03:04.704534589Z guacd[14114]: DEBUG:     Parameter "recording-exclude-touch" omitted. Using default value of 0.

2024-12-06T15:03:04.704572016Z guacd[14114]: DEBUG:     Parameter "recording-include-keys" omitted. Using default value of 0.

2024-12-06T15:03:04.704586469Z guacd[14114]: DEBUG:     Parameter "create-recording-path" omitted. Using default value of 0.

2024-12-06T15:03:04.704594846Z guacd[14114]: INFO:      Resize method: none

2024-12-06T15:03:04.704602279Z guacd[14114]: DEBUG:     Parameter "enable-touch" omitted. Using default value of 0.

2024-12-06T15:03:04.704618049Z guacd[14114]: DEBUG:     Parameter "enable-audio-input" omitted. Using default value of 0.

2024-12-06T15:03:04.704626053Z guacd[14114]: DEBUG:     Parameter "gateway-port" omitted. Using default value of 443.

2024-12-06T15:03:04.704632533Z guacd[14114]: DEBUG:     Parameter "disable-copy" omitted. Using default value of 0.

2024-12-06T15:03:04.704677454Z guacd[14114]: DEBUG:     Parameter "disable-paste" omitted. Using default value of 0.

2024-12-06T15:03:04.704688920Z guacd[14114]: INFO:      No clipboard line-ending normalization specified. Defaulting to preserving the format of all line endings.

2024-12-06T15:03:04.704697854Z guacd[14114]: DEBUG:     Parameter "wol-send-packet" omitted. Using default value of 0.

2024-12-06T15:03:04.704821772Z guacd[14114]: INFO:      User "@f8a7f328-eb75-41e3-8b62-88b5fdb69de4" joined connection "$ff003e4a-7527-4e5f-9e61-bdf6b10a5536" (1 users now present)

2024-12-06T15:03:04.704853676Z guacd[14114]: DEBUG:     Client is using protocol version "VERSION_1_5_0"

2024-12-06T15:03:04.709035759Z guacd[14114]: INFO:      Loading keymap "base"

2024-12-06T15:03:04.709114240Z guacd[14114]: INFO:      Loading keymap "en-us-qwerty"

2024-12-06T15:03:04.709934353Z guacd[14114]: DEBUG:     Support for CLIPRDR (clipboard redirection) registered. Awaiting channel connection.

2024-12-06T15:03:04.709974067Z guacd[14114]: DEBUG:     Local framebuffer format  PIXEL_FORMAT_BGRX32

2024-12-06T15:03:04.709982987Z guacd[14114]: DEBUG:     Remote framebuffer format PIXEL_FORMAT_RGB16

2024-12-06T15:03:05.829568731Z guacd[1]: DEBUG: Guacamole connection closed during handshake

2024-12-06T15:03:05.829625550Z guacd[1]: DEBUG: Error reading "select": End of stream reached while reading instruction

2024-12-06T15:03:06.862328987Z guacd[14114]: DEBUG:     SSL_CTX_new failed

2024-12-06T15:03:06.862375254Z guacd[14114]: DEBUG:     transport_connect_tls:freerdp_set_last_error_ex ERRCONNECT_CONNECT_CANCELLED [0x0002000B]

2024-12-06T15:03:06.874587928Z guacd[14114]: INFO:      RDP server closed/refused connection: Connection failed (server unreachable?)

2024-12-06T15:03:06.953424771Z guacd[14114]: INFO:      User "@f8a7f328-eb75-41e3-8b62-88b5fdb69de4" disconnected (0 users remain)

2024-12-06T15:03:06.953464758Z guacd[14114]: INFO:      Last user of connection "$ff003e4a-7527-4e5f-9e61-bdf6b10a5536" disconnected

2024-12-06T15:03:06.953560242Z guacd[14114]: DEBUG:     Requesting termination of client...

2024-12-06T15:03:06.954335475Z guacd[14114]: DEBUG:     Client terminated successfully.

2024-12-06T15:03:06.958190642Z guacd[1]: INFO:  Connection "$ff003e4a-7527-4e5f-9e61-bdf6b10a5536" removed.

o   Log entries when the 1st connection got released and the 61st selenium process could connect (becoming then the 59th active connection):

2024-12-06T15:14:48.788592903Z guacd[3878]: ERROR:      User is not responding.

2024-12-06T15:14:48.788735278Z guacd[3878]: INFO:       User "@2c7e97ad-6054-4f8b-be0c-95a56f34ff15" disconnected (0 users remain)

2024-12-06T15:14:48.788901425Z guacd[3878]: INFO:       Last user of connection "$6c40d2e8-57c4-48ae-9115-cbb63e87221a" disconnected

2024-12-06T15:14:48.789130750Z guacd[3878]: DEBUG:      Requesting termination of client...

2024-12-06T15:14:48.965798638Z guacd[3878]: DEBUG:      CLIPRDR (clipboard redirection) channel disconnected.

2024-12-06T15:14:48.978637197Z guacd[3878]: INFO:       Internal RDP client disconnected

2024-12-06T15:14:48.979215164Z guacd[3878]: DEBUG:      Client terminated successfully.

2024-12-06T15:14:48.981992660Z guacd[1]: INFO:  Connection "$6c40d2e8-57c4-48ae-9115-cbb63e87221a" removed.

2024-12-06T15:14:48.982014235Z guacd[1]: DEBUG: All child processes for connection "$6c40d2e8-57c4-48ae-9115-cbb63e87221a" have been terminated.

2024-12-06T15:14:55.578678366Z guacd[1]: INFO:  Creating new client for protocol "rdp"

2024-12-06T15:14:55.581795996Z guacd[1]: INFO:  Connection ID is "$5565bee8-85e9-403b-a9a8-a2fcc80973c0"

2024-12-06T15:14:55.593694171Z guacd[20939]: DEBUG:     Processing instruction: size

2024-12-06T15:14:55.593737238Z guacd[20939]: DEBUG:     Processing instruction: audio

2024-12-06T15:14:55.593746798Z guacd[20939]: DEBUG:     Processing instruction: video

2024-12-06T15:14:55.593757758Z guacd[20939]: DEBUG:     Processing instruction: image

2024-12-06T15:14:55.593796032Z guacd[20939]: DEBUG:     Processing instruction: timezone

2024-12-06T15:14:55.593856099Z guacd[20939]: DEBUG:     Processing instruction: name

2024-12-06T15:14:55.593978614Z guacd[20939]: DEBUG:     Parameter "console" omitted. Using default value of 0.

2024-12-06T15:14:55.594021701Z guacd[20939]: DEBUG:     Parameter "console-audio" omitted. Using default value of 0.

2024-12-06T15:14:55.594030645Z guacd[20939]: DEBUG:     Parameter "ignore-cert" omitted. Using default value of 0.

2024-12-06T15:14:55.594037575Z guacd[20939]: DEBUG:     Parameter "disable-auth" omitted. Using default value of 0.

2024-12-06T15:14:55.594049918Z guacd[20939]: INFO:      Security mode: TLS

2024-12-06T15:14:55.594061655Z guacd[20939]: DEBUG:     User resolution is 1024x629 at 96 DPI

2024-12-06T15:14:55.594069009Z guacd[20939]: DEBUG:     Parameter "dpi" omitted. Using default value of 96.

2024-12-06T15:14:55.594111496Z guacd[20939]: DEBUG:     Using resolution of 1024x629 at 96 DPI

2024-12-06T15:14:55.594124679Z guacd[20939]: DEBUG:     Parameter "force-lossless" omitted. Using default value of 0.

2024-12-06T15:14:55.594155193Z guacd[20939]: DEBUG:     Parameter "read-only" omitted. Using default value of 0.

2024-12-06T15:14:55.594179860Z guacd[20939]: DEBUG:     Parameter "client-name" omitted. Using default value of "Guacamole RDP".

2024-12-06T15:14:55.594224500Z guacd[20939]: DEBUG:     Parameter "enable-wallpaper" omitted. Using default value of 0.

2024-12-06T15:14:55.594330428Z guacd[20939]: DEBUG:     Parameter "enable-theming" omitted. Using default value of 0.

2024-12-06T15:14:55.594443633Z guacd[20939]: DEBUG:     Parameter "enable-font-smoothing" omitted. Using default value of 0.

2024-12-06T15:14:55.594471426Z guacd[20939]: DEBUG:     Parameter "enable-full-window-drag" omitted. Using default value of 0.

2024-12-06T15:14:55.594478760Z guacd[20939]: DEBUG:     Parameter "enable-desktop-composition" omitted. Using default value of 0.

2024-12-06T15:14:55.594485163Z guacd[20939]: DEBUG:     Parameter "enable-menu-animations" omitted. Using default value of 0.

2024-12-06T15:14:55.594491437Z guacd[20939]: DEBUG:     Parameter "disable-bitmap-caching" omitted. Using default value of 0.

2024-12-06T15:14:55.594497673Z guacd[20939]: DEBUG:     Parameter "disable-offscreen-caching" omitted. Using default value of 0.

2024-12-06T15:14:55.594504207Z guacd[20939]: DEBUG:     Parameter "disable-glyph-caching" omitted. Using default value of 0.

2024-12-06T15:14:55.594517297Z guacd[20939]: DEBUG:     Glyph caching is currently universally disabled, regardless of the value of the "disable-glyph-caching" parameter, as glyph caching support is not considered stable by FreeRDP as of the FreeRDP 2.0.0 release. See: https://issues.apache.org/jira/browse/GUACAMOLE-1191

2024-12-06T15:14:55.594527254Z guacd[20939]: DEBUG:     Parameter "color-depth" omitted. Using default value of 16.

2024-12-06T15:14:55.594579311Z guacd[20939]: DEBUG:     Parameter "enable-printing" omitted. Using default value of 0.

2024-12-06T15:14:55.594641412Z guacd[20939]: DEBUG:     Parameter "printer-name" omitted. Using default value of "Guacamole Printer".

2024-12-06T15:14:55.594658322Z guacd[20939]: DEBUG:     Parameter "enable-drive" omitted. Using default value of 0.

2024-12-06T15:14:55.594679715Z guacd[20939]: DEBUG:     Parameter "drive-name" omitted. Using default value of "Guacamole Filesystem".

2024-12-06T15:14:55.594707283Z guacd[20939]: DEBUG:     Parameter "drive-path" omitted. Using default value of "".

2024-12-06T15:14:55.594722989Z guacd[20939]: DEBUG:     Parameter "create-drive-path" omitted. Using default value of 0.

2024-12-06T15:14:55.594732299Z guacd[20939]: DEBUG:     Parameter "timezone" omitted. Using default value of "Europe/Bucharest".

2024-12-06T15:14:55.594739166Z guacd[20939]: DEBUG:     Parameter "enable-sftp" omitted. Using default value of 0.

2024-12-06T15:14:55.594781820Z guacd[20939]: DEBUG:     Parameter "sftp-hostname" omitted. Using default value of "s-jrciprjeos144p.cidsn.jrc.it".

2024-12-06T15:14:55.594844397Z guacd[20939]: DEBUG:     Parameter "sftp-port" omitted. Using default value of "22".

2024-12-06T15:14:55.594911355Z guacd[20939]: DEBUG:     Parameter "sftp-username" omitted. Using default value of "".

2024-12-06T15:14:55.594925691Z guacd[20939]: DEBUG:     Parameter "sftp-password" omitted. Using default value of "".

2024-12-06T15:14:55.595152214Z guacd[20939]: DEBUG:     Parameter "sftp-passphrase" omitted. Using default value of "".

2024-12-06T15:14:55.595269395Z guacd[20939]: DEBUG:     Parameter "sftp-root-directory" omitted. Using default value of "/".

2024-12-06T15:14:55.595299073Z guacd[20939]: DEBUG:     Parameter "sftp-server-alive-interval" omitted. Using default value of 0.

2024-12-06T15:14:55.595312166Z guacd[20939]: DEBUG:     Parameter "sftp-disable-download" omitted. Using default value of 0.

2024-12-06T15:14:55.595322743Z guacd[20939]: DEBUG:     Parameter "sftp-disable-upload" omitted. Using default value of 0.

2024-12-06T15:14:55.595334003Z guacd[20939]: DEBUG:     Parameter "recording-name" omitted. Using default value of "recording".

2024-12-06T15:14:55.595347746Z guacd[20939]: DEBUG:     Parameter "recording-exclude-output" omitted. Using default value of 0.

2024-12-06T15:14:55.595357583Z guacd[20939]: DEBUG:     Parameter "recording-exclude-mouse" omitted. Using default value of 0.

2024-12-06T15:14:55.595371780Z guacd[20939]: DEBUG:     Parameter "recording-exclude-touch" omitted. Using default value of 0.

2024-12-06T15:14:55.595383523Z guacd[20939]: DEBUG:     Parameter "recording-include-keys" omitted. Using default value of 0.

2024-12-06T15:14:55.595398177Z guacd[20939]: DEBUG:     Parameter "create-recording-path" omitted. Using default value of 0.

2024-12-06T15:14:55.595410687Z guacd[20939]: INFO:      Resize method: none

2024-12-06T15:14:55.595422641Z guacd[20939]: DEBUG:     Parameter "enable-touch" omitted. Using default value of 0.

2024-12-06T15:14:55.595438557Z guacd[20939]: DEBUG:     Parameter "enable-audio-input" omitted. Using default value of 0.

2024-12-06T15:14:55.595451764Z guacd[20939]: DEBUG:     Parameter "gateway-port" omitted. Using default value of 443.

2024-12-06T15:14:55.595465344Z guacd[20939]: DEBUG:     Parameter "disable-copy" omitted. Using default value of 0.

2024-12-06T15:14:55.595485545Z guacd[20939]: DEBUG:     Parameter "disable-paste" omitted. Using default value of 0.

2024-12-06T15:14:55.595502142Z guacd[20939]: INFO:      No clipboard line-ending normalization specified. Defaulting to preserving the format of all line endings.

2024-12-06T15:14:55.595516618Z guacd[20939]: DEBUG:     Parameter "wol-send-packet" omitted. Using default value of 0.

2024-12-06T15:14:55.595583479Z guacd[20939]: INFO:      User "@3e38f412-f074-4969-b622-bf0812316c6e" joined connection "$5565bee8-85e9-403b-a9a8-a2fcc80973c0" (1 users now present)

2024-12-06T15:14:55.595605759Z guacd[20939]: DEBUG:     Client is using protocol version "VERSION_1_5_0"

2024-12-06T15:14:55.600200128Z guacd[20939]: INFO:      Loading keymap "base"

2024-12-06T15:14:55.600241289Z guacd[20939]: INFO:      Loading keymap "en-us-qwerty"

2024-12-06T15:14:55.601047935Z guacd[20939]: DEBUG:     Support for CLIPRDR (clipboard redirection) registered. Awaiting channel connection.

2024-12-06T15:14:55.601103492Z guacd[20939]: DEBUG:     Local framebuffer format  PIXEL_FORMAT_BGRX32

2024-12-06T15:14:55.601129852Z guacd[20939]: DEBUG:     Remote framebuffer format PIXEL_FORMAT_RGB16

2024-12-06T15:14:59.984055789Z guacd[20939]: DEBUG:     CLIPRDR (clipboard redirection) channel connected.

2024-12-06T15:15:00.328241921Z guacd[20939]: DEBUG:     Clipboard data received. Reporting availability of clipboard data to RDP server.

-          At 15:32:48 (GMT), while RDP connections were being closed due to the selenium processes being stopped, a core dump has been generated.

o   In /var/log/messages (GMT+1)
Dec  6 16:32:48 s-jrciprjeop151p kernel: traps: guacd[68113] general protection fault ip:7f8b34a97a7c sp:7f8ae349d100 error:0 in ld-musl-x86_64.so.1[7f8b34a86000+4c000]

o   In guacd docker logs (GMT)

2024-12-06T15:32:48.624974718Z guacd[12924]: ERROR:     User is not responding.

2024-12-06T15:32:48.625078086Z guacd[12924]: INFO:      User "@8f7db077-f633-466d-a459-e00a18357e7c" disconnected (0 users remain)

2024-12-06T15:32:48.625151523Z guacd[12924]: INFO:      Last user of connection "$26bd776b-6d33-4fea-a5a1-4bc6ff3d11cf" disconnected

2024-12-06T15:32:48.625280645Z guacd[12924]: DEBUG:     Requesting termination of client...

2024-12-06T15:32:48.750757953Z guacd[12924]: DEBUG:     CLIPRDR (clipboard redirection) channel disconnected.

2024-12-06T15:32:48.765691056Z guacd[12924]: INFO:      Internal RDP client disconnected

2024-12-06T15:32:48.766157544Z guacd[12924]: DEBUG:     Client terminated successfully.

2024-12-06T15:32:48.878712775Z guacd[1]: INFO:  Connection "$26bd776b-6d33-4fea-a5a1-4bc6ff3d11cf" removed.

2024-12-06T15:32:48.878757332Z guacd[1]: DEBUG: All child processes for connection "$26bd776b-6d33-4fea-a5a1-4bc6ff3d11cf" have been terminated.

2024-12-06T15:33:06.362058899Z guacd[1]: DEBUG: Guacamole connection closed during handshake

2024-12-06T15:33:06.362146170Z guacd[1]: DEBUG: Error reading "select": End of stream reached while reading instruction

2024-12-06T15:33:08.662943267Z guacd[13264]: ERROR:     User is not responding.

2024-12-06T15:33:08.663123142Z guacd[13264]: INFO:      User "@5ee9cdfa-0d04-4c2f-acfe-55a114e2f20a" disconnected (0 users remain)

2024-12-06T15:33:08.663189616Z guacd[13264]: INFO:      Last user of connection "$4bc9a390-5a8a-4f49-baef-d1e71c5bc666" disconnected

2024-12-06T15:33:08.663358655Z guacd[13264]: DEBUG:     Requesting termination of client...

2024-12-06T15:33:08.838800641Z guacd[13264]: DEBUG:     CLIPRDR (clipboard redirection) channel disconnected.

2024-12-06T15:33:08.849452825Z guacd[13264]: INFO:      Internal RDP client disconnected

2024-12-06T15:33:08.849665197Z guacd[13264]: DEBUG:     Client terminated successfully.

2024-12-06T15:33:08.852907658Z guacd[1]: INFO:  Connection "$4bc9a390-5a8a-4f49-baef-d1e71c5bc666" removed.

2024-12-06T15:33:08.852963162Z guacd[1]: DEBUG: All child processes for connection "$4bc9a390-5a8a-4f49-baef-d1e71c5bc666" have been terminated.

o   A core dump has been generated: core-guacd.12924.8a6bb6a83b86.1733499168 attached to that message (1.3G uncompressed)

For completeness, I attach also the guacd logs of the whole testing session.
I would be grateful if you, or some other developer, could have a look at those elements. I am of course available to provide you with any other information you might need. In case it would be helpful, I have other core dumps from previous tests.

Kind regards,
Paul

From: HASENOHR Paul <Pa...@ec.europa.eu.INVALID>
Sent: Thursday, November 28, 2024 5:25 PM
To: user@guacamole.apache.org
Subject: RE: Maximum number of simultaneous RDP connections

Dear Nick,

Thank you for your suggestions.
Looking at the server system logs, I found many identical segfault entries:

Nov 28 10:44:55 snc-guacamole kernel: [9829816.814388] guacd[2871114]: segfault at 7fdd045f4bf8 ip 00007fd561fe2433 sp 00007fd5045f12e8 error 4 in ld-musl-x86_64.so.1[7fd561f9f000+4c000]
Nov 28 10:44:55 snc-guacamole kernel: [9829816.826102] Code: e3 18 ff ff 8b 44 24 08 48 81 c4 90 00 00 00 5b 5d 41 5c c3 64 48 8b 04 25 00 00 00 00 48 8b 90 80 00 00 00 89 ff 48 8d 14 fa <48> 39 32 74 07 48 89 32 80 48 42 01 31 c0 c3 48 85 f6 74 0a b8 16
Nov 28 10:44:56 snc-guacamole kernel: [9829817.741713] guacd[2871125]: segfault at 7fdd035fabf8 ip 00007fd561fe2433 sp 00007fd5035f72e8 error 4 in ld-musl-x86_64.so.1[7fd561f9f000+4c000]
Nov 28 10:44:56 snc-guacamole kernel: [9829817.748886] Code: e3 18 ff ff 8b 44 24 08 48 81 c4 90 00 00 00 5b 5d 41 5c c3 64 48 8b 04 25 00 00 00 00 48 8b 90 80 00 00 00 89 ff 48 8d 14 fa <48> 39 32 74 07 48 89 32 80 48 42 01 31 c0 c3 48 85 f6 74 0a b8 16

Is it something you are aware of?
Considering that this happens at around 60 connections, could it be in any way related to https://www.mail-archive.com/user@guacamole.apache.org/msg12630.html<https://urldefense.com/v3/__https:/www.mail-archive.com/user@guacamole.apache.org/msg12630.html__;!!DOxrgLBm!BJT57FqcHgW6YPm52t1beSy9wP9vpgL1kcKD094F2a7OPybOwFktH3i3pvAzPDtm9naffsubtm4RPd_roIBefyd4jLJhEiJPNdGVM2jw-A$> ?

I cannot reproduce the error currently as this happens only when exceed our usual number of users that is far below 60. I will try to deploy next week an instance of guacamole with guacd in debug mode and to initiate more than 60 connections to it.

Best regards,
Paul

From: Nick Couchman <vn...@apache.org>>
Sent: Thursday, November 28, 2024 2:50 PM
To: user@guacamole.apache.org<ma...@guacamole.apache.org>
Subject: Re: Maximum number of simultaneous RDP connections

On Thu, Nov 28, 2024 at 8:27 AM HASENOHR Paul <Pa...@ec.europa.eu.invalid>> wrote:
Hello,

We have been using Guacamole for the past years with great satisfaction for our users. Guacamole is running on Docker (standard images to which a custom CA has been added) on a Debian 12 VM.
We noticed today during a training that led to an increase of the number of concurrent connections that we could not exceed 55-58 RDP connections. Any other attempt to connect to any RDP server (several machines running Ubuntu 22.04 with xorgxrdp, some of them without any load) returned immediately a black screen with the message “You have been disconnected”.

In the guacd logs, any failed connection was logged as follows:
guacd[1]: INFO: Creating new client for protocol "rdp"
guacd[1]: INFO: Connection ID is "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa"
guacd[1916025]: INFO:   Security mode: TLS
guacd[1916025]: INFO:   Resize method: display-update
guacd[1916025]: INFO:   No clipboard line-ending normalization specified. Defaulting to preserving the format of all line endings.
guacd[1916025]: INFO:   User "@b2935015-b864-4928-a674-2c26ed1dd45d" joined connection "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa" (1 users now present)
guacd[1916025]: INFO:   Recording of session will be saved to "/recording//20241128_100346_XXXXXXXXXX-terminal-004-M_N".
guacd[1916025]: INFO:   Loading keymap "base"
guacd[1916025]: INFO:   Loading keymap "en-us-qwerty"
guacd[1]: INFO: Connection "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa" removed.


A handful of things that I can think of to check:
* It's probably worth putting guacd into debug mode ("-L debug" on the command line, or add the log configuration to guacd.conf) and see if that yields any more useful information on what happens when the connections are failing.
* Since you're running in Docker, check the various Docker limits and see if you're running up against something related to container limits - amount of memory, number of open files, process, etc. I believe Docker has facilities for limiting this similar to the normal "limits" and/or "ulimit" command on Linux, but probably slightly different configurations in slightly different places. System logs and/or Docker logs might also indicate bumping up against this.
* Also, check your system logs, particularly any facility that might be present for core dumps and see if anything is being generated that indicates a segfault or other limit.

-Nick

RE: Maximum number of simultaneous RDP connections

Posted by HASENOHR Paul <Pa...@ec.europa.eu.INVALID>.
Dear Nick,

Thank you for your suggestions.
Looking at the server system logs, I found many identical segfault entries:

Nov 28 10:44:55 snc-guacamole kernel: [9829816.814388] guacd[2871114]: segfault at 7fdd045f4bf8 ip 00007fd561fe2433 sp 00007fd5045f12e8 error 4 in ld-musl-x86_64.so.1[7fd561f9f000+4c000]
Nov 28 10:44:55 snc-guacamole kernel: [9829816.826102] Code: e3 18 ff ff 8b 44 24 08 48 81 c4 90 00 00 00 5b 5d 41 5c c3 64 48 8b 04 25 00 00 00 00 48 8b 90 80 00 00 00 89 ff 48 8d 14 fa <48> 39 32 74 07 48 89 32 80 48 42 01 31 c0 c3 48 85 f6 74 0a b8 16
Nov 28 10:44:56 snc-guacamole kernel: [9829817.741713] guacd[2871125]: segfault at 7fdd035fabf8 ip 00007fd561fe2433 sp 00007fd5035f72e8 error 4 in ld-musl-x86_64.so.1[7fd561f9f000+4c000]
Nov 28 10:44:56 snc-guacamole kernel: [9829817.748886] Code: e3 18 ff ff 8b 44 24 08 48 81 c4 90 00 00 00 5b 5d 41 5c c3 64 48 8b 04 25 00 00 00 00 48 8b 90 80 00 00 00 89 ff 48 8d 14 fa <48> 39 32 74 07 48 89 32 80 48 42 01 31 c0 c3 48 85 f6 74 0a b8 16

Is it something you are aware of?
Considering that this happens at around 60 connections, could it be in any way related to https://www.mail-archive.com/user@guacamole.apache.org/msg12630.html ?

I cannot reproduce the error currently as this happens only when exceed our usual number of users that is far below 60. I will try to deploy next week an instance of guacamole with guacd in debug mode and to initiate more than 60 connections to it.

Best regards,
Paul

From: Nick Couchman <vn...@apache.org>
Sent: Thursday, November 28, 2024 2:50 PM
To: user@guacamole.apache.org
Subject: Re: Maximum number of simultaneous RDP connections

On Thu, Nov 28, 2024 at 8:27 AM HASENOHR Paul <Pa...@ec.europa.eu.invalid>> wrote:
Hello,

We have been using Guacamole for the past years with great satisfaction for our users. Guacamole is running on Docker (standard images to which a custom CA has been added) on a Debian 12 VM.
We noticed today during a training that led to an increase of the number of concurrent connections that we could not exceed 55-58 RDP connections. Any other attempt to connect to any RDP server (several machines running Ubuntu 22.04 with xorgxrdp, some of them without any load) returned immediately a black screen with the message “You have been disconnected”.

In the guacd logs, any failed connection was logged as follows:
guacd[1]: INFO: Creating new client for protocol "rdp"
guacd[1]: INFO: Connection ID is "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa"
guacd[1916025]: INFO:   Security mode: TLS
guacd[1916025]: INFO:   Resize method: display-update
guacd[1916025]: INFO:   No clipboard line-ending normalization specified. Defaulting to preserving the format of all line endings.
guacd[1916025]: INFO:   User "@b2935015-b864-4928-a674-2c26ed1dd45d" joined connection "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa" (1 users now present)
guacd[1916025]: INFO:   Recording of session will be saved to "/recording//20241128_100346_XXXXXXXXXX-terminal-004-M_N".
guacd[1916025]: INFO:   Loading keymap "base"
guacd[1916025]: INFO:   Loading keymap "en-us-qwerty"
guacd[1]: INFO: Connection "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa" removed.


A handful of things that I can think of to check:
* It's probably worth putting guacd into debug mode ("-L debug" on the command line, or add the log configuration to guacd.conf) and see if that yields any more useful information on what happens when the connections are failing.
* Since you're running in Docker, check the various Docker limits and see if you're running up against something related to container limits - amount of memory, number of open files, process, etc. I believe Docker has facilities for limiting this similar to the normal "limits" and/or "ulimit" command on Linux, but probably slightly different configurations in slightly different places. System logs and/or Docker logs might also indicate bumping up against this.
* Also, check your system logs, particularly any facility that might be present for core dumps and see if anything is being generated that indicates a segfault or other limit.

-Nick

Re: Maximum number of simultaneous RDP connections

Posted by Nick Couchman <vn...@apache.org>.
On Thu, Nov 28, 2024 at 8:27 AM HASENOHR Paul
<Pa...@ec.europa.eu.invalid> wrote:

> Hello,
>
>
>
> We have been using Guacamole for the past years with great satisfaction
> for our users. Guacamole is running on Docker (standard images to which a
> custom CA has been added) on a Debian 12 VM.
>
> We noticed today during a training that led to an increase of the number
> of concurrent connections that we could not exceed 55-58 RDP connections.
> Any other attempt to connect to any RDP server (several machines running
> Ubuntu 22.04 with xorgxrdp, some of them without any load) returned
> immediately a black screen with the message “You have been disconnected”.
>
>
>
> In the guacd logs, any failed connection was logged as follows:
>
> guacd[1]: INFO: Creating new client for protocol "rdp"
>
> guacd[1]: INFO: Connection ID is "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa"
>
> guacd[1916025]: INFO:   Security mode: TLS
>
> guacd[1916025]: INFO:   Resize method: display-update
>
> guacd[1916025]: INFO:   No clipboard line-ending normalization specified.
> Defaulting to preserving the format of all line endings.
>
> guacd[1916025]: INFO:   User "@b2935015-b864-4928-a674-2c26ed1dd45d"
> joined connection "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa" (1 users now
> present)
>
> guacd[1916025]: INFO:   Recording of session will be saved to
> "/recording//20241128_100346_XXXXXXXXXX-terminal-004-M_N".
>
> guacd[1916025]: INFO:   Loading keymap "base"
>
> guacd[1916025]: INFO:   Loading keymap "en-us-qwerty"
>
> guacd[1]: INFO: Connection "$ed73e4c3-ce34-493c-81aa-2fc3810a27fa" removed.
>
>
>

A handful of things that I can think of to check:
* It's probably worth putting guacd into debug mode ("-L debug" on the
command line, or add the log configuration to guacd.conf) and see if that
yields any more useful information on what happens when the connections are
failing.
* Since you're running in Docker, check the various Docker limits and see
if you're running up against something related to container limits - amount
of memory, number of open files, process, etc. I believe Docker has
facilities for limiting this similar to the normal "limits" and/or "ulimit"
command on Linux, but probably slightly different configurations in
slightly different places. System logs and/or Docker logs might also
indicate bumping up against this.
* Also, check your system logs, particularly any facility that might be
present for core dumps and see if anything is being generated that
indicates a segfault or other limit.

-Nick

>