[MPlayer-dev-eng] [PATCH]Signal 11 fix for radeon vidix.

Jarrod Johnson jbj-mpl at ura.dnsalias.org
Wed May 12 15:58:22 CEST 2004


After going from 0.92 to 1.0-pre4, mplayer now segfaults.

The backtrace:
#0  0x408efc97 in XListExtensions () from /usr/X11R6/lib/libX11.so.6
#1  0x40291a08 in probe_fireGL_driver ()
from /usr/lib/mplayer/vidix/radeon_vid.so
#2  0x40291c04 in vixProbe () from /usr/lib/mplayer/vidix/radeon_vid.so
#3  0x080c475e in vdlOpen ()
#4  0x080b64d2 in vidix_preinit ()
#5  0x080a89e7 in vo_aa_revertoption ()
#6  0x08098657 in init_best_video_out ()
#7  0x08076525 in main ()

I have no X server running in my config (set-top box), so the X operations
make no sense.  If XOpenDisplay fails, it should return.

Ergo my suggestion (diff against 20040510 snapshot
vidix/drivers/radeon_vid.c):
--- radeon_vid.c.orig   2004-05-10 22:55:04.970350640 -0400
+++ radeon_vid.c        2004-05-10 22:56:03.115511232 -0400
@@ -930,7 +930,11 @@
 void probe_fireGL_driver() {
   Display *dp = XOpenDisplay ((void*)0);
   int n = 0;
-  char **extlist = XListExtensions (dp, &n);
+  char **extlist;
+  if (dp==NULL) {
+       return;
+  }
+  extlist = XListExtensions (dp, &n);
   XCloseDisplay (dp);
   if (extlist) {
     int i;



Reproduce:
mplayer -vo fbdev:vidix <etc...> with a radeon system.




More information about the MPlayer-dev-eng mailing list