Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 55891 - xmms segfault with nvidia-kernel-1.0-6106
Summary: xmms segfault with nvidia-kernel-1.0-6106
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
: 57003 57159 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-07-02 08:19 UTC by Sebastian
Modified: 2004-08-19 16:01 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
the whole strace /usr/bin/xmms (xmms.newnvidia,184.49 KB, text/plain)
2004-07-02 08:27 UTC, Sebastian
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastian 2004-07-02 08:19:48 UTC
After emerging the new nvidia-kernel/nvidia-glx drivers, xmms crashes with a segfault.
I try it with enabled 4kStacks and disabled 4kStacks, no difference.

So i switched back to
 nvidia-kernel-1.0.5336-r4
 nvidia-glx-1.0.5336-r2
and xmms is running again.

System:
2.6.7-love5 #3 Fri Jul 2 14:07:13 CEST 2004 i686 AMD Athlon(tm) XP 1800+ AuthenticAMD GNU/Linux
(same crash with 2.6.7-ck4)

with KDE3.2.3, gcc-3.3.3-r6, glibc-2.3.3.20040420

USE="-xinerama -debug -xmms -gtk2 nptl gtkhtml vim-with-x xosd lirc pic -threads -smooth -java -avi -bonobo -guile -ldap -apm -gnome -ipv6 -nas -postgres -svga cups -ggi -esd -gphoto -scanner -libwww 3dnow alsa arts cdr crypt dga dvd encode gtk imap imlib jikes jpeg kde kerberos lame mbox mikmod mmx motif mozilla mpeg mysql ncurses nls opengl oss pam pdflib perl png python qt qtmt quicktime readline samba sasl sdl snmp spell sse ssl tcltk tcpd tiff truetype v4l v4l2 X xml xml2 xv zlib"

CFLAGS="-march=athlon-xp -O2 -pipe -m3dnow -mmmx -msse -mfpmath=sse -fomit-frame-pointer -fprefetch-loop-arrays -funroll-loops -frerun-cse-after-loop -frerun-loop-opt"

and at last strace /usr/bin/xmms :
......
......
stat64("/usr/lib/xmms/Visualization/libjess.la", {st_mode=S_IFREG|0755, st_size=1011, ...}) = 0
stat64("/usr/lib/xmms/Visualization/libjess.so", {st_mode=S_IFREG|0755, st_size=49552, ...}) = 0
open("/usr/lib/xmms/Visualization/libjess.so", O_RDONLY) = 9
read(9, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\"\0\000"..., 512) = 512
fstat64(9, {st_mode=S_IFREG|0755, st_size=49552, ...}) = 0
mmap2(NULL, 191140, PROT_READ|PROT_EXEC, MAP_PRIVATE, 9, 0) = 0xb7199000
mmap2(0xb71a5000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 9, 0xb) = 0xb71a5000
mmap2(0xb71a6000, 137892, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb71a6000
close(9)                                = 0
stat64("/usr/lib/xmms/Visualization/libiris.la", {st_mode=S_IFREG|0755, st_size=935, ...}) = 0
stat64("/usr/lib/xmms/Visualization/libiris.so", {st_mode=S_IFREG|0755, st_size=104348, ...}) = 0
open("/usr/lib/xmms/Visualization/libiris.so", O_RDONLY) = 9
read(9, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300P\0"..., 512) = 512
fstat64(9, {st_mode=S_IFREG|0755, st_size=104348, ...}) = 0
mmap2(NULL, 133280, PROT_READ|PROT_EXEC, MAP_PRIVATE, 9, 0) = 0xb7178000
mmap2(0xb7191000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 9, 0x18) = 0xb7191000
mmap2(0xb7192000, 26784, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7192000
close(9)                                = 0
open("/usr/lib/opengl/nvidia/lib/tls/i686/libGL.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/opengl/nvidia/lib/tls/i686", 0xbfffe970) = -1 ENOENT (No such file or directory)
open("/usr/lib/opengl/nvidia/lib/tls/libGL.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/opengl/nvidia/lib/tls", 0xbfffe970) = -1 ENOENT (No such file or directory)
open("/usr/lib/opengl/nvidia/lib/i686/libGL.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/opengl/nvidia/lib/i686", 0xbfffe970) = -1 ENOENT (No such file or directory)
open("/usr/lib/opengl/nvidia/lib/libGL.so.1", O_RDONLY) = 9
read(9, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320A\2"..., 512) = 512
fstat64(9, {st_mode=S_IFREG|0755, st_size=423832, ...}) = 0
mmap2(NULL, 425024, PROT_READ|PROT_EXEC, MAP_PRIVATE, 9, 0) = 0xb7110000
mmap2(0xb7168000, 61440, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 9, 0x58) = 0xb7168000
mmap2(0xb7177000, 3136, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7177000
close(9)                                = 0
open("/usr/lib/opengl/nvidia/lib/libGLcore.so.1", O_RDONLY) = 9
read(9, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\351"..., 512) = 512
fstat64(9, {st_mode=S_IFREG|0755, st_size=7132152, ...}) = 0
mmap2(NULL, 7174120, PROT_READ|PROT_EXEC, MAP_PRIVATE, 9, 0) = 0xb6a38000
mmap2(0xb70e1000, 110592, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 9, 0x6a9) = 0xb70e1000
mmap2(0xb70fc000, 79848, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb70fc000
close(9)                                = 0
open("/usr/lib/opengl/nvidia/lib/libnvidia-tls.so.1", O_RDONLY) = 9
read(9, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\3\0\000"..., 512) = 512
lseek(9, 1304, SEEK_SET)                = 1304
read(9, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\2\0\0\0"..., 32) = 32
fstat64(9, {st_mode=S_IFREG|0755, st_size=2352, ...}) = 0
mmap2(NULL, 5588, PROT_READ|PROT_EXEC, MAP_PRIVATE, 9, 0) = 0xb6a36000
mmap2(0xb6a37000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 9, 0) = 0xb6a37000
close(9)                                = 0
mprotect(0xb6a36000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6a36000, 4096, PROT_READ|PROT_EXEC) = 0
mprotect(0xb6a38000, 6983680, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6a38000, 6983680, PROT_READ|PROT_EXEC) = 0
mprotect(0xb7110000, 360448, PROT_READ|PROT_WRITE) = 0
mprotect(0xb7110000, 360448, PROT_READ|PROT_EXEC) = 0
open("/dev/zero", O_RDWR)               = 9
mmap2(NULL, 1024, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, 9, 0) = 0xb6a35000
close(9)                                = 0
mmap2(NULL, 671744, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6991000
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++


hope i didn't forget anything

Sebastian

Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Comment 1 Sebastian 2004-07-02 08:27:51 UTC
Created attachment 34651 [details]
the whole strace /usr/bin/xmms
Comment 2 Alexander Minges 2004-07-02 09:51:23 UTC
I can confirm that issue. Same problem over here. A switch back to an older version of nvidia-kernel worked.
Comment 3 Jeremy Heslop 2004-07-02 10:02:16 UTC
Had same issue. Re-emerged xmms without opengl and xmms works fine now.

USE="-opengl" emerge -v xmms
Comment 4 Xake 2004-07-02 10:06:40 UTC
I can confirm comment #3.
Comment 5 Andrew Bevitt 2004-07-03 01:09:08 UTC
As a stab it looks like you're xmms file locations are broken. Try this  opengl-update nvidia emerge xmms   Does the problem persist?
Comment 6 Sebastian 2004-07-03 01:52:53 UTC
i try a opengl-update nvidia and re-emerge xmms, but no change.
xmms is segfaulting
Comment 7 Marc Cousin 2004-07-03 02:25:45 UTC
Here's what I've done :
opengl-update xorg-x11
emerge xmms
opengl-update nvidia
=> xmms works

I guess it's not the right way to solve the problem but a dirty hack (and xmms will crash again at next emerge)...
Comment 8 Nak Yeon Hwang 2004-07-03 13:10:10 UTC
I have no solution but this is obviously related with nptl.
My machine has two gentoo installations on it, one with nptl-enabled glibc and the other with plain glibc. Only the nptl box is problematic.
In total, 'nptl + new nvidia driver' combination is relevant, I think.

At the moment, I'm content with comment #3. This would just omit opengl material in visualization plugin of xmms. I can dispense with this function. :)
Comment 9 Sebastian 2004-07-04 00:53:48 UTC
here is the solution and it works here

http://bugs.gentoo.org/show_bug.cgi?id=55897
Comment 10 Andrew Bevitt 2004-07-04 01:44:01 UTC
Seems to be the fact that both glibc versions tls libraries are installed.

Trying to work out where is best to put the one version and will fix up the ebuild... People who want a fix this minute try this
rm /usr/lib/opengl/nvidia/lib/*tls* 
  Does the probelm still occur???? PLEASE tell me this for the above.
If it does
cp /usr/lib/tls/* /usr/lib/opengl/nvidia/lib/
  Should be fixed now... Once again let me know what happened.

TLS will need to be handled by opengl-update so adding the depend
Comment 11 Sebastian 2004-07-04 03:59:05 UTC
1. delete all related files from NVIDIA-Linux-x86-1.0-6106-pkg1.run
2. emerge nvidia-kernel nvidia-glx
ls -l /usr/lib/nvidia/lib/
lrwxrwxrwx  1 root root      21  4. Jul 12:43 libGLcore.so -> libGLcore.so.1.0.6106
lrwxrwxrwx  1 root root      21  4. Jul 12:43 libGLcore.so.1 -> libGLcore.so.1.0.6106
-rwxr-xr-x  1 root root 7132152  4. Jul 12:43 libGLcore.so.1.0.6106
-rw-r--r--  1 root root     739  4. Jul 12:43 libGL.la
lrwxrwxrwx  1 root root      17  4. Jul 12:43 libGL.so -> libGL.so.1.0.6106
lrwxrwxrwx  1 root root      17  4. Jul 12:43 libGL.so.1 -> libGL.so.1.0.6106
-rwxr-xr-x  1 root root  423832  4. Jul 12:43 libGL.so.1.0.6106
lrwxrwxrwx  1 root root      25  4. Jul 12:43 libnvidia-tls.so.1 -> libnvidia-tls.so.1.0.6106
-rwxr-xr-x  1 root root    2352  4. Jul 12:43 libnvidia-tls.so.1.0.6106
-> segfault with xmms/xine

3. rm /usr/lib/opengl/nvidia/lib/*tls*
ls -l /usr/lib/opengl/nvidia/lib
insgesamt 7395
lrwxrwxrwx  1 root root      21  4. Jul 12:43 libGLcore.so -> libGLcore.so.1.0.6106
lrwxrwxrwx  1 root root      21  4. Jul 12:43 libGLcore.so.1 -> libGLcore.so.1.0.6106
-rwxr-xr-x  1 root root 7132152  4. Jul 12:43 libGLcore.so.1.0.6106
-rw-r--r--  1 root root     739  4. Jul 12:43 libGL.la
lrwxrwxrwx  1 root root      17  4. Jul 12:43 libGL.so -> libGL.so.1.0.6106
lrwxrwxrwx  1 root root      17  4. Jul 12:43 libGL.so.1 -> libGL.so.1.0.6106
-rwxr-xr-x  1 root root  423832  4. Jul 12:43 libGL.so.1.0.6106

ls -l /usr/lib/tls
lrwxrwxrwx  1 root root   38  4. Jul 12:48 libnvidia-tls.so -> /usr/lib/tls/libnvidia-tls.so.1.0.6106
lrwxrwxrwx  1 root root   25  4. Jul 12:48 libnvidia-tls.so.1 -> libnvidia-tls.so.1.0.6106
-rwxr-xr-x  1 root root 2004  4. Jul 12:43 libnvidia-tls.so.1.0.6106
-> everything is fine :-)

---------
!!!OR!!!
---------
3. cp -a /usr/lib/tls/* /usr/lib/opengl/nvidia/lib/
ls -l /usr/lib/nvidia/lib/
lrwxrwxrwx  1 root root      21  4. Jul 12:43 libGLcore.so -> libGLcore.so.1.0.6106
lrwxrwxrwx  1 root root      21  4. Jul 12:43 libGLcore.so.1 -> libGLcore.so.1.0.6106
-rwxr-xr-x  1 root root 7132152  4. Jul 12:43 libGLcore.so.1.0.6106
-rw-r--r--  1 root root     739  4. Jul 12:43 libGL.la
lrwxrwxrwx  1 root root      17  4. Jul 12:43 libGL.so -> libGL.so.1.0.6106
lrwxrwxrwx  1 root root      17  4. Jul 12:43 libGL.so.1 -> libGL.so.1.0.6106
-rwxr-xr-x  1 root root  423832  4. Jul 12:43 libGL.so.1.0.6106
lrwxrwxrwx  1 root root      38  4. Jul 12:48 libnvidia-tls.so -> /usr/lib/tls/libnvidia-tls.so.1.0.6106
lrwxrwxrwx  1 root root      25  4. Jul 12:48 libnvidia-tls.so.1 -> libnvidia-tls.so.1.0.6106
-rwxr-xr-x  1 root root    2004  4. Jul 12:43 libnvidia-tls.so.1.0.6106

4. mv /usr/bin/tls /usr/bin/tls.OFF
-> everything is fine :-)
 
Comment 12 Nak Yeon Hwang 2004-07-04 05:02:13 UTC
Perfect except one minor.
Opengl spectrum analyzer of xmms makes xmms freezing.
Now I'm reinstalling xine-lib and pornview to see if they work.
Comment 13 Nak Yeon Hwang 2004-07-04 05:39:07 UTC
They work again :)
Comment 14 Sebastian 2004-07-04 08:00:52 UTC
some corrections

3. cp -a /usr/lib/tls/* /usr/lib/opengl/nvidia/lib/
4. cd /usr/lib/opengl/nvidia/lib
5. rm libnvidia-tls.so
6 ln -s libnvidia-tls.so.1.0.6106 libnvidia-tls.so

ls -l /usr/lib/nvidia/lib/
lrwxrwxrwx  1 root root      21  4. Jul 12:43 libGLcore.so -> libGLcore.so.1.0.6106
lrwxrwxrwx  1 root root      21  4. Jul 12:43 libGLcore.so.1 -> libGLcore.so.1.0.6106
-rwxr-xr-x  1 root root 7132152  4. Jul 12:43 libGLcore.so.1.0.6106
-rw-r--r--  1 root root     739  4. Jul 12:43 libGL.la
lrwxrwxrwx  1 root root      17  4. Jul 12:43 libGL.so -> libGL.so.1.0.6106
lrwxrwxrwx  1 root root      17  4. Jul 12:43 libGL.so.1 -> libGL.so.1.0.6106
-rwxr-xr-x  1 root root  423832  4. Jul 12:43 libGL.so.1.0.6106
lrwxrwxrwx  1 root root      38  4. Jul 12:48 libnvidia-tls.so -> libnvidia-tls.so.1.0.6106
lrwxrwxrwx  1 root root      25  4. Jul 12:48 libnvidia-tls.so.1 -> libnvidia-tls.so.1.0.6106
-rwxr-xr-x  1 root root    2004  4. Jul 12:43 libnvidia-tls.so.1.0.6106

4. mv /usr/lib/tls /usr/lib/tls.OFF (or rm /usr/lib/tls)
-> everything is fine :-)

i think, this is the better solution, because
when emerging xmms-iris
some libs will not be found ....

Comment 15 Andrew Bevitt 2004-07-16 20:38:11 UTC
Just commited fixes for TLS and glext.h to cvs.

Please update your portage tree and remerge nvidia-glx (which should ask you to update to opengl-update-1.8 if it doesnt you havent got the new version yet). The changes should fix the error.

Please report back.
Comment 16 Andrew Bevitt 2004-07-16 23:32:16 UTC
*** Bug 57159 has been marked as a duplicate of this bug. ***
Comment 17 Andrew Bevitt 2004-07-16 23:39:17 UTC
*** Bug 57003 has been marked as a duplicate of this bug. ***
Comment 18 Andrew Bevitt 2004-07-20 17:12:35 UTC
Fixed.
Comment 19 Michael Prager 2004-08-19 16:01:32 UTC
This problem reappears with nvidia-glx-1.0.6111