Bug 5322 - FreeRDP v1.0.1 does not work in a ThinLinc session
Summary: FreeRDP v1.0.1 does not work in a ThinLinc session
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: VNC (show other bugs)
Version: 4.2.0
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.19.0
Assignee: Pierre Ossman
URL:
Keywords: adaha_tester, relnotes
Depends on: 8485
Blocks:
  Show dependency treegraph
 
Reported: 2014-10-23 11:08 CEST by Henrik Andersson
Modified: 2025-02-20 16:09 CET (History)
2 users (show)

See Also:
Acceptance Criteria:
MUST * Most applications with incorrect assumptions about display format should not crash.


Attachments
test program (1.18 KB, text/plain)
2014-10-23 11:27 CEST, Pierre Ossman
Details

Description Henrik Andersson cendio 2014-10-23 11:08:19 CEST

    
Comment 1 Henrik Andersson cendio 2014-10-23 11:09:26 CEST
Fails with the following error:

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  1 (X_CreateWindow)
  Serial number of failed request:  32
  Current serial number in output stream:  36
Comment 2 Henrik Andersson cendio 2014-10-23 11:20:04 CEST
x_get_pixmap_info() in FreeRDP are used to get a visual which is used in XCreateWindow() which fails. This function enumerates visuals for display using  XListPixmapFormats() and uses the first matching visual which depth matches the screen.

The first matching visualid differs if running freerdp on console or within a ThinLinc session. Visual id 0x21 is the first match when running on console and within a session it is 0xae.
Comment 3 Pierre Ossman cendio 2014-10-23 11:27:01 CEST
Created attachment 582 [details]
test program

Simple test program that can provoke the issue.
Comment 4 Pierre Ossman cendio 2024-01-10 16:53:52 CET
This should hopefully be resolved with:

https://github.com/TigerVNC/tigervnc/commit/7ad74d14160028fd709f595e9441c369cc4cd17e
Comment 5 Adam Halim cendio 2025-02-20 15:58:04 CET
I tried running the test program attachment 582 [details] (modified it to use the first visualid listed by xdpyinfo in a ThinLinc session). The program did not crash with 4.18.0, nor with server build 3921.

Instead, I found a program listed in a relevant upstream issue [1] which crashed in 4.18.0:
> X Error of failed request:  BadMatch (invalid parameter attributes)
>   Major opcode of failed request:  1 (X_CreateWindow)
>   Serial number of failed request:  7
>   Current serial number in output stream:  8
Running vulkaninfo triggers the same crash.

After upgrading to server build 3921, the test program and vulkaninfo works as expected.

I also tried FreeRDP 2.11.7 with ThinLinc 4.18.0 on a RHEL 9 VM and did not get a crash, they must have fixed the issue on their end some time ago.

[1] https://github.com/TigerVNC/tigervnc/issues/1674#issuecomment-1884290183

Note You need to log in before you can comment on or make changes to this bug.