Jimmy created GUACAMOLE-1900:
--------------------------------

             Summary: Resizing an RDP connection produces segfault
                 Key: GUACAMOLE-1900
                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-1900
             Project: Guacamole
          Issue Type: Bug
          Components: guacamole-server
    Affects Versions: 1.5.4
         Environment: Apache Guacamole: Ubuntu 22.04.3 (64 bit), Tomcat 9.0.58
RDP Server: Windows Server 2019 Datacenter Version 1809 (OS Build 17763.1817)
Browser: Google Chrome 120.0.6099.130 (Official Build) (64-bit) (cohort: 
Stable) 
            Reporter: Jimmy
             Fix For: 1.5.5
         Attachments: image-2023-12-29-07-27-47-520.png

Hello,

When resizing the browser window after connecting to an RDP server (Windows 
Server 2019), I see a disconnect with segfault.

!image-2023-12-29-07-27-47-520.png!

I can see the following backtrace from the gdb:
{code:java}
Thread 4.5 "guacd" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe85fd640 (LWP 94749)]
0x00007ffff67e5ca7 in __guac_common_surface_touch_rect (surface=0x7fffe000f940, 
rect=0x7fffe85fc8d0, surface=0x7fffe000f940, rect=0x7fffe85fc8d0, 
time=21636686) at surface.c:643
643                heat_cell->history[heat_cell->oldest_entry] = time;
(gdb) bt
#0  0x00007ffff67e5ca7 in __guac_common_surface_touch_rect (surface=<optimized 
out>, rect=<optimized out>, surface=0x7fffe000f940, rect=0x7fffe85fc8d0, 
time=21636686) at surface.c:643
#1  guac_common_surface_draw (surface=0x7fffe000f940, x=<optimized out>, 
y=<optimized out>, src=src@entry=0x7fffe04e7f40) at surface.c:1374
#2  0x00007ffff67cfeec in guac_rdp_bitmap_paint (context=<optimized out>, 
bitmap=0x7fffe00b55a0) at bitmap.c:106
#3  0x00007ffff661d4a2 in gdi_bitmap_update () at 
/usr/local/lib/libfreerdp2.so.2
#4  0x00007ffff667b433 in fastpath_recv_update () at 
/usr/local/lib/libfreerdp2.so.2
#5  0x00007ffff667b7a8 in fastpath_recv_updates () at 
/usr/local/lib/libfreerdp2.so.2
#6  0x00007ffff6673dfa in rdp_recv_pdu () at /usr/local/lib/libfreerdp2.so.2
#7  0x00007ffff6674f2b in rdp_recv_callback () at 
/usr/local/lib/libfreerdp2.so.2
#8  0x00007ffff667ff74 in transport_check_fds () at 
/usr/local/lib/libfreerdp2.so.2
#9  0x00007ffff6675967 in rdp_check_fds () at /usr/local/lib/libfreerdp2.so.2
#10 0x00007ffff66599a3 in freerdp_check_fds () at 
/usr/local/lib/libfreerdp2.so.2
#11 0x00007ffff665aad7 in freerdp_check_event_handles () at 
/usr/local/lib/libfreerdp2.so.2
#12 0x00007ffff67df07e in guac_rdp_handle_connection (client=0x7ffff000b350) at 
rdp.c:559
#13 guac_rdp_client_thread (data=0x7ffff000b350) at rdp.c:822
#14 0x00007ffff7c94ac3 in start_thread (arg=<optimized out>) at 
./nptl/pthread_create.c:442
#15 0x00007ffff7d26660 in clone3 () at 
../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 {code}
The test case follows as below:
 # Start the guacd. (guacd -L debug -f)
 # Connect to a RDP server.
 # Resize the browser window.

If we repeat the step 3 more than 1 time, we can see this segfault issue.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to