linux 3d applications keep crashing

From: Alexander Best <alexbestms_at_math.uni-muenster.de>
Date: Sat, 14 Mar 2009 00:03:25 +0100 (CET)
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.
Received on Fri Mar 13 2009 - 22:03:28 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:44 UTC