On Wed, Jul 3, 2019 at 3:04 AM Sebastian Luna Valero <
[email protected]> wrote:

> ...
> [2] output from gdb
>
> # gdb --args guacd -L debug -f
> GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git
> Copyright (C) 2018 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <
> http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from guacd...done.
> (gdb) run
>

Within gdb, *before* running guacd, you will need tell gdb to follow the
child of fork() calls:

    (gdb) set follow-fork-mode child

Without the above, you are actually only debugging the parent guacd
process, not the child process that is forked to handle the RDP connection.
If specifically debugging RDP, you may also want to set the LD_PRELOAD
environment variable to /full/path/to/libguac-client-rdp.so prior to
running gdb, to ensure the debug symbols for that library are available.

Thread 4 "guacd" received signal SIGPIPE, Broken pipe.
> [Switching to Thread 0x7ffff2ae8700 (LWP 2250)]
> 0x00007ffff79b32b7 in __libc_write (fd=fd@entry=7, 
> buf=buf@entry=0x7ffff2ae5d40,
> nbytes=nbytes@entry=22) at ../sysdeps/unix/sysv/linux/write.c:27
> 27 ../sysdeps/unix/sysv/linux/write.c: No such file or directory.
> (gdb) bt
> #0  0x00007ffff79b32b7 in __libc_write (fd=fd@entry=7, 
> buf=buf@entry=0x7ffff2ae5d40,
> nbytes=nbytes@entry=22) at ../sysdeps/unix/sysv/linux/write.c:27
> #1  0x00005555555578be in __write_all (length=22,
>     buffer=0x7ffff2ae5d40
> "5.mouse,2.91,2.27,1.0;;c,8.86966598;4.sync,8.86966599;4.sync,8.86966600;4.sync,8.86966601;4.sync,8.86966602;5.mouse,3.115,2.41,1.0;5.mouse,3.113,2.39,1.0;nc,8.86966341;4.sync,8.86966342;4.sync,8.86966"...,
> fd=7) at connection.c:72
> #2  guacd_connection_write_thread (data=0x7fffec00b410) at connection.c:122
> #3  0x00007ffff79a96db in start_thread (arg=0x7ffff2ae8700) at
> pthread_create.c:463
> #4  0x00007ffff744588f in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
>

This is just the signal received by a process when a write is made to a
closed pipe/socket. Closure of the pipe/socket will be handled
automatically by guacd. This is not related to your issue, nor is it
abnormal behavior.

- Mike

Reply via email to