xpra icon
Bug tracker and wiki

Opened 9 months ago

Last modified 6 months ago

#2642 assigned defect

No matching CSC module found

Reported by: stdedos Owned by: Antoine Martin
Priority: minor Milestone: 5.0
Component: client Version: 3.0.x
Keywords: Cc:

Description

Log output is too massive, attaching it.

No idea what caused it, since it didn't cause any disruption (apart from the looming #2617).

This would be my most massive usage of xpra client to-date;

                                        Xpra top 3.0.7-r25609
Xpra GTK3 X11 server 64-bit
xpra top - 16:32:13 up 1 day, 6:42:46,  1 users, load average: 1.52, 2.19, 2.12
8 threads
cursor at 2030x358

 ┌──────────────────────────────────────────────────────────────────────────────────────────────────┐
 │Python/GTK3 client version 4.0-r25603                                                             │
 │batch delay: 994 (909)                                                                            │
 │latency: 0 (0)                                                                                    │
 └──────────────────────────────────────────────────────────────────────────────────────────────────┘

5 windows
 ┌──────────────────────────────────────────────────────────────────────────────────────────────────┐
 │quartz@h: ~                                                                                       │
 │1920x1002 at 1600,23 - gravity=1, base-size=(12, 50), minimum-size=(298, 79), increment=(9, 17)   │
 │focused, maximized                                                                                │
 │NORMAL                                                                                            │
 └──────────────────────────────────────────────────────────────────────────────────────────────────┘
 ┌──────────────────────────────────────────────────────────────────────────────────────────────────┐
 │Terminal                                                                                          │
 │166x158 at 1601,79                                                                                │
 │grabbed, override-redirect                                                                        │
 │POPUP_MENU                                                                                        │
 └──────────────────────────────────────────────────────────────────────────────────────────────────┘
 ┌──────────────────────────────────────────────────────────────────────────────────────────────────┐
 │2020-Mar.xlsx - LibreOffice Calc                                                                  │
 │1920x1017 at 1600,23 - gravity=10, base-size=(0, 0), minimum-size=(136, 39)                       │
 │maximized                                                                                         │
 │NORMAL                                                                                            │
 └──────────────────────────────────────────────────────────────────────────────────────────────────┘
 ┌──────────────────────────────────────────────────────────────────────────────────────────────────┐
 │atf â   qwertyuiop[asdfghjkl;cvbnmk,l;fghjkl                                                      │
 │1920x1017 at 1600,23 - gravity=1, minimum-size=(324, 39), position=(2141, 74)                     │
 │hidden, iconic                                                                                    │
 │NORMAL                                                                                            │
 └──────────────────────────────────────────────────────────────────────────────────────────────────┘
 ┌──────────────────────────────────────────────────────────────────────────────────────────────────┐
 │LibreOffice 6.4                                                                                   │
 │1x1 at -99,-99                                                                                    │
 │override-redirect                                                                                 │
 │NORMAL                                                                                            │
 └──────────────────────────────────────────────────────────────────────────────────────────────────┘

Attachments (3)

xpra-client-console.txt (181.7 KB) - added by stdedos 9 months ago.
redact-xpra-2604-200.log (344.2 KB) - added by stdedos 8 months ago.
csc-2.txt (793.5 KB) - added by stdedos 8 months ago.

Download all attachments as: .zip

Change History (11)

Changed 9 months ago by stdedos

Attachment: xpra-client-console.txt added

comment:1 Changed 9 months ago by Antoine Martin

Status: newassigned

Weird, we're using video for a 2x16 area:

Error: no matching CSC module found
 for 2x16 GBRP source format,
 to 2x16 BGRA or BGRX or RGBA or RGBX or BGR or RGB

comment:2 Changed 9 months ago by Antoine Martin

Owner: changed from Antoine Martin to stdedos
Status: assignednew

That's very strange, we already had code that prevents using video regions for small areas:

        if cww*cwh<=MAX_NONVIDEO_PIXELS:
            return nonvideo(quality+30, "window is too small")

And the default value:

MAX_NONVIDEO_PIXELS = envint("XPRA_MAX_NONVIDEO_PIXELS", 1024*4)

So it should not have been possible to use a video encoding for 2x16, unless you somehow forced it with command line options or environment variables?

r25632 will ensure we never bother using video for anything smaller than 16 pixels in width or height, since not all CSC modules can handle very small sizes.
The correct fix would be to add a new capability so the client can tell the server what the minimum size requirements really are, but since all the CSC modules we have support at least 8, I didn't bother.

It would be interesting to see why we ended up choosing video for such add odd looking window region.

Do you know which window triggered it? (r25633 will show the window id in the exception message from now on)

comment:3 in reply to:  2 Changed 9 months ago by stdedos

(..)
So it should not have been possible to use a video encoding for 2x16, unless you somehow forced it with command line options or environment variables?

I am trying to keep my changes in the console and in one configuration file, and as minimal as possible. I am inclining to say no (the changes required here are already complex enough to inadvertently apply them).

(..)
Do you know which window triggered it? (r25633 will show the window id in the exception message from now on)

No, unless things "complain violently", a lot of things go on auto-pilot.
I will have at least one more big session coming up, and I think client betas are already out. Fingers crossed.

Last edited 8 months ago by Antoine Martin (previous) (diff)

comment:4 Changed 8 months ago by Antoine Martin

Milestone: 4.05.0

comment:5 Changed 8 months ago by stdedos

I cannot re-trigger it.

No client or server log is found to contain 'no csc module found' 😕

Found it (see attachment, the spam is SO MUCH)

Last edited 8 months ago by stdedos (previous) (diff)

Changed 8 months ago by stdedos

Attachment: redact-xpra-2604-200.log added

Changed 8 months ago by stdedos

Attachment: csc-2.txt added

comment:6 Changed 8 months ago by stdedos

Owner: changed from stdedos to Antoine Martin

If you are using JetBrains products (Find Action/File/Symbol, toast notifications, hovers e.g. commit message from Annotations) or Sublime Merge, you'll definitely hit this one.

Maybe this is somewhat helpful. From RubyMine:

2020-04-02 10:55:39,180 [   8465]   WARN - openapi.wm.impl.ToolWindowImpl - ToolWindow icons should be 13x13. Please fix ToolWindow (ID:  Problems View) or icon jar:file:~/.local/share/JetBrains/Toolbox/apps/RubyMine/ch-0/201.6251.5/lib/icons.jar!/general/warning.svg 
Last edited 8 months ago by stdedos (previous) (diff)

comment:7 Changed 7 months ago by Antoine Martin

ToolWindow icons should be 13x13

This could be because MS Windows simply cannot create very small non-OR windows. If that's the case, then it won't occur with macos or Linux clients.

This may cause problems with some applications.

  • it's very hard to fix (we would need to detect such a case and lie to the server about the window geometry, then fill the rest of the window with black or white)
  • applications should handle such cases more gracefully (some window managers may choose to use whatever window size they see fit - the request applications send is just that: a request, it may not be honoured)

comment:8 Changed 6 months ago by Antoine Martin

Owner: changed from Antoine Martin to Antoine Martin
Status: newassigned

Also reported elsewhere: #2780

Note: See TracTickets for help on using tickets.