Bug 92784 - Xorg gets SEGV (in pixman) for writing screen data cross the mapped memory border
Summary: Xorg gets SEGV (in pixman) for writing screen data cross the mapped memory bo...
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium blocker
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-11-02 23:26 UTC by post
Modified: 2015-11-03 14:11 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
GDB Session log (37.74 KB, text/plain)
2015-11-02 23:26 UTC, post
no flags Details
Xorg.log (35.80 KB, text/plain)
2015-11-02 23:27 UTC, post
no flags Details
GDB session log (Default case) (37.57 KB, text/plain)
2015-11-02 23:27 UTC, post
no flags Details
Xorg.log (Default case) (35.80 KB, text/plain)
2015-11-02 23:28 UTC, post
no flags Details
config.log for xf86-video-ati (FYI) (68.59 KB, text/plain)
2015-11-03 14:06 UTC, post
no flags Details
config.log for xserver (FYI) (282.03 KB, text/plain)
2015-11-03 14:07 UTC, post
no flags Details

Description post 2015-11-02 23:26:37 UTC
Created attachment 119363 [details]
GDB Session log

I'm trying to run Xorg with radeon driver. Whereas my (old) distribution's Xorg version doesn't talk to the (updated) kernel's Xorg version, the xserver 1.17.3 does.

But following problem exists:
At every start xserver 1.17.3 crashes.


Following versions of libs/programs are in use:
* llvm: 3.5.2
* pixman-1: HEAD (0.33.5)

* randrproto: HEAD (1.5.0)
* glproto: HEAD (1.4.17)
* libxtrans: HEAD (1.3.5)
* x11proto: HEAD (FEHLER: wohl doch nicht)
* fontsproto: HEAD (2.1.3)
* xextproto: HEAD (7.3.0)
* inputproto: HEAD (2.3.1)
* presentproto: HEAD (1.0)

* libdrm: HEAD (2.4.65)

* xproto: HEAD (7.0.28)

* mesa: HEAD (11.1.0-devel)

* xserver: 1.17.3   [But crashes also in HEAD=1.17.99.902.]

* glamor: HEAD (glamor-egl 0.6.0)

* xf86-video-ati HEAD ()
* xf86-video-fbdev HEAD ()
* xf86-video-vesa HEAD ()
* xf86-video-intel HEAD ()

* xf86-input-mouse HEAD ()
* xf86-input-keyboard HEAD ()




The problem is that Xorg tries to write whole screen data (1280x1024 or 2560x1024) to a Pixmap which hasn't been allocated for so much data (I guess for 16x16).

I couldn't figure out why as my time is finite.

I attach a gdb log and the Xorg.log for two cases: one in which I modified dix/gc.c:CreateDefaultStipple() in order to reserve a larger memory area ("big-alloc") and one in which this piece of source remained unmodified ("default-alloc").


I did not check it with other drivers, only with radeon.

The problem is independent of whether AIGLX loads or not.
Comment 1 post 2015-11-02 23:27:23 UTC
Created attachment 119364 [details]
Xorg.log
Comment 2 post 2015-11-02 23:27:41 UTC
Created attachment 119365 [details]
GDB session log (Default case)
Comment 3 post 2015-11-02 23:28:47 UTC
Created attachment 119366 [details]
Xorg.log (Default case)
Comment 4 post 2015-11-03 06:06:22 UTC
All packages (libraries/programs) not mentioned here are installed by my (old) Linux distribution.
Comment 5 Michel Dänzer 2015-11-03 08:03:45 UTC
It looks like xorg-server.h didn't define DRI2 when building xf86-video-ati. Please provide the config.log files from xserver and xf86-video-ati.
Comment 6 post 2015-11-03 14:05:22 UTC
Thanks! The error has gone.

I have additionally compiled dri2proto and xf86-input-evdev and libevdev from git. I get xclock and a hand-started xfce4-session (with which I'm writing this message :-)  ), so this bug isn't a bug for me any more.

There are things not working so far (AIGLX hardware driver and login manager and multihead), but I guess this belongs not here.

For your information I do post the requested logs anyway.
Comment 7 post 2015-11-03 14:06:24 UTC
Created attachment 119380 [details]
config.log for xf86-video-ati (FYI)
Comment 8 post 2015-11-03 14:07:16 UTC
Created attachment 119381 [details]
config.log for xserver (FYI)
Comment 9 post 2015-11-03 14:11:02 UTC
(But one last comment: I set the status to "FIXED" because I don't know to which status to set. Maybe I should have been warned about non-existing dri2?)


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.