PDA

View Full Version : Regression in Linux-compat GL with 180.11 driver


datahead
12-05-08, 02:53 PM
Using the latest 180.11 driver I am unable to launch Linux-based games that use OpenGL. The two games I have tested with are Quake 4 and Quake Wars. I've tested using both the 2.4 and 2.6 Linux emulation modes. Using ktrace and the 2.4 Linux emulation, I get the following lines leading up to a SIGSEGV with Quake 4 (read with linux_kdump):

29842 quake4smp.x86 CALL linux_mprotect(0x113f4000,0x1000,0x3)
29842 quake4smp.x86 RET linux_mprotect 0
29842 quake4smp.x86 CALL linux_mprotect(0x113f4000,0x1000,0x5)
29842 quake4smp.x86 RET linux_mprotect 0
29842 quake4smp.x86 CALL linux_mprotect(0x11fa7000,0xc6c000,0x3)
29842 quake4smp.x86 RET linux_mprotect 0
29842 quake4smp.x86 CALL linux_mprotect(0x11fa7000,0xc6c000,0x5)
29842 quake4smp.x86 RET linux_mprotect 0
29842 quake4smp.x86 CALL linux_mprotect(0x11eed000,0x8d000,0x3)
29842 quake4smp.x86 RET linux_mprotect 0
29842 quake4smp.x86 CALL linux_mprotect(0x11eed000,0x8d000,0x5)
29842 quake4smp.x86 RET linux_mprotect 0
29842 quake4smp.x86 CALL munmap(0x113f1000,0x2c48)
29842 quake4smp.x86 RET munmap 0
29842 quake4smp.x86 CALL gettimeofday(0xbfbfc648,0)
29842 quake4smp.x86 RET gettimeofday 0
29842 quake4smp.x86 CALL linux_open(0x11f6b120,0x2,0x3)
29842 quake4smp.x86 NAMI "/compat/linux/dev/zero"
29842 quake4smp.x86 NAMI "/dev/zero"
29842 quake4smp.x86 RET linux_open 51/0x33
29842 quake4smp.x86 CALL linux_mmap(0xbfbfc610)
29842 quake4smp.x86 RET linux_mmap 289345536/0x113f1000
29842 quake4smp.x86 CALL close(0x33)
29842 quake4smp.x86 RET close 0
29842 quake4smp.x86 CALL munmap(0x113f1000,0x2000)
29842 quake4smp.x86 RET munmap 0
29842 quake4smp.x86 CALL linux_open(0x11f6b120,0x2,0)
29842 quake4smp.x86 NAMI "/compat/linux/dev/zero"
29842 quake4smp.x86 NAMI "/dev/zero"
29842 quake4smp.x86 RET linux_open 51/0x33
29842 quake4smp.x86 CALL linux_mmap(0xbfbfb6c0)
29842 quake4smp.x86 RET linux_mmap 289345536/0x113f1000
29842 quake4smp.x86 CALL close(0x33)
29842 quake4smp.x86 RET close 0
29842 quake4smp.x86 CALL linux_getpid
29842 quake4smp.x86 RET linux_getpid 29842/0x7492
29842 quake4smp.x86 CALL linux_getpid
29842 quake4smp.x86 RET linux_getpid 29842/0x7492
29842 quake4smp.x86 CALL linux_getpid
29842 quake4smp.x86 RET linux_getpid 29842/0x7492
29842 quake4smp.x86 CALL linux_getpid
29842 quake4smp.x86 RET linux_getpid 29842/0x7492
29842 quake4smp.x86 CALL linux_modify_ldt(0x11,0xbfbfc5f0,0x10)
29842 quake4smp.x86 RET linux_modify_ldt -1 errno 22 Invalid argument
29842 quake4smp.x86 PSIG SIGSEGV caught handler=0x104e6564 mask=0x80000000 code=0x0
29842 quake4smp.x86 CALL write(0x1,0x104d7000,0x2c)
29842 quake4smp.x86 GIO fd 1 wrote 44 bytes
"signal caught: Segmentation fault
si_code 3
"

I don't have anywhere to post the full ktrace.out file (5MB bz2). Please let me know if there is any other info I can provide to help track down the problem.

zander
12-08-08, 08:39 PM
Thank you for your report. Is 180.11 the first driver release to introduce this regression or was it introduced with earlier 180.xx (or even 177.xx) driver releases?

datahead
12-10-08, 05:45 PM
It was not present in the 177.xx series, but 180.11 was the first version I've tried in the 180.xx series so I'm not sure which version first showed the behavior. I'll see what I can do to roll a 180.06 version of the driver and see if the problem exists.

zander
12-10-08, 05:53 PM
Thanks, datahead. The problem was reproduced internally yesterday and regressed to a specific changelist. It should be resolved in a future driver release.

datahead
12-10-08, 06:13 PM
Excellent news - thank you for the update, zander. I've confirmed that I see the same problem with all three available versions of the 180.xx driver. Looking forward to the fix - the 180-series seems to work much more smoothly with my KDE4 desktop than the 177-series.

zander
12-11-08, 01:16 PM
The problem turned out to be the result of an overly aggressive compiler optimization in the libnvidia-tls.so library; hopefully we'll be able to include the fix in the next BETA driver release.

zander
12-13-08, 12:59 AM
The crash should be fixed in the 180.16 NVIDIA FreeBSD BETA graphics driver release (see http://www.nvnews.net/vbulletin/showthread.php?t=124600).

datahead
12-15-08, 03:24 PM
Confirmed that the latest 180.16 version fixes the problem on my system. Thank you!