Thanks Nick for helping me out..

> This is the *only* thing you've changed in the code, *after* getting the
> crashes?  You haven't made any other adjustments - no extra keymaps or
> other changes to the code?


No I haven't done any other changes.

I  assume when you say "scrolls any page" you mean using their keyboard to
> scroll and not the scroll wheel on a mouse?


I mean using keyboard to scroll. I debugged more and come to know that it
doesn't depend on any specific key.

*ANALYSIS :*

One the thread which is connected to rdp server gets disconnect signal from
the  rdp server and it starts the cleanup process.

At the same time another thread recieves keysym from the browser for
parsing, as there is no check whether keyboard is null or not therefore it
crashes.

if( keyboard->synchronized )
> {
> }


I have checked the logs of /var/log/messages file.  At the same time there
is a disconnect from the server.

LOGS :-

Aug  5 12:42:03  guacd[1314]: Connection closed.
> Aug  5 12:42:03  guacd: recv: Connection reset by peer
> Aug  5 12:42:03  guacd: guacd[1314]: ERROR:       Connection closed.
> Aug  5 12:42:03  guacd[1314]: Unloading device 0 (Guacamole HyLite Printer)
> Aug  5 12:42:03  guacd: guacd[1314]: INFO:        Unloading device 0
> (Guacamole HyLite Printer)
> Aug  5 12:42:03  guacd: guacd[1314]: INFO:        Unloading device 1 (G)
> Aug  5 12:42:03  guacd[1314]: Unloading device 1 (G)
> Aug  5 12:42:03  guacd: guacd[1314]: INFO:        Internal RDP client
> disconnected
> Aug  5 12:42:03  guacd[1314]: Internal RDP client disconnected
> Aug  5 12:42:04  kernel: guacd[1320]: segfault at 7f98201f801c ip
> 00007f98500d5592 sp 00007f96d9799b10 error 4 in
> libguac-client-rdp.so.0.0.0[7f98500bb000+33000]


What RDP server are you connecting to?  Looks like you're running EL7
> (CentOS or RHEL) - do you have the stock version of FreeRDP installed
> (1.0.2)?


I am getting it on centos 7 and FreeRDP version is 1.0.2
RDP Server : Windows Server 2008 R2


I will put a check of null and try again.



On Sun, Aug 4, 2019 at 1:55 AM Nick Couchman <vn...@apache.org> wrote:

> On Sat, Aug 3, 2019 at 4:59 AM Amarjeet Singh <amarjee...@gmail.com>
> wrote:
>
>> Hi Team,
>>
>> I  was continuosly getting the disconnects therefore I have added the
>> below code to analyze the crashes.
>>
>
> This is the *only* thing you've changed in the code, *after* getting the
> crashes?  You haven't made any other adjustments - no extra keymaps or
> other changes to the code?
>
>
>>> (gdb) bt
>>> #0  0x00007f98500d5592 in guac_rdp_keyboard_update_keysym
>>> (keyboard=0x7f98201f8010, keysym=65364, pressed=0) at keyboard.c:466
>>> #1  0x00007f98500d4de5 in guac_rdp_user_key_handler
>>> (user=0x7f984c00bdb0, keysym=65364, pressed=0) at input.c:141
>>> #2  0x00007f9859efc969 in __guac_handle_key (user=0x7f984c00bdb0,
>>> argc=2, argv=0x7f984c00c160) at user-handlers.c:153
>>> #3  0x00007f9859efbfb1 in guac_user_handle_instruction
>>> (user=0x7f984c00bdb0, opcode=0x7f984c010def "key", argc=2,
>>> argv=0x7f984c00c160) at user.c:178
>>> #4  0x00007f9859efd7b1 in guac_user_input_thread (data=0x7f97afffeb90)
>>> at user-handshake.c:225
>>> #5  0x00007f9859331e25 in start_thread () from /lib64/libpthread.so.0
>>> #6  0x00007f9857c2c34d in clone () from /lib64/libc.so.6
>>
>> (gdb)print keyboard->synchronized
>>> Cannot access memory at address 0x7f98201f801c
>>
>>
>> *Backtrace of   core.8061.guacd.11 * * is as follows* :-
>>
>>> (gdb) bt
>>> #0  0x00007f98500d5132 in guac_rdp_keyboard_get_key
>>> (keyboard=0x7f98340d4010, keysym=65505) at keyboard.c:251
>>> #1  0x00007f98500d54d1 in guac_rdp_keyboard_send_events
>>> (keyboard=0x7f98340d4010, keysym_string=0x7f98500e8748
>>> <GUAC_KEYSYMS_ALL_SHIFT>, from=GUAC_RDP_KEY_PRESSED,
>>>     to=GUAC_RDP_KEY_PRESSED) at keyboard.c:434
>>> #2  0x00007f98500d53eb in guac_rdp_keyboard_send_event
>>> (keyboard=0x7f98340d4010, keysym=100, pressed=1) at keyboard.c:380
>>> #3  0x00007f98500d5633 in guac_rdp_keyboard_update_keysym
>>> (keyboard=0x7f98340d4010, keysym=100, pressed=1) at keyboard.c:486
>>> #4  0x00007f98500d4de5 in guac_rdp_user_key_handler
>>> (user=0x7f984c0029a0, keysym=100, pressed=1) at input.c:141
>>> #5  0x00007f9859efc969 in __guac_handle_key (user=0x7f984c0029a0,
>>> argc=2, argv=0x7f984c00be30) at user-handlers.c:153
>>> #6  0x00007f9859efbfb1 in guac_user_handle_instruction
>>> (user=0x7f984c0029a0, opcode=0x7f984c00d975 "key", argc=2,
>>> argv=0x7f984c00be30) at user.c:178
>>> #7  0x00007f9859efd7b1 in guac_user_input_thread (data=0x7f9848ff8b90)
>>> at user-handshake.c:225
>>> #8  0x00007f9859331e25 in start_thread () from /lib64/libpthread.so.0
>>> #9  0x00007f9857c2c34d in clone () from /lib64/libc.so.6
>>> (gdb)
>>
>>
>>
> This is interesting - it isn't crashing in a consistent place, which is
> unusual.  I'd be interested if you do the backtrace on several of the other
> core files how many of them are in similar places and how many are
> different?  Things crashing in random places, in my experience, indicates
> hardware errors, but that may not be the case, since these are in very
> similar/close places.
>
>
>>
>> Most of the time it happens when user scrolls any page inside the rdp.
>>
>
> I assume when you say "scrolls any page" you mean using their keyboard to
> scroll and not the scroll wheel on a mouse?
>
>
>>
>> Has anyone also got the same ?
>>
>
> I've not seen this at all, and I use several versions of Guacamole
> (0.9.14, 1.0.0, and various git versions).
>
> What RDP server are you connecting to?  Looks like you're running EL7
> (CentOS or RHEL) - do you have the stock version of FreeRDP installed
> (1.0.2)?
>
> -Nick
>
>>

Reply via email to