X server crashes when screensaver activates.

Brian Parma freecode at cox.net
Thu Apr 21 19:28:50 PDT 2011


I've had this problem for a while, and I've finally got motivated enough 
to sub to the mailing list and post about it.

I have some mobile computers that are running Ubuntu (one is 10.04, one 
is 10.10).  In both cases, if the 'Activate screensaver when computer is 
idle' option is enabled in Screensaver Preferences, as soon as it 
activates the X server crashes.  The selected screensaver makes no 
difference (it's usually on 'blank screen').

The device is (from lspci -vvvv):
01:00.0 VGA compatible controller: S3 Inc. 86C380 [ProSavageDDR K4M266] 
(rev 02) (prog-if 00 [VGA controller])
     Subsystem: S3 Inc. 86C380 [ProSavageDDR K4M266]
     Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B- DisINTx-
     Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR- INTx-
     Latency: 64 (1000ns min, 63750ns max), Cache Line Size: 32 bytes
     Interrupt: pin A routed to IRQ 11
     Region 0: Memory at e8100000 (32-bit, non-prefetchable) [size=512K]
     Region 1: Memory at f0000000 (32-bit, prefetchable) [size=128M]
     [virtual] Expansion ROM at e8180000 [disabled] [size=64K]
     Capabilities: [dc] Power Management version 2
         Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
         Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
     Capabilities: [80] AGP version 2.0
         Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA- ITACoh- GART64- HTrans- 
64bit- FW- AGP3- Rate=x4
         Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=x4
     Kernel modules: savagefb



And a backtrace from the crash is:
#0  0x00465416 in __kernel_vsyscall ()
No symbol table info available.
#1  0x004f6941 in raise (sig=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:64
         resultvar = <value optimized out>
         pid = 6442996
         selftid = 791
#2  0x004f9e42 in abort () at abort.c:92
         act = {__sigaction_handler = {sa_handler = 0, sa_sigaction = 
0}, sa_mask = {__val = {0 <repeats 32 times>}},
           sa_flags = 0, sa_restorer = 0}
         sigs = {__val = {32, 0 <repeats 31 times>}}
#3  0x004ef8e8 in __assert_fail (assertion=0xaaec4b "key->initialized", 
file=0xaaec2e "/usr/include/xorg/privates.h", line=122,
     function=0xab0170 "dixGetPrivateAddr") at assert.c:81
         buf = 0x87ab948 "X: /usr/include/xorg/privates.h:122: 
dixGetPrivateAddr: Assertion `key->initialized' failed.\n"
#4  0x00aa3301 in dixGetPrivateAddr (pScrn=<value optimized out>, 
r=<value optimized out>, g=0, b=0)
     at /usr/include/xorg/privates.h:122
No locals.
#5  dixGetPrivate (pScrn=<value optimized out>, r=<value optimized out>, 
g=0, b=0) at /usr/include/xorg/privates.h:137
No locals.
#6  dixLookupPrivate (pScrn=<value optimized out>, r=<value optimized 
out>, g=0, b=0) at /usr/include/xorg/privates.h:167
No locals.
#7  SavageUpdateKey (pScrn=<value optimized out>, r=<value optimized 
out>, g=0, b=0) at ../../src/savage_driver.c:4275
         pScreen = 0x6
         key = <value optimized out>
         ul = 1
         ol = 0
#8  0x080c76dd in CMapRefreshColors (pmap=<value optimized out>, 
defs=<value optimized out>, indices=0x84f1c60)
     at ../../../../hw/xfree86/common/xf86cmap.c:669
         pVisual = <value optimized out>
         pScrn = 0x84ead38
         numColors = 32
         i = <value optimized out>
         gamma = <value optimized out>
         colors = 0x84f20b8
         entry = <value optimized out>
         reds = 64
         greens = 32
         blues = 31
         maxValue = 63
         index = <value optimized out>
         shift = 65536
#9  0x080c7e9b in CMapReinstallMap (pmap=0x0) at 
../../../../hw/xfree86/common/xf86cmap.c:542
         pScrn = 0x84ead38
         i = <value optimized out>
         indices = 0x84f1c60
#10 0x080c93a6 in xf86ChangeGammaRamp (pScreen=0x84ee3f8, size=64, 
red=0x8763cc0, green=0x8763d40, blue=0x8763dc0)
     at ../../../../hw/xfree86/common/xf86cmap.c:1081
         pMap = 0x852dba0
         pScrn = <value optimized out>
         pLink = <value optimized out>
#11 0x0819a89c in VidModeSetGammaRamp (scrnIndex=0, size=64, 
r=0x8763cc0, g=0x8763d40, b=0x8763dc0)
     at ../../../../hw/xfree86/common/xf86VidMode.c:504
No locals.
#12 0x001dab0d in ProcXF86VidModeSetGammaRamp (client=<value optimized out>)
     at ../../../../../hw/xfree86/dixmods/extmod/xf86vmode.c:1531
         r = <value optimized out>
         g = 0x6
         length = <value optimized out>
         stuff = 0x8763cb8
#13 0x0806eee7 in Dispatch () at ../../dix/dispatch.c:432
         result = <value optimized out>
         client = 0x8762a50
         nready = 0
         start_tick = 16360
#14 0x080625da in main (argc=9, argv=0xbfe52e04, envp=0xbfe52e2c) at 
../../dix/main.c:291
         i = 1
         alwaysCheckForInput = {0, 1}





Is there any workarounds? (besides disabling screensaver)


B



More information about the xorg mailing list