Hello, No this was getting reproduce sometimes not always. I am just connecting with rdp windows box and changing the resolution from windows size and get hit with crash sometimes. I have added a below code change to fix it and at least was not observing the issue today. Will keep you updated incase I hit this even after below fix.
BOOL guac_rdp_gdi_desktop_resize(rdpContext* context) { guac_client* client = ((rdp_freerdp_context*) context)->client; guac_rdp_client* rdp_client = (guac_rdp_client*) client->data; rdpGdi* gdi = context->gdi; int width = guac_rdp_get_width(context->instance); int height = guac_rdp_get_height(context->instance); if (rdp_client->current_context != NULL) { guac_client_log(client, GUAC_LOG_ERROR, "Current context is not null"); return FALSE; } /* All potential drawing operations must occur while holding an open context */ guac_display_layer* default_layer = guac_display_default_layer(rdp_client->display); guac_display_layer_raw_context* current_context = guac_display_layer_open_raw(default_layer); if (current_context == NULL) { guac_client_log(client, GUAC_LOG_ERROR, "Failed to open raw context"); return FALSE; } /* Resize FreeRDP's GDI buffer */ BOOL retval = gdi_resize(context->gdi, width, height); if (retval == FALSE) { guac_client_log(client, GUAC_LOG_ERROR, "Failed to resize GDI buffer"); guac_display_layer_close_raw(default_layer, current_context); return FALSE; } if (gdi->primary_buffer == NULL) { guac_client_log(client, GUAC_LOG_ERROR, "GDI buffer is null"); guac_display_layer_close_raw(default_layer, current_context); return FALSE; } /* Update our reference to the GDI buffer, as well as any structural * details, which may now all be different */ current_context->buffer = gdi->primary_buffer; current_context->stride = gdi->stride; guac_rect_init(¤t_context->bounds, 0, 0, gdi->width, gdi->height); /* Resize layer to match new display dimensions and underlying buffer */ guac_display_layer_resize(default_layer, gdi->width, gdi->height); guac_client_log(client, GUAC_LOG_DEBUG, "Server resized display to %ix%i", gdi->width, gdi->height); guac_display_layer_close_raw(default_layer, current_context); return retval; } THanks, Dilip On Fri, May 16, 2025 at 8:26 PM Nick Couchman <nick.e.couch...@gmail.com> wrote: > On Fri, May 16, 2025 at 4:51 AM Dilip Modi <dm...@zscaler.com.invalid> > wrote: > >> Yes. I am using staging/1.6.0 and released version of freerdp. >> > > Can you provide the exact steps you go through to produce the crash? And > confirm that you can consistently produce it - that is, if you go through > those exact steps, does it happen every time, half the time, 10% of the > time, etc.? > > -Nick > -- This communication (including any attachments) is intended for the sole use of the intended recipient and may contain confidential, non-public, and/or privileged material. Use, distribution, or reproduction of this communication by unintended recipients is not authorized. If you received this communication in error, please immediately notify the sender and then delete all copies of this communication from your system.