Bug 18953

Summary: randr crashes server
Product: Mesa Reporter: Danny <moondrake>
Component: Drivers/DRI/r300Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: haveaniceday
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Danny 2008-12-08 07:58:10 UTC
calling xrandr to switch resolutions has a pretty high chance of crashing the server. This is on a thinkpad T60 with a X1400 (R500). I get this backtrace:

Backtrace:
0: /etc/X11/X(xorg_backtrace+0x37) [0x8132bb7]
1: /etc/X11/X(xf86SigHandler+0x56) [0x80caff6]
2: [0xffffe400]
3: /usr/lib/xorg/modules/extensions//libglx.so [0xb7eef629]
4: /usr/lib/dri/r300_dri.so(__driUtilUpdateDrawableInfo+0xc1) [0xad968e81]
5: /usr/lib/dri/r300_dri.so(radeonGetLock+0x75) [0xad96f3e5]
6: /usr/lib/dri/r300_dri.so(r300FlushCmdBuf+0xc0) [0xad97ae80]
7: /usr/lib/dri/r300_dri.so(r300DestroyContext+0x423) [0xad974d33]
8: /usr/lib/dri/r300_dri.so [0xad96c918]
9: /usr/lib/dri/r300_dri.so [0xad968d37]
10: /usr/lib/xorg/modules/extensions//libglx.so [0xb7ef1309]

Fatal server error:
Caught signal 11.  Server aborting

It only seems to happen when using AIGLX (using kde 4.1.3). Other people with same bug here:
https://bugs.launchpad.net/xorg-server/+bug/273505

ati driver and mesa are from git, xserver is 1.5.3

danny
Comment 1 Adam Jackson 2009-08-24 12:31:13 UTC
Mass version move, cvs -> git
Comment 2 Maciej Cencora 2009-11-18 14:03:38 UTC
Can you reproduce the bug with newer mesa,xf86-video-ati and xserver?
Comment 3 Christian Volkmann 2011-09-11 02:38:33 UTC
May be I can reproduce this bug on a openSUSE:

<https://bugzilla.novell.com/show_bug.cgi?id=716220>

It looks for me that xrandr does not resize the "system buffer" (exa_migration_mixed.c)

> I have doubled the allocated memory at exa_migration_mixed.c line 205 for a
> test.
> The crash is gone. There are now copy of the images (shown by display) on 
> the other screen. 
> => The problems are more complex than missing increased buffers.

       /* Do we need to allocate our system buffer? */
        if (!pExaPixmap->sys_ptr) {
        pExaPixmap->sys_ptr = malloc(pExaPixmap->sys_pitch *
                                         pPixmap->drawable.height);
            if (!pExaPixmap->sys_ptr)
                FatalError("EXA: malloc failed for size %d bytes\n",
                           pExaPixmap->sys_pitch * pPixmap->drawable.height);
}

valgrind ( as root ) with the x-server showed a write after the buffer
"pExaPixmap->sys_ptr".
 But may be mine is a different error ?
Comment 4 Michel Dänzer 2011-09-12 01:36:29 UTC
(In reply to comment #3)
> But may be mine is a different error ?

It most definitely is. If you can still reproduce your problem with current upstream versions of xserver (1.11) and xf86-video-ati (6.14.2), please file your own bug.
Comment 5 Christian Volkmann 2011-09-12 12:31:38 UTC
xorg-x11-server-7.6_1.10.4-166.2.x86_64 of the opensuse repositories
solves my problem. So I xpect the newest server does not fall back to the old problem.
Thanks for the hint.
Comment 6 Danny 2012-12-29 11:50:31 UTC
I am going to close the bug. I am not sure it is really fixed, but I no longer have this hardware, and nobody else confirmed this problem.

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.