XFree86-driver-tdfx i SEGV

Jakub Bogusz qboosh w prioris.mini.pw.edu.pl
Sob, 1 Gru 2001, 19:52:31 CET


Przekompilowałem sobie XFree86 na i686 (przedtem używałem tego, co mi
zostało na dysku z i586). Po tym próba uruchomienia czegokolwiek w GL
powoduje SEGV przy wczytywaniu tdfx_dri.so.
Próbowałem pakietów i686 i i386 z ftp.pld.org.pl - to samo.
Działa mi tylko pakiet i586 skompilowany w lipcu (reszta pakietów nowa,
tdfx_drv.o też może być nowy).

Próbowałem kompilować używając tego samego speca co wtedy (bez iluś
patchy) - bez zmian. Z --debug też, więc to nie sprawa błędów
optymalizacji. Próbowałem też kompilować z Glide, które miałem wtedy
- jak wyżej.

SEGV następuje przy dlopen() tdfx_dri.so, zaraz po wczytaniu Glide
(to widać w strace).

To poniżej jest z gears, ale z innych programów w GL jest to samo -
z dokładnością do sposobu wywołania glX* (przez glut, SDL albo
bezpośrednio).

(gdb) bt
#0  0x40009e54 in _dl_relocate_object () from /lib/ld-linux.so.2
#1  0x402890d4 in getutmpx () from /lib/libc.so.6
#2  0x4000b5e3 in _dl_catch_error () from /lib/ld-linux.so.2
#3  0x40289228 in _dl_open () from /lib/libc.so.6
#4  0x403b53d7 in _Xi18n_lock () from /lib/libdl.so.2
#5  0x4000b5e3 in _dl_catch_error () from /lib/ld-linux.so.2
#6  0x403b5820 in dlerror () from /lib/libdl.so.2
#7  0x403b5416 in dlopen () from /lib/libdl.so.2
#8  0x4007b14b in XF86DRICloseFullScreen () from /usr/X11R6/lib/libGL.so.1
#9  0x4007b54e in driCreateDisplay () from /usr/X11R6/lib/libGL.so.1
#10 0x4007b66b in __glXRegisterExtensions () from /usr/X11R6/lib/libGL.so.1
#11 0x4007b1af in XF86DRICloseFullScreen () from /usr/X11R6/lib/libGL.so.1
#12 0x4007b42c in driCreateDisplay () from /usr/X11R6/lib/libGL.so.1
#13 0x4006f4c8 in __glXInitialize () from /usr/X11R6/lib/libGL.so.1
#14 0x4006d11f in glXGetConfig () from /usr/X11R6/lib/libGL.so.1
#15 0x4006d8ba in glXChooseVisual () from /usr/X11R6/lib/libGL.so.1
#16 0x4012a913 in glutSetWindow () from /usr/X11R6/lib/libglut.so.3
#17 0x4012a95a in __glutGetVisualInfo () from /usr/X11R6/lib/libglut.so.3
#18 0x4012a9c4 in __glutDetermineVisual () from /usr/X11R6/lib/libglut.so.3
#19 0x4012ab9a in __glutDetermineWindowVisual () from /usr/X11R6/lib/libglut.so.3
#20 0x4012ac3d in __glutCreateWindow () from /usr/X11R6/lib/libglut.so.3
#21 0x4012afac in glutCreateWindow () from /usr/X11R6/lib/libglut.so.3
#22 0x0804acfb in main (argc=1, argv=0xbffffc04) at gears.c:349
#23 0x401a4871 in __libc_start_main () from /lib/libc.so.6
(gdb) p *(char**)($ebp+8)
$1 = 0xbffff15c "/usr/X11R6/lib/modules/dri/tdfx_dri.so"
(gdb) p/x *(int*)($ebp+12)
$4 = 0x102

Jakieś pomysły?


-- 
Jakub Bogusz
http://prioris.mini.pw.edu.pl/~qboosh/



Więcej informacji o liście dyskusyjnej pld-devel-pl