Nick
I rebuilt the rpm from staging/1.2.0 and repeated the exercise.
This time I loaded the debug symbols. See the guacd stack backtrace below.
When using xrdp with the Xorg backend from xorgxrdp-0.2.13-1 instead of Xvnc,
all this is gone and the clipboard works as expected.
The guacd warning "Received clipboard data cannot be sent to the RDP server
..." appears with Xorg and guacd 1.2.0 as well but does not seem to affect
clipboard functionality (at least for text).
Stefan
[root@guacamole ~]# /usr/sbin/guacd -v
Guacamole proxy daemon (guacd) version 1.2.0
[root@antelope ~]# gdb -batch -ex bt -ex quit /usr/sbin/guacd
/var/spool/abrt/ccpp-2020-04-29-10\:26\:50-3045/coredump
[New LWP 3050]
[New LWP 3048]
[New LWP 3045]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `guacd -f'.
Program terminated with signal 11, Segmentation fault.
#0 guac_rdp_keyboard_update_keysym (keyboard=0x7f8fcd5a2010, keysym=67,
pressed=0) at keyboard.c:444
444 if (!keyboard->synchronized) {
#0 guac_rdp_keyboard_update_keysym (keyboard=0x7f8fcd5a2010, keysym=67,
pressed=0) at keyboard.c:444
#1 0x00007f8fdd3770f0 in guac_user_input_thread (data=<optimized out>) at
user-handshake.c:165
#2 0x00007f8fdc77eea5 in start_thread () from /lib64/libpthread.so.0
#3 0x00007f8fdb0738dd in clone () from /lib64/libc.so.6
On Apr 29, 2020, at 09:50, Stefan M. Radman <[email protected]<mailto:[email protected]>>
wrote:
Hi Nick
I just experienced the issue myself on CentOS-7 (2003) with the guacd-1.1.0-1
RPM from EPEL7.
The RDP server is xrdp-0.9.13-1 with its default Xvnc backend from
tigervnc-server-minimal-1.8.0-19.
When copying any text in GNOME to the clipboard, the guacamole session closes
with a connection error.
Upon reconnect the GNOME desktop is still there and unchanged but I receive an
email from abrt that guacd has crashed.
The stack backtrace can be found below.
guacd crashes in guac_rdp_keyboard_update_keysym().
One of the last messages of guacd before the crash is the one received by Jason:
"Received clipboard data cannot be sent to the RDP server because the RDP
server has requested a clipboard format which was not declared as available.
This violates the specification for the CLIPRDR channel."
Dr. Google found the message in an xrdp thread.
https://github.com/neutrinolabs/xrdp/issues/755<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fneutrinolabs%2Fxrdp%2Fissues%2F755&data=02%7C01%7Csmr%40kmi.com%7C0552edc2b1014f67576608d7ec120e7a%7Cc2283768b8d34e008f3d85b1b4f03b33%7C0%7C0%7C637237434608630622&sdata=k9COi1Jk%2BmWMY4FXxZ%2FuFaeWr9m4%2BcKElVy48FuD8v4%3D&reserved=0>
Not sure if that's related but it wouldn't be the first Xvnc issue guacamole is
suffering from.
Note: In this case it is not xrdp or Xvnc crashing but guacd.
Stefan
[root@guacamole ~]# gdb -batch -ex bt -ex quit /usr/sbin/guacd
/var/spool/abrt/ccpp-2020-04-29-04\:46\:42-13550/coredump
[New LWP 13561]
[New LWP 13550]
[New LWP 13555]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/sbin/guacd -f'.
Program terminated with signal 11, Segmentation fault.
#0 0x00007f3f25dd9ddb in guac_rdp_keyboard_update_keysym () from
/lib64/libguac-client-rdp.so
#0 0x00007f3f25dd9ddb in guac_rdp_keyboard_update_keysym () from
/lib64/libguac-client-rdp.so
#1 0x00007f3f2de540f0 in guac_user_input_thread () from /lib64/libguac.so.17
#2 0x00007f3f2d25bea5 in start_thread () from /lib64/libpthread.so.0
#3 0x00007f3f2bb508dd in clone () from /lib64/libc.so.6
On Apr 16, 2020, at 04:06, Nick Couchman
<[email protected]<mailto:[email protected]>> wrote:
Jason,
A couple of things for you to try:
1) If possible, compile the staging/1.2.0 guacd code and see if it is fixed in
that version. It's possible this is already addressed by some fixes that have
already been committed.
2) Run gdb with guacd and get a stack trace of the segfault that's happening
here so that we can track down where it's occurring. This would be something
like:
gdb /path/to/guacd -f
gdb> set follow-fork-mode child
gdb> go
Then run the RDP connection and reproduce the disconnect and post the stack
trace back here.
-Nick
On Wed, Apr 15, 2020 at 8:55 PM Jason Keltz
<[email protected]<mailto:[email protected]>> wrote:
Nick,
Any additional feedback on how to resolve this issue?
I'm sure there are many people running Guacamole under CentOS 7 with EPEL xrdp.
I just don't understand what is causing guacd to report the error below, and
how to fix it. Even Dr. Google doesn't help.
Jason.
On 4/15/2020 1:01 PM, Jason Keltz wrote:
Hi Nick,
Everything is running from guac 1.1.0.
There's no messages from dmesg on the RDP host.
guacd reports on the server:
Apr 15 12:54:41 remotelab guacd[17580]: guacd[22724]: WARNING: Received
clipboard data cannot be sent to the RDP server because the RDP server has
requested a clipboard format which was not declared as available. This violates
the specification for the CLIPRDR channel.
This looks to be when I do a cut operation. Any thoughts on what this would
be? I'm running the epel package of xrdp.
I see a few core dumps from guacd on the server as well, but not at the times
when I'm doing this... likely some other issue:
[328607.147080] guacd[822]: segfault at 7f0e0aba401c ip 00007f0e1252389b sp
00007f0e08ff8c00 error 4 in libguac-client-rdp.so.0.0.0[7f0e124fe000+3b000]
[330573.985939] guacd[1018]: segfault at 7f0e0a50701c ip 00007f0e1252389b sp
00007f0e08ff8c00 error 4 in libguac-client-rdp.so.0.0.0[7f0e124fe000+3b000]
I did restart guacd and it didn't help.
Jason.
On 4/15/2020 11:11 AM, Nick Couchman wrote:
On Wed, Apr 15, 2020 at 10:51 AM Jason Keltz
<[email protected]<mailto:[email protected]>> wrote:
Hi.
I have an odd situation occurring. I'm connected (through Guac) to a
CentOS 7 machine via RDP. The desktop environment is the standard
GNOME. I have only a terminal window open. When I select text in the
terminal window, then right-click and select "Copy", the RDP session
disconnects and Guacamole reports "The remote desktop server is current
unavailable. If the problem persists, please notify your system
administrator, or check ...". It then reconnects, but if I choose
"paste", the text I cut is not in the buffer. Any ideas on how to solve?
Sounds like something is crashing - you'll need to narrow down if it is xRDP or
guacd that is exiting abnormally. I'd start with the following:
- Take a look at "dmesg" output on the systems running both xRDP and guacd and
see if you see any "segfault" messages.
- Look at syslog on both systems and see if you can see any reason given for
either xRDP or guacd crashing.
- Look at the system running guacd and see if the log messages in syslog
(journalctl, /var/log/messages, etc.) and see what guacd is saying is the
reason for the connection closure.
Also, what version of guacd are you running?
-Nick
CONFIDENTIALITY NOTICE: This communication may contain privileged and
confidential information, or may otherwise be protected from disclosure, and is
intended solely for use of the intended recipient(s). If you are not the
intended recipient of this communication, please notify the sender that you
have received this communication in error and delete and destroy all copies in
your possession.