Bug 204174 - x11-servers/xorg-server: Rendering problems after upgrade to 1.17.4
Summary: x11-servers/xorg-server: Rendering problems after upgrade to 1.17.4
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-x11 (Nobody)
Depends on:
Reported: 2015-10-31 04:19 UTC by Grzegorz Blach
Modified: 2015-11-02 13:13 UTC (History)
4 users (show)

See Also:
bugzilla: maintainer-feedback? (x11)

catch error 512 in libdrm (1.82 KB, patch)
2015-11-02 11:46 UTC, Koop Mast
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Grzegorz Blach freebsd_committer 2015-10-31 04:19:57 UTC
When I upgraded xorg-server from 1.17.2 to 1.17.4 I occurred some problems in
several apps, eg:
- in Firefox popup windows aren't rendered
- in Terminology content isn't refreshed

This issue occurs when I'm using Cinnamon Desktop. When I'm using Fluxbox everything is working correctly.

Also When I downgrade xorg-server to 1.17.2 everything is working correctly.
Comment 1 Andriy Voskoboinyk freebsd_committer 2015-11-01 15:03:47 UTC
Have you seen some (EE) lines in Xorg.0.log?
Comment 2 Yanhui Shen 2015-11-02 00:19:45 UTC
I have this issue too. There is only one EE line in Xorg.0.log:

[  1193.099] (EE) intel(0): Failed to submit batch buffer, expect rendering corruption: Unknown error: 512.
Comment 3 Jean-Sébastien Pédron freebsd_committer 2015-11-02 10:20:57 UTC
Hmm, 512 is the code for "ERESTARTSYS". It's an error code internal to DRM in the kernel, it shouldn't leak into userland...

Can other confirm you see this as well? If that's true, that's not a problem with the X.Org server but the kernel.
Comment 4 Andriy Voskoboinyk freebsd_committer 2015-11-02 10:27:52 UTC
(In reply to Yanhui Shen from comment #2)
+1 (reproducible with 1.17.4, no problems with 1.14.7_5) (FreeBSD 11.0-CURRENT r290232 i386, Intel i945GM)
Comment 5 Koop Mast freebsd_committer 2015-11-02 11:46:35 UTC
Created attachment 162700 [details]
catch error 512 in libdrm

Please test the following patch.
Comment 6 Andriy Voskoboinyk freebsd_committer 2015-11-02 12:03:26 UTC
(In reply to Koop Mast from comment #5)
Works for me.
Comment 7 Grzegorz Blach freebsd_committer 2015-11-02 12:07:54 UTC
(In reply to Koop Mast from comment #5)
Attached patch fixes issue on my system.
Comment 8 commit-hook freebsd_committer 2015-11-02 13:12:48 UTC
A commit references this bug:

Author: kwm
Date: Mon Nov  2 13:12:13 UTC 2015
New revision: 400652
URL: https://svnweb.freebsd.org/changeset/ports/400652

  The intel kernel driver leaks error code "512" (ERESTARTSYS) to
  userland. This error code should be converted to EINTR and/or EAGAIN.

  Teach libdrm to handle this error code as a work around, and add a
  override to not apply the patch. Which is done for people doing
  DRM development.

  PR:		204174

Comment 9 Koop Mast freebsd_committer 2015-11-02 13:13:40 UTC
Fix committed, thanks for reporting!