Bug#846779: xserver-xorg-core: chrome freezes with xorg-server 1.19.0

2017-01-12 Thread Frédéric Brière
On Tue, Dec 13, 2016 at 05:08:15PM +0900, Michel Dänzer wrote:
> Did you not run into that while bisecting?
>
> [...]
> 
> Actually, that one wasn't a complete freeze, DRI2 clients would limp on
> as long as one would e.g. move the mouse. :) That may explain why you
> didn't notice it when bisecting.

For the record, there seems to be something within XFCE which keeps the
X server busy enough to prevent that bug from showing up.  After
launching a bare terminal without any WM, I was indeed able to reproduce
that behavior for f993091.

Mystery solved.  :)



Bug#846779: xserver-xorg-core: chrome freezes with xorg-server 1.19.0

2017-01-12 Thread Frédéric Brière
On Wed, Jan 11, 2017 at 04:50:02PM +0100, Andreas Boll wrote:
> [1] https://patchwork.freedesktop.org/patch/132089/

Yup, this seems to do the trick.  I only tested it briefly, but I could
no longer immediately trigger the bug after applying this patch.  (And
reverting it makes mpv freeze again within a few seconds.)

This worked with 1.19.0 as well as the current head (436da93), so I
guess it could be cherry-picked if no 1.20.0 is forthcoming.

Thanks!



Bug#846779: xserver-xorg-core: chrome freezes with xorg-server 1.19.0

2017-01-11 Thread Andreas Boll
Hi,

could you try this patch [1]?

Thanks,
Andreas

[1] https://patchwork.freedesktop.org/patch/132089/

On Mon, Dec 12, 2016 at 03:28:33PM +0900, Michel Dänzer wrote:
> On 12/12/16 05:39 AM, Frédéric Brière wrote:
> > On Sat, Dec 10, 2016 at 10:07:51PM -0500, Frédéric Brière wrote:
> >> Otherwise, I guess I'll have to muster up the courage to try to bisect
> >> this.  (gulp!)
> > 
> > It wasn't exactly a nice leisurely stroll through the park, but I did
> > manage to bisect and pinpoint f993091 as the guilty commit.
> 
> Thanks for that!
> 
> 
> > At this point, I guess there's not much left to do, apart from filing a
> > bug upstream?  (Oh, great, Bugzilla.  )
> 
> Yeah, that's the logical next step.
> 
> 
> -- 
> Earthling Michel Dänzer   |   http://www.amd.com
> Libre software enthusiast | Mesa and X developer


signature.asc
Description: Digital signature


Bug#846779: xserver-xorg-core: chrome freezes with xorg-server 1.19.0

2016-12-13 Thread Michel Dänzer
On 13/12/16 05:08 PM, Michel Dänzer wrote:
> On 12/12/16 03:28 PM, Michel Dänzer wrote:
>> On 12/12/16 05:39 AM, Frédéric Brière wrote:
>>> On Sat, Dec 10, 2016 at 10:07:51PM -0500, Frédéric Brière wrote:
 Otherwise, I guess I'll have to muster up the courage to try to bisect
 this.  (gulp!)
>>>
>>> It wasn't exactly a nice leisurely stroll through the park, but I did
>>> manage to bisect and pinpoint f993091 as the guilty commit.
>>
>> Thanks for that!
> 
> Actually, this is a curious result of the bisection: I bisected an
> immediate freeze of basically any client using DRI2 (with sync-to-vblank
> enabled) to commit 8f1edf4bd3a1 ("dix: Use list for ready clients"),
> which is immediately before the commit you bisected to. See
> https://bugs.freedesktop.org/show_bug.cgi?id=98030 . Did you not run
> into that while bisecting?

Actually, that one wasn't a complete freeze, DRI2 clients would limp on
as long as one would e.g. move the mouse. :) That may explain why you
didn't notice it when bisecting.


-- 
Earthling Michel Dänzer   |   http://www.amd.com
Libre software enthusiast | Mesa and X developer



Bug#846779: xserver-xorg-core: chrome freezes with xorg-server 1.19.0

2016-12-13 Thread Michel Dänzer
On 12/12/16 03:28 PM, Michel Dänzer wrote:
> On 12/12/16 05:39 AM, Frédéric Brière wrote:
>> On Sat, Dec 10, 2016 at 10:07:51PM -0500, Frédéric Brière wrote:
>>> Otherwise, I guess I'll have to muster up the courage to try to bisect
>>> this.  (gulp!)
>>
>> It wasn't exactly a nice leisurely stroll through the park, but I did
>> manage to bisect and pinpoint f993091 as the guilty commit.
> 
> Thanks for that!

Actually, this is a curious result of the bisection: I bisected an
immediate freeze of basically any client using DRI2 (with sync-to-vblank
enabled) to commit 8f1edf4bd3a1 ("dix: Use list for ready clients"),
which is immediately before the commit you bisected to. See
https://bugs.freedesktop.org/show_bug.cgi?id=98030 . Did you not run
into that while bisecting?


>> At this point, I guess there's not much left to do, apart from filing a
>> bug upstream?  (Oh, great, Bugzilla.  )
> 
> Yeah, that's the logical next step.

FWIW, the issue is likely specific to DRI2 vs DRI3, not EXA vs glamor.


-- 
Earthling Michel Dänzer   |   http://www.amd.com
Libre software enthusiast | Mesa and X developer



Bug#846779: xserver-xorg-core: chrome freezes with xorg-server 1.19.0

2016-12-11 Thread Emilio Pozuelo Monfort
On 12/12/16 07:28, Michel Dänzer wrote:
> On 12/12/16 05:39 AM, Frédéric Brière wrote:
>> On Sat, Dec 10, 2016 at 10:07:51PM -0500, Frédéric Brière wrote:
>>> Otherwise, I guess I'll have to muster up the courage to try to bisect
>>> this.  (gulp!)
>>
>> It wasn't exactly a nice leisurely stroll through the park, but I did
>> manage to bisect and pinpoint f993091 as the guilty commit.
> 
> Thanks for that!
> 
> 
>> At this point, I guess there's not much left to do, apart from filing a
>> bug upstream?  (Oh, great, Bugzilla.  )
> 
> Yeah, that's the logical next step.

Please let us know the URL when you report it upstream.

Emilio



Bug#846779: xserver-xorg-core: chrome freezes with xorg-server 1.19.0

2016-12-11 Thread Michel Dänzer
On 12/12/16 05:39 AM, Frédéric Brière wrote:
> On Sat, Dec 10, 2016 at 10:07:51PM -0500, Frédéric Brière wrote:
>> Otherwise, I guess I'll have to muster up the courage to try to bisect
>> this.  (gulp!)
> 
> It wasn't exactly a nice leisurely stroll through the park, but I did
> manage to bisect and pinpoint f993091 as the guilty commit.

Thanks for that!


> At this point, I guess there's not much left to do, apart from filing a
> bug upstream?  (Oh, great, Bugzilla.  )

Yeah, that's the logical next step.


-- 
Earthling Michel Dänzer   |   http://www.amd.com
Libre software enthusiast | Mesa and X developer



Bug#846779: xserver-xorg-core: chrome freezes with xorg-server 1.19.0

2016-12-11 Thread Frédéric Brière
On Sat, Dec 10, 2016 at 10:07:51PM -0500, Frédéric Brière wrote:
> Otherwise, I guess I'll have to muster up the courage to try to bisect
> this.  (gulp!)

It wasn't exactly a nice leisurely stroll through the park, but I did
manage to bisect and pinpoint f993091 as the guilty commit.

At this point, I guess there's not much left to do, apart from filing a
bug upstream?  (Oh, great, Bugzilla.  )


  commit f993091e7db81b0420e23c485378cba112278839
  Author: Keith Packard 
  Date:   Thu May 26 10:40:44 2016 -0700
  
  os: Switch server to poll(2) [v3]
  
  Eliminates all of the fd_set mangling in the server main thread
  
  v2: Listen for POLLOUT while writes are blocked.
  
  v3: Only mark client not ready on EAGAIN return from read
  
  Signed-off-by: Keith Packard 
  Reviewed-by: Adam Jackson 



Bug#846779: xserver-xorg-core: chrome freezes with xorg-server 1.19.0

2016-12-11 Thread Frédéric Brière
On Sat, Dec 10, 2016 at 10:07:51PM -0500, Frédéric Brière wrote:
>  - Furthermore, I can't seem to reproduce this bug under a different
>user.  Maybe something to do with a different WM/compositor
>configuration?

I take that back; I've finally managed to reproduce this bug under a
different user account, even after deleting almost every dotfile.

>  - Two instances of mpv running in parallel will not freeze at the same
>time (even when playing the same file).

I also kinda take that back; when mass-launching several instances in
parallel, it's frequent to see two of them freeze more or less
simultaneously.  (At least, more frequent than would be statistically
normal.)

>  - By accident, while toggling between 1.18 and 1.19, I once forgot to
>upgrade xserver-xorg-video-radeon.  Since the radeon module was no
>longer loading, the server apparently fell back to using
>modesetting/glamoregl.  Interestingly, I could no longer reproduce
>the bug under this setup.

It's apparently the EXA acceleration that triggers this bug; I can't
seem to reproduce it with Driver=radeon + AccelMethod=glamor.



Bug#846779: xserver-xorg-core: chrome freezes with xorg-server 1.19.0

2016-12-11 Thread Frédéric Brière
On Sun, Dec 11, 2016 at 09:08:25AM +, Gerrit Keller wrote:
> Indeed I can confirm this happening with mpv. Though here it takes only a
> few seconds to freeze.

I've since realized that I could improve the odds by launching several
instances in parallel; at least one of them is bound to freeze soon
enough.  This makes bisecting so much more manageable.

> - mpv itself works fine with "--vo xv".

You're right.  Thanks!



Bug#846779: xserver-xorg-core: chrome freezes with xorg-server 1.19.0

2016-12-11 Thread Gerrit Keller
Frédéric Brière  schrieb am So., 11. Dez. 2016 um
04:07 Uhr:

> I'm experiencing the same thing with mpv; it eventually freezes after a
> while (between 1 and 20 minutes, no obvious pattern) under 1.19.0-2, but
> works fine under 1.18.4-2.  Glad to hear that I'm not alone.  :)


>
(While I only use Chrome occasionally, I did see it freeze today, which
> I don't recall ever happening before.  I guess this is indeed the same
> bug.)
>
> I'm attaching the output of the bug script, in case someone can spot any
> similarity between our two setups.  Otherwise, I guess I'll have to
> muster up the courage to try to bisect this.  (gulp!)
>
> Here are some additional observations:
>
>  - While mpv inevitably freezes, mplayer and vlc seem to work fine.
>There seems to be something application-specific to this.
>
>
Indeed I can confirm this happening with mpv. Though here it takes only a
few seconds to freeze. Further investigating this seems to be related to
opengl output:

- mplayer works fine here using default settings, but with "-vo gl" I
encounter the same problem as with mpv.

- mpv itself works fine with "--vo xv".

- (VLC seems to work fine using any output module)

- Chrome does not freeze with "--disable-gpu"


Regards,
Gerrit


Bug#846779: xserver-xorg-core: chrome freezes with xorg-server 1.19.0

2016-12-10 Thread Frédéric Brière
On Sat, Dec 03, 2016 at 11:33:30AM +0100, Gerrit Keller wrote:
> after upgrading to version 1.19.0-(1,2) chromium/google-chrome freezes after a
> short time.

I'm experiencing the same thing with mpv; it eventually freezes after a
while (between 1 and 20 minutes, no obvious pattern) under 1.19.0-2, but
works fine under 1.18.4-2.  Glad to hear that I'm not alone.  :)

(While I only use Chrome occasionally, I did see it freeze today, which
I don't recall ever happening before.  I guess this is indeed the same
bug.)
 
I'm attaching the output of the bug script, in case someone can spot any
similarity between our two setups.  Otherwise, I guess I'll have to
muster up the courage to try to bisect this.  (gulp!)

Here are some additional observations:

 - While mpv inevitably freezes, mplayer and vlc seem to work fine.
   There seems to be something application-specific to this.

 - Furthermore, I can't seem to reproduce this bug under a different
   user.  Maybe something to do with a different WM/compositor
   configuration?
 
 - Two instances of mpv running in parallel will not freeze at the same
   time (even when playing the same file).
 
 - Disclaimer: I'm usually running two X servers at the same time.
   (Just in case this matters.)
 
 - By accident, while toggling between 1.18 and 1.19, I once forgot to
   upgrade xserver-xorg-video-radeon.  Since the radeon module was no
   longer loading, the server apparently fell back to using
   modesetting/glamoregl.  Interestingly, I could no longer reproduce
   the bug under this setup.  (I initially thought this could point to a
   bug within the radeon driver, but since you're seeing the same thing
   with nouveau...)
 

X server symlink status:

lrwxrwxrwx 1 root root 13 Dec 21  2010 /etc/X11/X -> /usr/bin/Xorg
-rwxr-xr-x 1 root root 274 Nov 23 13:32 /usr/bin/Xorg

VGA-compatible devices on PCI bus:
--
01:05.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. 
[AMD/ATI] RS880 [Radeon HD 4250] [1002:9715]

/etc/X11/xorg.conf does not exist.

Contents of /etc/X11/xorg.conf.d:
-
total 4
-rw-r--r-- 1 root root 57 Sep  6  2015 debug.conf

KMS configuration files:

/etc/modprobe.d/radeon-kms.conf:
  options radeon modeset=1

Kernel version (/proc/version):
---
Linux version 4.8.0-2-amd64 (debian-ker...@lists.debian.org) (gcc version 5.4.1 
20161019 (Debian 5.4.1-3) ) #1 SMP Debian 4.8.11-1 (2016-12-02)

Xorg X server log files on system:
--
-rw-r--r-- 1 fbriere fbriere 26405 Feb 19  2016 
/home/fbriere/.local/share/xorg/Xorg.2.log
-rw-r--r-- 1 rootroot47074 Nov  4 09:16 /var/log/Xorg.2.log
-rw-r--r-- 1 rootroot77163 Dec  9 21:48 /var/log/Xorg.3.log
-rw-r--r-- 1 rootroot91010 Dec  9 22:18 /var/log/Xorg.1.log
-rw-r--r-- 1 rootroot79462 Dec  9 22:18 /var/log/Xorg.0.log

Contents of most recent Xorg X server log file (/var/log/Xorg.0.log):
-
[54.800] 
X.Org X Server 1.19.0
Release Date: 2016-11-15
[54.800] X Protocol Version 11, Revision 0
[54.800] Build Operating System: Linux 3.16.0-4-amd64 x86_64 Debian
[54.800] Current Operating System: Linux fabul 4.8.0-2-amd64 #1 SMP Debian 
4.8.11-1 (2016-12-02) x86_64
[54.800] Kernel command line: BOOT_IMAGE=/vmlinuz-4.8.0-2-amd64 
root=/dev/mapper/root ro single vsyscall=emulate
[54.801] Build Date: 23 November 2016  07:20:23PM
[54.801] xorg-server 2:1.19.0-2 (https://www.debian.org/support) 
[54.801] Current version of pixman: 0.34.0
[54.801]Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[54.801] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[54.801] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Dec  9 20:39:36 
2016
[54.801] (==) Using config directory: "/etc/X11/xorg.conf.d"
[54.801] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[54.801] (==) No Layout section.  Using the first Screen section.
[54.801] (==) No screen section available. Using defaults.
[54.801] (**) |-->Screen "Default Screen Section" (0)
[54.801] (**) |   |-->Monitor ""
[54.801] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[54.801] (**) Option "NoTrapSignals"
[54.801] (==) Automatically adding devices
[54.801] (==) Automatically enabling devices
[54.801] (==) Automatically adding GPU devices
[54.801] (==) Max clients allowed: 256, resource mask: 0x1f
[54.801] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[54.801]Entry deleted from font path.
[54.801

Bug#846779: xserver-xorg-core: chrome freezes with xorg-server 1.19.0

2016-12-03 Thread Gerrit Keller
Package: xserver-xorg-core
Version: 2:1.19.0-2
Severity: normal

Hi,

after upgrading to version 1.19.0-(1,2) chromium/google-chrome freezes after a
short time.

Version 1.18.4-2 (xserver-xorg-core, xserver-common) works fine here and
downgrading makes the problem disappear.
[plus xserver-xorg-video-nouveau 1.0.13-1, xserver-xorg-input-libinput 0.22.0-1
to satisfy abi dependencies]


Regards,
Gerrit



-- Package-specific info:
/etc/X11/X does not exist.
/etc/X11/X is not a symlink.
/etc/X11/X is not executable.

Diversions concerning libGL are in place

diversion of /usr/lib/arm-linux-gnueabihf/libGL.so.1.2.0 to 
/usr/lib/mesa-diverted/arm-linux-gnueabihf/libGL.so.1.2.0 by glx-diversions
diversion of /usr/lib/libGL.so.1 to /usr/lib/mesa-diverted/libGL.so.1 by 
glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0 to 
/usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv2.so.2.0.0 by glx-diversions
diversion of /usr/lib/libGLESv2.so.2 to /usr/lib/mesa-diverted/libGLESv2.so.2 
by glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGL.so to 
/usr/lib/mesa-diverted/arm-linux-gnueabihf/libGL.so by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1.1.0 to 
/usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv1_CM.so.1.1.0 by glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so to 
/usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv1_CM.so by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGLESv2.so.2 to 
/usr/lib/mesa-diverted/i386-linux-gnu/libGLESv2.so.2 by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGLESv2.so.2 to 
/usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv2.so.2 by glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGL.so.1.2 to 
/usr/lib/mesa-diverted/arm-linux-gnueabihf/libGL.so.1.2 by glx-diversions
diversion of /usr/lib/libGLESv1_CM.so.1.1.0 to 
/usr/lib/mesa-diverted/libGLESv1_CM.so.1.1.0 by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGLESv1_CM.so.1 to 
/usr/lib/mesa-diverted/i386-linux-gnu/libGLESv1_CM.so.1 by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so to 
/usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv1_CM.so by glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1.1.0 to 
/usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv1_CM.so.1.1.0 by 
glx-diversions
diversion of /usr/lib/libGL.so.1.2.0 to /usr/lib/mesa-diverted/libGL.so.1.2.0 
by glx-diversions
diversion of /usr/lib/libGLESv2.so to /usr/lib/mesa-diverted/libGLESv2.so by 
glx-diversions
diversion of /usr/lib/libGL.so.1.2 to /usr/lib/mesa-diverted/libGL.so.1.2 by 
glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGLESv1_CM.so.1.1.0 to 
/usr/lib/mesa-diverted/i386-linux-gnu/libGLESv1_CM.so.1.1.0 by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0 to 
/usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1.2.0 by glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGLESv2.so to 
/usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv2.so by glx-diversions
diversion of /usr/lib/libGL.so to /usr/lib/mesa-diverted/libGL.so by 
glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2 to 
/usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv2.so.2 by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1.2 to 
/usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1.2 by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGLESv2.so to 
/usr/lib/mesa-diverted/i386-linux-gnu/libGLESv2.so by glx-diversions
diversion of /usr/lib/libGLESv1_CM.so to /usr/lib/mesa-diverted/libGLESv1_CM.so 
by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGL.so.1.2.0 to 
/usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1.2.0 by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGL.so to 
/usr/lib/mesa-diverted/i386-linux-gnu/libGL.so by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to 
/usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1 by glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGL.so.1 to 
/usr/lib/mesa-diverted/arm-linux-gnueabihf/libGL.so.1 by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGLESv2.so.2.0.0 to 
/usr/lib/mesa-diverted/i386-linux-gnu/libGLESv2.so.2.0.0 by glx-diversions
diversion of /usr/lib/libGLESv1_CM.so.1 to 
/usr/lib/mesa-diverted/libGLESv1_CM.so.1 by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGL.so to 
/usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGLESv2.so.2.0.0 to 
/usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv2.so.2.0.0 by glx-diversions
diversion of /usr/lib/i386-linux-gnu/libGLESv1_CM.so to 
/usr/lib/mesa-diverted/i386-linux-gnu/libGLESv1_CM.so by glx-diversions
diversion of /usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1 to 
/usr/lib/mesa-diverted/arm-linux-gnueabihf/libGLESv1_CM.so.1 by glx-diversions
diversion of /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1 to 
/usr/lib/mesa-diver