Xorg crashes when it tries to resume a scale transformation after that Screen has been closed. Crashed in __strlen_avx2() from transform_filter_length() from ProcRRGetCrtcTransform()

Bug #1805200 reported by Marco Trevisan (Treviño)
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
xorg-server (Ubuntu)
Fix Released
High
Timo Aaltonen
Disco
Fix Released
High
Timo Aaltonen

Bug Description

Happens in X.Org X Server 2:1.20.3-1ubuntu1, but also previous versions

Very easy to reproduce:
    Start a simple (empty) X server instance (say Xorg :2 vt8)
    Set a scale transformation
        xrandr -d :2 --output eDP-1 --scale 2x2
    Call xrandr again so that the server tries to resume the previous transformation
        xrandr -d :2

I've addressed the issue at https://gitlab.freedesktop.org/xorg/xserver/issues/14 and proposed various fixes for that, but so far no feedback.

Marking it as incoming rls bug as this needs to be addressed as per supporting xrandr scaling support in desktop.

affects: xorg (Ubuntu) → xorg-server (Ubuntu)
summary: Xorg crashes when it tries to resume a scale transformation after that
- Screen has been closed
+ Screen has been closed. Crashed in __strlen_avx2() from
+ transform_filter_length() from ProcRRGetCrtcTransform()
Will Cooke (willcooke)
tags: removed: rls-dd-incoming
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

Since I'm not getting much feedback upstream, it might be worth to fix this in Ubuntu with something like this:

  https://gitlab.freedesktop.org/3v1n0/xserver/commit/a6ad02ea177

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

Another related issue with scaling is https://gitlab.freedesktop.org/xorg/xserver/issues/668

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

This bug was fixed in the package xorg-server - 2:1.20.4-1ubuntu3

---------------
xorg-server (2:1.20.4-1ubuntu3) disco; urgency=medium

  * sync-i965-pciids.diff: Sync with mesa, add support for CML. (LP:
    #1821863)
  * dix-ensure-work-queues-are-cleared-on-reset.diff: Fix a race
    condition that might crash the server.
  * reset-transforms-in-closescreen.diff: Fix a crash when resuming a
    scale transformation after closing the screen. (LP: #1820850, LP: #1805200)

 -- Timo Aaltonen <email address hidden> Wed, 03 Apr 2019 12:03:57 +0300

Changed in xorg-server (Ubuntu Disco):
status: Triaged → Fix Released
tags: added: xrandr-scaling
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.