corentin-soriano opened a new pull request, #649:
URL: https://github.com/apache/guacamole-server/pull/649

   Correction of two segfaults in 1.6.1 caused by GUACAMOLE-2182:
   ```bash
   [root@MCSWKS00065 guacamole-server]# git bisect bad
   309971b2113b0e7692eeb25e3f0cd6c233d25670 is the first bad commit
   commit 309971b2113b0e7692eeb25e3f0cd6c233d25670 (HEAD)
   Author: Virtually Nick <[email protected]>
   Date:   Thu Dec 11 06:28:27 2025 -0500
   
       GUACAMOLE-2182: Remove config.h includes from header files.
   ```
   
   First segfault that I encounter during each RDP connection:
   ```
   Mar 26 15:59:36 localhost kernel: guacd[537380]: segfault at 18 ip 
000079bf75251d86 sp 000079bf52fcda60 error 6 in 
libguac-client-rdp.so.0.0.0[79bf7524c000+2a000] likely on CPU 0 (core 0, socket 
0)
   Mar 26 15:59:36 localhost kernel: Code: 00 00 00 7f 07 c7 45 d0 c8 00 00 00 
8b 45 d4 99 c1 ea 1f 01 d0 83 e0 01 29 d0 83 f8 01 75 04 83 6d d4 01 48 8b 45 
e8 8b 55 d4 <89> 50 18 48 8b 45 e8 8b 55 d0 89 50 1c 48 8b 55 d8 48 8b 4d e0 48
   Mar 26 15:59:36 localhost kernel: guacd: guacd: potentially unexpected fatal 
signal 11.
   Mar 26 15:59:36 localhost kernel: CPU: 0 PID: 537380 Comm: guacd Not tainted 
6.6.87.2-microsoft-standard-WSL2 #1
   Mar 26 15:59:36 localhost kernel: RIP: 0033:0x79bf75251d86
   Mar 26 15:59:36 localhost kernel: Code: 00 00 00 7f 07 c7 45 d0 c8 00 00 00 
8b 45 d4 99 c1 ea 1f 01 d0 83 e0 01 29 d0 83 f8 01 75 04 83 6d d4 01 48 8b 45 
e8 8b 55 d4 <89> 50 18 48 8b 45 e8 8b 55 d0 89 50 1c 48 8b 55 d8 48 8b 4d e0 48
   Mar 26 15:59:36 localhost kernel: RSP: 002b:000079bf52fcda60 EFLAGS: 00010297
   Mar 26 15:59:36 localhost kernel: RAX: 0000000000000000 RBX: 
00000000000003ee RCX: 0000000000000000
   Mar 26 15:59:36 localhost kernel: RDX: 0000000000000780 RSI: 
0000000000002000 RDI: 000079bf52fcda80
   Mar 26 15:59:36 localhost kernel: RBP: 000079bf52fcda90 R08: 
00000000000003ee R09: 0000000000000000
   Mar 26 15:59:36 localhost kernel: R10: 000079bf77000318 R11: 
000079bf77019624 R12: 000079bf6801a530
   Mar 26 15:59:36 localhost kernel: R13: 000079bf68008390 R14: 
000079bf52fcdb40 R15: 0000000000000001
   Mar 26 15:59:36 localhost kernel: FS:  000079bf52fce640 GS:  0000000000000000
   ```
   GDB:
   ```
   [Thread debugging using libthread_db enabled]
   Using host libthread_db library "/lib64/libthread_db.so.1".
   Core was generated by `/usr/local/sbin/guacd -f`.
   Program terminated with signal SIGSEGV, Segmentation fault.
   #0  0x000079bf75251d86 in guac_rdp_disp_set_size (disp=0x0, 
settings=0x266d1b20, rdp_inst=0x79bf68008100, width=1920, height=1006) at 
channels/disp.c:181
   [Current thread is 1 (Thread 0x79bf52fce640 (LWP 536868))]
   (gdb) bt full
   #0  0x000079bf75251d86 in guac_rdp_disp_set_size (disp=0x0, 
settings=0x266d1b20, rdp_inst=0x79bf68008100, width=1920, height=1006) at 
channels/disp.c:181
           resize = {left = 0, top = 0, right = 1920, bottom = 1006}
   #1  0x000079bf75251bab in guac_rdp_disp_channel_connected 
(context=0x79bf68008390, args=0x79bf52fcdb40) at channels/disp.c:89
           client = 0x79bf7000ba30
           rdp_client = 0x79bf74890010
           guac_disp = 0x0
           disp = 0x0
   #2  0x000079bf74f69ea6 in PubSub_OnEvent () from /lib64/libwinpr2.so.2
   No symbol table info available.
   #3  0x000079bf750fea9f in freerdp_drdynvc_on_channel_connected () from 
/lib64/libfreerdp2.so.2
   No symbol table info available.
   #4  0x000079bf7502e78b in drdynvc_virtual_channel_client_thread () from 
/lib64/libfreerdp-client2.so.2
   No symbol table info available.
   #5  0x000079bf74f7ea93 in thread_launcher () from /lib64/libwinpr2.so.2
   No symbol table info available.
   #6  0x000079bf76489d32 in start_thread () from /lib64/libc.so.6
   No symbol table info available.
   #7  0x000079bf7650edc0 in clone3 () from /lib64/libc.so.6
   No symbol table info available.
   ```
   Fixed with `#include "config.h"` in `rdp/channels/disp.c`.
   
   Second segfault on screen resize:
   ```
   Mar 26 16:03:56 localhost kernel: guacd[540558]: segfault at 18 ip 
00007e761bd43d86 sp 00007e7612ffcb40 error 6 in 
libguac-client-rdp.so.0.0.0[7e761bd3e000+2a000] likely on CPU 3 (core 1, socket 
0)
   Mar 26 16:03:56 localhost kernel: Code: 00 00 00 7f 07 c7 45 d0 c8 00 00 00 
8b 45 d4 99 c1 ea 1f 01 d0 83 e0 01 29 d0 83 f8 01 75 04 83 6d d4 01 48 8b 45 
e8 8b 55 d4 <89> 50 18 48 8b 45 e8 8b 55 d0 89 50 1c 48 8b 55 d8 48 8b 4d e0 48
   Mar 26 16:03:56 localhost kernel: guacd: guacd: potentially unexpected fatal 
signal 11.
   Mar 26 16:03:56 localhost kernel: CPU: 3 PID: 540558 Comm: guacd Not tainted 
6.6.87.2-microsoft-standard-WSL2 #1
   Mar 26 16:03:56 localhost kernel: RIP: 0033:0x7e761bd43d86
   Mar 26 16:03:56 localhost kernel: Code: 00 00 00 7f 07 c7 45 d0 c8 00 00 00 
8b 45 d4 99 c1 ea 1f 01 d0 83 e0 01 29 d0 83 f8 01 75 04 83 6d d4 01 48 8b 45 
e8 8b 55 d4 <89> 50 18 48 8b 45 e8 8b 55 d0 89 50 1c 48 8b 55 d8 48 8b 4d e0 48
   Mar 26 16:03:56 localhost kernel: RSP: 002b:00007e7612ffcb40 EFLAGS: 00010297
   Mar 26 16:03:56 localhost kernel: RAX: 0000000000000000 RBX: 
00007e761bd54b4f RCX: 0000000000000000
   Mar 26 16:03:56 localhost kernel: RDX: 0000000000000356 RSI: 
0000000000002000 RDI: 00007e7612ffcb60
   Mar 26 16:03:56 localhost kernel: RBP: 00007e7612ffcb70 R08: 
00000000000002b9 R09: 0000000000000000
   Mar 26 16:03:56 localhost kernel: R10: 00007e761cf9eac0 R11: 
00007e761cf9f3c0 R12: 00000000000002b9
   Mar 26 16:03:56 localhost kernel: R13: 0000000000000000 R14: 
00007e761ce89a60 R15: 0000000000000000
   Mar 26 16:03:56 localhost kernel: FS:  00007e7612ffd640 GS:  0000000000000000
   ```
   GDB:
   ```
   [Thread debugging using libthread_db enabled]
   Using host libthread_db library "/lib64/libthread_db.so.1".
   Core was generated by `/usr/local/sbin/guacd -f`.
   Program terminated with signal SIGSEGV, Segmentation fault.
   #0  0x00007e761bd43d86 in guac_rdp_disp_set_size (disp=0x0, 
settings=0x23850b20, rdp_inst=0x7e760c008100, width=854, height=697) at 
channels/disp.c:183
   183         disp->requested_width = width;
   [Current thread is 1 (Thread 0x7e7612ffd640 (LWP 540044))]
   (gdb) bt full
   #0  0x00007e761bd43d86 in guac_rdp_disp_set_size (disp=0x0, 
settings=0x23850b20, rdp_inst=0x7e760c008100, width=854, height=697) at 
channels/disp.c:183
           resize = {left = 0, top = 0, right = 854, bottom = 697}
   #1  0x00007e761bd54be4 in guac_rdp_user_size_handler (user=0x238500b0, 
width=854, height=697) at input.c:114
           client = 0x7e761400ba30
           rdp_client = 0x7e761b382010
           settings = 0x23850b20
           rdp_inst = 0x7e760c008100
   #2  0x00007e761db111ac in __guac_handle_size (user=0x238500b0, argc=4, 
argv=0x2385fab0) at user-handlers.c:372
   No locals.
   #3  0x00007e761db11d1d in __guac_user_call_opcode_handler 
(map=0x7e761db1d120 <__guac_instruction_handler_map>, user=0x238500b0, 
opcode=0x23861238 "size", argc=4, argv=0x2385fab0)
       at user-handlers.c:769
           current = 0x7e761db1d180 <__guac_instruction_handler_map+96>
   #4  0x00007e761db11ff9 in guac_user_input_thread (data=0x7e7618bfdbe0) at 
user-handshake.c:166
           params = 0x7e7618bfdbe0
           usec_timeout = 15000000
           user = 0x238500b0
           parser = 0x2385fa80
           client = 0x7e761400ba30
           socket = 0x23851840
   #5  0x00007e761ce89d32 in start_thread () from /lib64/libc.so.6
   No symbol table info available.
   #6  0x00007e761cf0edc0 in clone3 () from /lib64/libc.so.6
   No symbol table info available.
   ```
   Fixed with `#include "config.h"` in `rdp/input.c`.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to