Bug#418700: xserver-xorg-video-ati: crashes on resume when rhythmbox is playing music

Johannes Berg johannes at sipsolutions.net
Tue Apr 10 10:37:26 PDT 2007

Package: xserver-xorg-video-ati
Version: 1:6.6.3-2
Severity: normal

Let me say this up front: Yes, this is extremely strange. I have no idea
what could *possibly* be causing it.

Both versions 6.6.3 and 6.6.191 crash on resume (when switching back from
the suspend console) when rhythmbox is playing across suspend. Just having
rhythmbox open doesn't make a difference.

Initially I suspected that rhythmbox was trying to draw something while
other processes were still stopped due to alsa giving it a signal or
something, but I think that theory can be dismissed ;) [actually, I checked,
but see no evidence in both alsa code and a rhythmbox strace]

This backtrace I got might be it, but it might also be the one from later
on (see below):

0: /usr/bin/X(xf86SigHandler+0x94) [0x100a64f8]
1: [0x100344]
2: /lib/ld.so.1 [0x30014298]
3: /usr/lib/xorg/modules/drivers//radeon_drv.so [0xf92f0b8]
4: /usr/lib/xorg/modules/drivers//radeon_drv.so(RADEONPreInit+0xa24) [0xf933248]
5: /usr/bin/X(InitOutput+0xb08) [0x100663e8]
6: /usr/bin/X(main+0x294) [0x10026d88]
7: /lib/libc.so.6 [0xfc83d48]
8: /lib/libc.so.6 [0xfc83f98]

When X has crashed during resume and version 6.6.3 is installed, X can be
simply restarted (actually, that might only be true for MergedFB off, see
bug #416666), while when 6.6.191 is installed it again segfaults when
starting after it has crashed. And in fact, that might be the backtrace
above. Not that it's useful in either case. I could reproduce this and get
better stack traces if I can obtain debug builds of the driver.

A few more points:
 * it doesn't happen when mplayer is playing music
 * it doesn't happen when rhythmbox is running but not playing music (though
   I haven't actually tried with paused)
 * The kernel I'm running is heavily patched, but I disclaim any
   responsibility. The major difference over mainline kernels is that
   processes are stopped across suspend due to using /sys/power/state now.
 * I have previously suspended with rhythmbox running but cannot say what
   change surfaced this bug. I suspect a rhythmbox upgrade since that would
   be one of the few things I upgraded.

If I read the backtrace correctly, then RADEONPreInit is loaded at 0xf932824
which means that the module is loaded at 0xf902d40. I tried following the
code at 0x2c378 in the module (0xf92f0b8-0xf902d40) but it doesn't make
sense to me (it seems to poke around in the code of the caller?!)

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: powerpc (ppc)

Kernel: Linux 2.6.21-rc5-g356f78c6-dirty
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages xserver-xorg-video-ati depends on:
ii  libc6                     2.5-0exp6      GNU C Library: Shared libraries
ii  xserver-xorg-core         2: X.Org X server -- core server

xserver-xorg-video-ati recommends no packages.

-- no debconf information

More information about the xorg-driver-ati mailing list