linux 3d applications keep crashing
Alexander Best
alexbestms at math.uni-muenster.de
Fri Mar 13 16:03:28 PDT 2009
hi there,
a lot of people who are using the nvidia closed source driver are having
problems running linux 3d applications. the libGL.so.1 library (linux version
in /compat/linux/usr/lib) causes almost every linux 3d app to segfault. since
the library is the very same one that get's installed under linux the problem
very likely resides in the linuxulator.
i ran two linux games with ktrace. this is the output from linux_kdump. i hope
i copy&pasted the important pieces of the dump that report the crash.
dump from unreal tournament 2004 demo:
...
1180 ut2004-bin RET close 0
1180 ut2004-bin CALL linux_brk(0xae5c000)
1180 ut2004-bin RET linux_brk 182829056/0xae5c000
1180 ut2004-bin CALL linux_getpid
1180 ut2004-bin RET linux_getpid 1180/0x49c
1180 ut2004-bin CALL linux_getpid
1180 ut2004-bin RET linux_getpid 1180/0x49c
1180 ut2004-bin CALL linux_getpid
1180 ut2004-bin RET linux_getpid 1180/0x49c
1180 ut2004-bin CALL
linux_sys_futex(0x2b406e30,0x81,0x7fffffff,0,0x49c,0x7)
1180 ut2004-bin RET linux_sys_futex 1
1180 ut2004-bin PSIG SIGSEGV caught handler=0x874bd50 mask=0x0 code=0x0
1180 ut2004-bin CALL linux_fstat64(0x1,0xbfbfa9e8,0x28fe8ff4)
1180 ut2004-bin UNKNOWN(8) 1180 ut2004-bin RET linux_fstat64 0
1180 ut2004-bin CALL linux_mmap2(0,0x1000,0x3,0x22,0xffffffff,0)
1180 ut2004-bin RET linux_mmap2 688971776/0x2910e000
1180 ut2004-bin CALL write(0x1,0x2910e000,0x25)
1180 ut2004-bin GIO fd 1 wrote 37 bytes
"Signal: SIGSEGV [segmentation fault]
"
1180 ut2004-bin RET write 37/0x25
1180 ut2004-bin CALL write(0x1,0x2910e000,0xa)
1180 ut2004-bin GIO fd 1 wrote 10 bytes
"Aborting.
"
1180 ut2004-bin RET write 10/0xa
1180 ut2004-bin CALL write(0x1,0x2910e000,0x1)
1180 ut2004-bin GIO fd 1 wrote 1 byte
"
"
1180 ut2004-bin RET write 1
1180 ut2004-bin CALL write(0x1,0x2910e000,0x1)
1180 ut2004-bin GIO fd 1 wrote 1 byte
"
"
1180 ut2004-bin RET write 1
1180 ut2004-bin CALL write(0x1,0x2910e000,0x31)
1180 ut2004-bin GIO fd 1 wrote 49 bytes
"Crash information will be saved to your logfile.
"
1180 ut2004-bin RET write 49/0x31
1180 ut2004-bin CALL
linux_sys_futex(0x28feba34,0x81,0x7fffffff,0,0xbfbfab14,0xbfbfaaec)
1180 ut2004-bin RET linux_sys_futex 1
1180 ut2004-bin CALL
linux_sys_futex(0x28e8eb48,0x81,0x7fffffff,0,0xbfbfaa30,0xbfbfa93c)
1180 ut2004-bin RET linux_sys_futex 1
1180 ut2004-bin CALL write(0x4,0x937c3c8,0xc)
...
and dump from quake 4 demo:
...
1285 quake4.x86 RET close 0
1285 quake4.x86 CALL linux_getpid
1285 quake4.x86 RET linux_getpid 1285/0x505
1285 quake4.x86 CALL linux_getpid
1285 quake4.x86 RET linux_getpid 1285/0x505
1285 quake4.x86 CALL linux_getpid
1285 quake4.x86 RET linux_getpid 1285/0x505
1285 quake4.x86 CALL
linux_sys_futex(0x2dbece30,0x81,0x7fffffff,0,0x505,0x7)
1285 quake4.x86 RET linux_sys_futex 1
1285 quake4.x86 PSIG SIGSEGV caught handler=0x8254b10 mask=0x0 code=0x0
1285 quake4.x86 CALL
linux_sys_futex(0x286cd620,0x81,0x7fffffff,0,0x505,0xbfbfc51c)
1285 quake4.x86 RET linux_sys_futex 1
1285 quake4.x86 CALL write(0x1,0x283dd000,0x22)
1285 quake4.x86 GIO fd 1 wrote 34 bytes
"signal caught: Segmentation fault
"
1285 quake4.x86 RET write 34/0x22
1285 quake4.x86 CALL write(0x1,0x283dd000,0xa)
1285 quake4.x86 GIO fd 1 wrote 10 bytes
"si_code 1
"
1285 quake4.x86 RET write 10/0xa
1285 quake4.x86 CALL write(0x1,0x283dd000,0x1c)
1285 quake4.x86 GIO fd 1 wrote 28 bytes
"Trying to exit gracefully..
"
1285 quake4.x86 RET write 28/0x1c
1285 quake4.x86 CALL write(0x1,0x283dd000,0x2e)
1285 quake4.x86 GIO fd 1 wrote 46 bytes
"--------------- BSE Shutdown ----------------
"
1285 quake4.x86 RET write 46/0x2e
1285 quake4.x86 CALL write(0x1,0x283dd000,0x2e)
1285 quake4.x86 GIO fd 1 wrote 46 bytes
"---------------------------------------------
"
1285 quake4.x86 RET write 46/0x2e
1285 quake4.x86 CALL write(0x1,0x283dd000,0x35)
1285 quake4.x86 GIO fd 1 wrote 53 bytes
"WARNING: rvServerScanGUI::Clear() - invalid scanGUI
"
1285 quake4.x86 RET write 53/0x35
1285 quake4.x86 CALL munmap(0x2d0ee000,0x101000)
1285 quake4.x86 RET munmap 0
1285 quake4.x86 CALL munmap(0x2d1ef000,0x101000)
...
to me it looks like the app crashes during the futex syscall, but i'm far from
beeing an expert.
it would be great if somebody could take a closer look at this.
cheers.
More information about the freebsd-current
mailing list