nV News Forums

 
 

nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   Crash regressions with 260.xx NVIDIA OpenGL library (http://www.nvnews.net/vbulletin/showthread.php?t=156665)

Anssi 10-30-10 06:42 PM

Crash regressions with 260.xx NVIDIA OpenGL library
 
4 Attachment(s)
Hi all!
There are several seemingly related crasher regressions related to using the 260.xx driver version.

First, a simple issue of
Code:

SDL_Init(SDL_INIT_AUDIO);
call segfaulting (backtrace attached) (nothing else needed in main()).

It requires at least the following conditions:
  • the binary has to be linked with libGL (i.e. -lGL in addition to -lSDL)
  • pulseaudio has to installed (tested: 0.9.21) but *not* running (autospawn can be enabled or disabled)
  • SDL has to be built with pulse support (tested: 1.2.14, pulse support in dlopen mode)
  • SDL has to be using the pulse driver (either by having patched the pulse priority above alsa like Mandriva, or using SDL_AUDIODRIVER=pulse)
  • must not be running under gdb
  • must not be running under __GL_SINGLE_THREADED=1
  • must be using NVIDIA GL library from 260.x driver (256.x does not crash)
  • if glibc (tested: 2.11.1, 2.12.1) was built with GCC 4.5.1, testcase needs to also be linked with -lpulse to make the crash happen (when glibc is built with either GCC 4.4.3 or GCC 4.4.5, the testcase crashes even without -lpulse)
  • glibc has to be built with -O2 optimization, which includes -falign-functions (this means that using e.g. "-O1" or "-O2 -fno-align-functions" to build glibc will avoid the crash)

Especially the last several conditions seem quite interesting, but I guess they could be just coincidental.
I've confirmed the issue on Mandriva cooker x86_64 and Mandriva 2010.1 x86_64 systems (plus 2010.1 32bit chroot), and I've gotten reports from others indicating their Mandriva 2010.1 x86_64 and Fedora 32-bit installations are also affected (and here's another Fedora 32-bit affected: http://forum.xbmc.org/showthread.php?t=83924).

The issue is reproducable also in a simple chroot environment (tested: Mandriva 2010.1 64bit and Mandriva 2010.1 32bit) without any NVIDIA hardware / X server, where you only have the NVIDIA GL library installed.
I've also put an affected chroot tarball available: http://onse.fi/files/2010.1-x86_64-N...DLtest.tar.bz2 (279MB)
The test program (as described above, only calling SDL_Init(SDL_INIT_AUDIO)) is in /home/anssi/SDLtest.c, which can simply by compiled with
Code:

gcc -o SDLtest SDLtest.c -lSDL -lGL
gcc -o SDLtest+pulse SDLtest.c -lSDL -lGL -lpulse

The chroot contains glibc 2.11.1 compiled with gcc 4.4.3 and therefore both "SDLtest" and "SDLtest+pulse" variants crash. Note that you have to mount /proc inside the chroot, or the crash will not happen.

There is also a related (260.x only) crash when trying to use VDPAU in xbmc (backtrace attached). I've not debugged this one in detail, but it seems that building glibc with -fno-align-functions will workaround this one as well. However, using __GL_SINGLE_THREADED=1 has no effect, and the crash happens regardless.

Attached is also nvidia-bug-report.log.gz from one of the system experiencing this issue. Kernels tested were 2.6.36 and 2.6.35.4.

Feel free to ask for any additional information.

edgan 10-31-10 03:28 PM

Re: Crash regressions with 260.xx NVIDIA OpenGL library
 
I have also seen issues like this. Please release a new version of the driver that fixes them.

Anssi 11-01-10 06:24 PM

Re: Crash regressions with 260.xx NVIDIA OpenGL library
 
I noticed that at least this specific issue can be workarounded by "SDL_AUDIODRIVER=alsa". So I added the SDL driver selection to the conditions needed to experience the issue.

Anssi 11-01-10 06:38 PM

Re: Crash regressions with 260.xx NVIDIA OpenGL library
 
1 Attachment(s)
Attached is a better stacktrace with more debug symbols.

Anssi 11-12-10 08:45 AM

Re: Crash regressions with 260.xx NVIDIA OpenGL library
 
This seems to be fixed in 260.19.21.


All times are GMT -5. The time now is 04:28 AM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.