Public bug reported:

Distro: Ubuntu Feisty (x86_64)
Hardware: Athlon 64 X2 processor, Radeon Xpress 200 integrated graphics, ECS 
RS485M-M motherboard
Using the open-source "radeon" Xorg driver:

01:05.0 VGA compatible controller: ATI Technologies Inc RS482 [Radeon Xpress 
200] (prog-if 00 [VGA])
        Subsystem: Elitegroup Computer Systems Unknown device 2140
        Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 5
        Memory at f8000000 (32-bit, prefetchable) [size=64M]
        I/O ports at ee00 [size=256]
        Memory at fdef0000 (32-bit, non-prefetchable) [size=64K]
        [virtual] Expansion ROM at fde00000 [disabled] [size=128K]
        Capabilities: [50] Power Management version 2


I have recently gotten suspend to work on my desktop computer, via 
acpi-support, by setting a few parameters in /etc/default/acpi-support 
appropriately (and by a slight modification to the 
/etc/acpi/suspend.d/80-video-vesa-state.sh script, see this bug: 
https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/128323).

If I invoke /etc/acpi/sleep.sh directly via the command line, the
computer goes into suspend mode, and when I press the power button it
comes back up completely correctly.  The X server log reports the
following:

(**) RADEON(0):   Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00000006 0x00000062 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=98, pd=0
(**) RADEON(0): GRPH_BUFFER_CNTL from 20004c4c to 20407c7c
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): RADEONSaveScreen(2)
(II) Configured Mouse: ps2EnableDataReporting: succeeded
(**) RADEON(0): RADEONLeaveVT         # here's the point where I suspend and 
restore
(**) RADEON(0): RADEONRestore
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMode(0x7de498)
(**) RADEON(0): RADEONRestoreMemMapRegisters() : 
(**) RADEON(0):   MC_FB_LOCATION   : 0x3fff3e00
(**) RADEON(0):   MC_AGP_LOCATION  : 0x003f0000
(**) RADEON(0):   Map Changed ! Applying ...
(**) RADEON(0):   Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00180006 0x0003005f 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=95, pd=3
(**) RADEON(0): Ok, leaving now...
(II) Open ACPI successful (/var/run/acpid.socket)
(**) RADEON(0): RADEONEnterVT
(**) RADEON(0): RADEONModeInit()
1920x1440     234.00  1920 2048 2256 2600  1440 1441 1444 1500 (24,32) -H +V
1920x1440     234.00  1920 2048 2256 2600  1440 1441 1444 1500 (24,32) -H +V
(**) RADEON(0): Pitch = 15728880 bytes (virtualX = 1920, displayWidth = 1920)
(**) RADEON(0): dc=23400, of=23400, fd=98, pd=1
(**) RADEON(0): RADEONInit returns 0x7dee48
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMode(0x7dee48)
(**) RADEON(0): RADEONRestoreMemMapRegisters() : 
(**) RADEON(0):   MC_FB_LOCATION   : 0x3fff3e00
(**) RADEON(0):   MC_AGP_LOCATION  : 0xffffffc0
(**) RADEON(0):   Map Changed ! Applying ...
(**) RADEON(0):   Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00000006 0x00000062 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=98, pd=0
(**) RADEON(0): GRPH_BUFFER_CNTL from 20004c4c to 20407c7c
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): RADEONSaveScreen(2)
(II) Configured Mouse: ps2EnableDataReporting: succeeded
(**) RADEON(0): RADEONLeaveVT
(**) RADEON(0): RADEONRestore
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMode(0x7de498)
(**) RADEON(0): RADEONRestoreMemMapRegisters() : 
(**) RADEON(0):   MC_FB_LOCATION   : 0x3fff3e00
(**) RADEON(0):   MC_AGP_LOCATION  : 0x003f0000
(**) RADEON(0):   Map Changed ! Applying ...
(**) RADEON(0):   Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00180006 0x0003005f 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=95, pd=3
(**) RADEON(0): Ok, leaving now...
(II) Open ACPI successful (/var/run/acpid.socket)
(**) RADEON(0): RADEONEnterVT
(**) RADEON(0): RADEONModeInit()
1920x1440     234.00  1920 2048 2256 2600  1440 1441 1444 1500 (24,32) -H +V
1920x1440     234.00  1920 2048 2256 2600  1440 1441 1444 1500 (24,32) -H +V
(**) RADEON(0): Pitch = 15728880 bytes (virtualX = 1920, displayWidth = 1920)
(**) RADEON(0): dc=23400, of=23400, fd=98, pd=1
(**) RADEON(0): RADEONInit returns 0x7dee48
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMode(0x7dee48)
(**) RADEON(0): RADEONRestoreMemMapRegisters() : 
(**) RADEON(0):   MC_FB_LOCATION   : 0x3fff3e00
(**) RADEON(0):   MC_AGP_LOCATION  : 0xffffffc0
(**) RADEON(0):   Map Changed ! Applying ...
(**) RADEON(0):   Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00000006 0x00000062 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=98, pd=0
(**) RADEON(0): GRPH_BUFFER_CNTL from 20004c4c to 20407c7c
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): RADEONSaveScreen(2)
(II) Configured Mouse: ps2EnableDataReporting: succeeded
(II) 3rd Button detected: disabling emulate3Button

However, if I choose the "Suspend" option from GNOME's System | Quit
menu, the suspend and restore *does not* work correctly: the X server
crashes after restoring, so I lose my GNOME session and must log back
in.  As I understand it, GNOME invokes the suspend function via HAL,
which runs the script /usr/lib/hal/scripts/linux/hal-system-power-
suspend-linux.  This script in turn invokes /etc/acpi/sleep.sh (since I
do not have powersave, pm-suspend, or hibernate installed).

When I invoke Suspend via the menu, and restore, the X server crashes
and GDM immediately restarts it from the login screen.  I get the
following in the Xorg log:

(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00000006 0x00000062 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=98, pd=0
(**) RADEON(0): GRPH_BUFFER_CNTL from 20004c4c to 20407c7c
(**) RADEON(0): RADEONSaveScreen(0)
(**) RADEON(0): Setting up initial surfaces
(**) RADEON(0): Initializing fb layer
(**) RADEON(0): Setting up accel memmap
(**) RADEON(0): Initializing backing store
(**) RADEON(0): Setting up final surfaces
(**) RADEON(0): Initializing Acceleration
(**) RADEON(0): EngineInit (32/32)
(**) RADEON(0): Pitch for acceleration = 240
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): Initializing DPMS
(**) RADEON(0): Initializing Cursor
(**) RADEON(0): Initializing color map
(**) RADEON(0): Initializing DGA
(**) RADEON(0): Initializing Xv
(**) RADEON(0): RADEONScreenInit finished
(EE) AIGLX: Screen 0 is not DRI capable
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
>                   Ignoring extra symbols
Errors from xkbcomp are not fatal to the X server
(EE) xf86OpenSerial: Cannot open device /dev/input/wacom
        No such file or directory.
Error opening /dev/input/wacom : Success
(EE) xf86OpenSerial: Cannot open device /dev/input/wacom
        No such file or directory.
Error opening /dev/input/wacom : Success
(EE) xf86OpenSerial: Cannot open device /dev/input/wacom
        No such file or directory.
Error opening /dev/input/wacom : Success
Could not init font path element /usr/X11R6/lib/X11/fonts/misc, removing from 
list!
Could not init font path element /usr/share/fonts/X11/cyrillic, removing from 
list!
Could not init font path element /usr/X11R6/lib/X11/fonts/Type1, removing from 
list!
(**) RADEON(0): RADEONSaveScreen(2)
AUDIT: Thu Jul 26 10:52:35 2007: 21896 X: client 2 rejected from local host 
(uid 1000)
AUDIT: Thu Jul 26 10:52:35 2007: 21896 X: client 3 rejected from local host 
(uid 1000)
(**) RADEON(0): RADEONLeaveVT
(**) RADEON(0): RADEONRestore
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMode(0x7de498)
(**) RADEON(0): RADEONRestoreMemMapRegisters() : 
(**) RADEON(0):   MC_FB_LOCATION   : 0x3fff3e00
(**) RADEON(0):   MC_AGP_LOCATION  : 0x003f0000
(**) RADEON(0):   Map Changed ! Applying ...
(**) RADEON(0):   Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00180006 0x0003005f 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=95, pd=3
(**) RADEON(0): Ok, leaving now...
(**) RADEON(0): RADEONEnterVT
(**) RADEON(0): RADEONModeInit()
1920x1440     234.00  1920 2048 2256 2600  1440 1441 1444 1500 (24,32) -H +V
1920x1440     234.00  1920 2048 2256 2600  1440 1441 1444 1500 (24,32) -H +V
(**) RADEON(0): Pitch = 15728880 bytes (virtualX = 1920, displayWidth = 1920)
(**) RADEON(0): dc=23400, of=23400, fd=98, pd=1
(**) RADEON(0): RADEONInit returns 0x7dee48
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMode(0x7dee48)
(**) RADEON(0): RADEONRestoreMemMapRegisters() : 
(**) RADEON(0):   MC_FB_LOCATION   : 0x3fff3e00
(**) RADEON(0):   MC_AGP_LOCATION  : 0xffffffc0
(**) RADEON(0):   Map Changed ! Applying ...
(**) RADEON(0):   Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00000006 0x00000062 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=98, pd=0
(**) RADEON(0): GRPH_BUFFER_CNTL from 20004c4c to 20407c7c
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): RADEONSaveScreen(2)
SetGrabKeysState - disabled
(**) RADEON(0): RADEONLeaveVT
(**) RADEON(0): RADEONRestore
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMode(0x7de498)
(**) RADEON(0): RADEONRestoreMemMapRegisters() : 
(**) RADEON(0):   MC_FB_LOCATION   : 0x3fff3e00
(**) RADEON(0):   MC_AGP_LOCATION  : 0x003f0000
(**) RADEON(0):   Map Changed ! Applying ...
(**) RADEON(0):   Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00180006 0x0003005f 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=95, pd=3
(**) RADEON(0): Ok, leaving now...
(**) RADEON(0): RADEONEnterVT
(**) RADEON(0): RADEONModeInit()
1920x1440     234.00  1920 2048 2256 2600  1440 1441 1444 1500 (24,32) -H +V
1920x1440     234.00  1920 2048 2256 2600  1440 1441 1444 1500 (24,32) -H +V
(**) RADEON(0): Pitch = 15728880 bytes (virtualX = 1920, displayWidth = 1920)
(**) RADEON(0): dc=23400, of=23400, fd=98, pd=1
(**) RADEON(0): RADEONInit returns 0x7dee48
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMode(0x7dee48)
(**) RADEON(0): RADEONRestoreMemMapRegisters() : 
(**) RADEON(0):   MC_FB_LOCATION   : 0x3fff3e00
(**) RADEON(0):   MC_AGP_LOCATION  : 0xffffffc0
(**) RADEON(0):   Map Changed ! Applying ...
(**) RADEON(0):   Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00000006 0x00000062 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=98, pd=0
(**) RADEON(0): GRPH_BUFFER_CNTL from 20004c4c to 20407c7c
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): RADEONSaveScreen(2)
SetGrabKeysState - disabled
(**) RADEON(0): RADEONLeaveVT
(**) RADEON(0): RADEONRestore
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMode(0x7de498)
(**) RADEON(0): RADEONRestoreMemMapRegisters() : 
(**) RADEON(0):   MC_FB_LOCATION   : 0x3fff3e00
(**) RADEON(0):   MC_AGP_LOCATION  : 0x003f0000
(**) RADEON(0):   Map Changed ! Applying ...
(**) RADEON(0):   Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00180006 0x0003005f 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=95, pd=3
(**) RADEON(0): Ok, leaving now...
(**) RADEON(0): RADEONEnterVT
(**) RADEON(0): RADEONModeInit()
1920x1440     234.00  1920 2048 2256 2600  1440 1441 1444 1500 (24,32) -H +V
1920x1440     234.00  1920 2048 2256 2600  1440 1441 1444 1500 (24,32) -H +V
(**) RADEON(0): Pitch = 15728880 bytes (virtualX = 1920, displayWidth = 1920)
(**) RADEON(0): dc=23400, of=23400, fd=98, pd=1
(**) RADEON(0): RADEONInit returns 0x7dee48
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMode(0x7dee48)
(**) RADEON(0): RADEONRestoreMemMapRegisters() : 
(**) RADEON(0):   MC_FB_LOCATION   : 0x3fff3e00
(**) RADEON(0):   MC_AGP_LOCATION  : 0xffffffc0
(**) RADEON(0):   Map Changed ! Applying ...
(**) RADEON(0):   Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00000006 0x00000062 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=98, pd=0
(**) RADEON(0): GRPH_BUFFER_CNTL from 20004c4c to 20407c7c
(**) RADEON(0): EngineRestore (32/32)

Backtrace:
0: /usr/X11R6/bin/X(xf86SigHandler+0x6d) [0x48282d]
1: /lib/libc.so.6 [0x2b2c98f3bd40]
2: 
/usr/lib/xorg/modules/extensions//libGLcore.so(xmesa_check_and_update_buffer_size+0xc)
 [0x2b2c9e6ba63c]
3: /usr/lib/xorg/modules/extensions//libGLcore.so [0x2b2c9e6b9b3d]
4: /usr/lib/xorg/modules/extensions//libglx.so [0x2b2c9a620d6b]
5: /usr/X11R6/bin/X(ResizeChildrenWinSize+0x168) [0x43cdb8]
6: /usr/X11R6/bin/X [0x48dfea]
7: /usr/lib/xorg/modules//libxaa.so [0x2b2c9c0e460d]
8: /usr/lib/xorg/modules//libramdac.so [0x2b2c9bed5642]
9: /usr/X11R6/bin/X(xf86Wakeup+0x431) [0x483ce1]
10: /usr/X11R6/bin/X(WakeupHandler+0x51) [0x4519c1]
11: /usr/X11R6/bin/X(WaitForSomething+0x1d4) [0x550f44]
12: /usr/X11R6/bin/X(Dispatch+0x8b) [0x44de0b]
13: /usr/X11R6/bin/X(main+0x45d) [0x43703d]
14: /lib/libc.so.6(__libc_start_main+0xf4) [0x2b2c98f288e4]
15: /usr/X11R6/bin/X(FontFileCompleteXLFD+0x241) [0x436339]

Fatal server error:
Caught signal 11.  Server aborting

(**) RADEON(0): RADEONLeaveVT
(**) RADEON(0): RADEONRestore
(**) RADEON(0): RADEONRestoreMode()
(**) RADEON(0): RADEONRestoreMode(0x7de498)
(**) RADEON(0): RADEONRestoreMemMapRegisters() : 
(**) RADEON(0):   MC_FB_LOCATION   : 0x3fff3e00
(**) RADEON(0):   MC_AGP_LOCATION  : 0x003f0000
(**) RADEON(0):   Map Changed ! Applying ...
(**) RADEON(0):   Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00180006 0x0003005f 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=6, fd=95, pd=3
(**) RADEON(0): Ok, leaving now...

Apparently, there's some kind of fault in the X font routines here.

What I don't understand: how can suspend work fine when invoking
/etc/acpi/sleep.sh directly, but crash when GNOME calls the same script?
What is GNOME doing differently?

** Affects: gnome-power-manager (Ubuntu)
     Importance: Undecided
         Status: New

-- 
suspend works from command line, but not via GNOME menu
https://bugs.launchpad.net/bugs/128543
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to