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]
