On Fri, Sep 4, 2026 at 1:41 PM Hashizume, Keiko (RIS-HBE)
<[email protected]> wrote:
>
> gdi_init_ex() crashes with a failed WINPR_ASSERT(cache) inside 
> brush_cache_register_callbacks() when called by Chainguard's guacamole-server 
> image's RDP plugin (the stock apache/guacamole-server 1.6.0 codebase, 
> packaged by Chainguard) — a normal, fully-connecting RDP client (completes 
> capability negotiation, authentication, and framebuffer format agreement) — 
> starting with FreeRDP 3.31.0.
>
> guacd[N]: INFO: Loading keymap "en-us-qwerty"
> guacd[N]: DEBUG: Local framebuffer format PIXEL_FORMAT_BGRX32
> guacd[N]: DEBUG: Remote framebuffer format PIXEL_FORMAT_BGRA32
> guacd[N]: DEBUG: ((cache)) 
> [./libfreerdp/cache/brush.c:brush_cache_register_callbacks:230]
> guacd[N]: DEBUG: 0: ... libwinpr3.so.3 ...
> guacd[N]: DEBUG: 1: ... dli_sname=winpr_log_backtrace_ex ...
> guacd[N]: DEBUG: 2: ... dli_sname=winpr_int_assert ...
> guacd[N]: DEBUG: 3: ... dli_fname=/usr/lib/libfreerdp3.so.3, 
> dli_sname=gdi_init_ex ...
> guacd[N]: DEBUG: 4: ... dli_fname=/usr/lib/libguac-client-rdp.so ...
> guacd[N]: DEBUG: 5: ... dli_sname=freerdp_connect ...
> guacd[N]: DEBUG: 6: ... dli_sname=guac_rdp_client_thread ...
> guacd[1]: INFO: Connection removed.
>
> Environment
> Distribution: Chainguard's guacamole-server container image (packages the 
> stock apache/guacamole-server 1.6.0 codebase, bundled with their own 
> independently-versioned FreeRDP build) — not Apache's own official Docker Hub 
> image, and not a from-source build with any local patches to the RDP plugin
> FreeRDP: 3.31.0-r1 and 3.31.1 (Chainguard guacamole-server tags 
> 1.6.0-r10/1.6.0-r11)
> Confirmed absent in FreeRDP 3.27.1 (Chainguard guacamole-server:1.6.0-r9) and 
> 3.30.0
> Platform: linux/amd64 (also reproduced via qemu emulation from linux/arm64 
> host)
> guacamole-server application version: 1.6.0 (unchanged across all tags above 
> — only the bundled FreeRDP version differs)
>

I'd be curious to know if this could be reproduced outside of
Chainguard's container image and in the official images? Based on what
you've said I suspect it would, but it would be good to confirm that
there aren't other modifications taking place.

>
>
> I have reached out to FreeRDP, but they mentioned that it is a guacamole bug
> https://github.com/apache/guacamole-server/blob/d3b7828977c63a5b197158d6cbbdaf1846b579fb/src/protocols/rdp/rdp.c#L197
>  is in PreConnect callback - something that was never supported (or done in 
> any of the reference clients)

Thanks, that could be useful in tracking it down.

-Nick

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to