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