Код: Выделить всё
(gdb) bt
#0 0xf75b34f7 in memset () from /usr/lib32/libc.so.6
#1 0xf7d14e35 in _nv000101gl () from ./libGLcore.so.1
Код: Выделить всё
(gdb) bt
#0 0xf75b34f7 in memset () from /usr/lib32/libc.so.6
#1 0xf7d14e35 in _nv000101gl () from ./libGLcore.so.1
Там в конце написаноfa3a писал(а): я так понимаю, что AMD x86-64 это совсем не IA64.. может должна была грузиться linux-vsyscall.so.1? Хотя документ датирован 2003 годом..
Наверное, чел так и сделал, тогда с именами всё правильно. Вряд ли linux-gate.so.1 имеет отношение к моей проблеме, этот объект есть в выводе ldd для всех 32-битных приложений.I plan to submit a patch to rename the x86 DSO to linux-gate.so.1.
Код: Выделить всё
compat-libstdc++-33-3.2.3-47.3.s390.rpm
Маловероятно, что проблема именно в libc. Я тестил и на своей сборке и брал libc из ASP 10.fa3a писал(а):michael, ну а судя по коре, что 32-битной, что 64-битной, коредамп у тебя происходит при вызове системной функции memset(), причем в самой же либе. И судя по всему это первый же call из libc. Поэтому есть два варианта: либо проблема в libc.so (билд кривой или еще что), либо система сама не в состоянии загрузить фунцию из динамически подгруженной шарёной библиотеки.
Я гляну, что это за библиотеки, может действительно поможет.fa3a писал(а): У меня была похожая проблема на SLES9 64bit zSeries, которая решилась исталляцией некоторых compatibility либ, а именно:Код: Выделить всё
compat-libstdc++-33-3.2.3-47.3.s390.rpm
Вот это стопроцентно верно. К сожалению, на моё письмо в nvidia с просьбой предоставить исходники ответ так и не пришёлfa3a писал(а): Вероятно также, что OpenGL был сбилжен "неправильно". Т.е. можно копнуть и в эту сторону. Посмотреть какие параметры передавались для configure.
Да куда ещё? Двухядерный Athlon64.fa3a писал(а): А может тебе стоит апгрейднуть жалезо? у меня например никаких таких линукс-гейтов и в помине в output-е ldd нету )
Код: Выделить всё
LD_LIBRARY_PATH=. ./ld-2.3.4.so ./test
Код: Выделить всё
execve("./ld-2.3.4.so", ["./ld-2.3.4.so", "./test"], [/* 27 vars */]) = 0
uname({sys="Linux", node="Michhome", ...}) = 0
brk(0) = 0x55555566a000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b87872bb000
open("./test", O_RDONLY) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\2\0>\0\1\0\0\0\220\4@\0"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0700, st_size=7885, ...}) = 0
getcwd("/tmp/q/t", 128) = 9
mmap(0x400000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0) = 0x400000
mmap(0x500000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0) = 0x500000
close(6) = 0
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("./tls/x86_64/libGL.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./tls/libGL.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./x86_64/libGL.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./libGL.so.1", O_RDONLY) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\370\3\0"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0755, st_size=735336, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b87872bc000
getcwd("/tmp/q/t", 128) = 9
mmap(NULL, 1788608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x2b87872bd000
mprotect(0x2b8787340000, 1252032, PROT_NONE) = 0
mmap(0x2b8787440000, 200704, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x83000) = 0x2b8787440000
mmap(0x2b8787471000, 2752, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b8787471000
mprotect(0x7fff237ee000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC|PROT_GROWSDOWN) = 0
close(6) = 0
open("./tls/x86_64/libGLcore.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./tls/libGLcore.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./x86_64/libGLcore.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./libGLcore.so.1", O_RDONLY) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\324"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0755, st_size=7844032, ...}) = 0
getcwd("/tmp/q/t", 128) = 9
mmap(NULL, 8905568, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x2b8787472000
mprotect(0x2b8787adf000, 2167648, PROT_NONE) = 0
mmap(0x2b8787bde000, 1101824, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x66c000) = 0x2b8787bde000
mmap(0x2b8787ceb000, 21344, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b8787ceb000
close(6) = 0
open("./tls/x86_64/libnvidia-tls.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./tls/libnvidia-tls.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./x86_64/libnvidia-tls.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./libnvidia-tls.so.1", O_RDONLY) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\6\0\0\0"..., 832) = 832
lseek(6, 1812, SEEK_SET) = 1812
read(6, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\3\0\0\0"..., 32) = 32
fstat(6, {st_mode=S_IFREG|0755, st_size=3408, ...}) = 0
getcwd("/tmp/q/t", 128) = 9
mmap(NULL, 1050816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x2b8787cf1000
mprotect(0x2b8787cf2000, 1046720, PROT_NONE) = 0
mmap(0x2b8787df1000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0) = 0x2b8787df1000
close(6) = 0
open("./tls/x86_64/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./tls/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./x86_64/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./libc.so.6", O_RDONLY) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\313"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0755, st_size=1594224, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b8787df2000
getcwd("/tmp/q/t", 128) = 9
mmap(NULL, 2303336, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x2b8787df3000
mprotect(0x2b8787f1c000, 1086824, PROT_NONE) = 0
mmap(0x2b878801b000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x128000) = 0x2b878801b000
mmap(0x2b8788021000, 17768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b8788021000
close(6) = 0
open("./tls/x86_64/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./tls/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./x86_64/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./libm.so.6", O_RDONLY) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360=\0\0"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0755, st_size=639184, ...}) = 0
getcwd("/tmp/q/t", 128) = 9
mmap(NULL, 1593800, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x2b8788026000
mprotect(0x2b87880ab000, 1049032, PROT_NONE) = 0
mmap(0x2b87881aa000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x84000) = 0x2b87881aa000
close(6) = 0
open("./tls/x86_64/libXext.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./tls/libXext.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./x86_64/libXext.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./libXext.so.6", O_RDONLY) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@5\0\0\0"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0755, st_size=70112, ...}) = 0
getcwd("/tmp/q/t", 128) = 9
mmap(NULL, 1117608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x2b87881ac000
mprotect(0x2b87881bd000, 1047976, PROT_NONE) = 0
mmap(0x2b87882bc000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x10000) = 0x2b87882bc000
close(6) = 0
open("./tls/x86_64/libX11.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./tls/libX11.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./x86_64/libX11.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./libX11.so.6", O_RDONLY) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\230"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0755, st_size=1018408, ...}) = 0
getcwd("/tmp/q/t", 128) = 9
mmap(NULL, 2066976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x2b87882bd000
mprotect(0x2b87883b0000, 1071648, PROT_NONE) = 0
mmap(0x2b87884b0000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0xf3000) = 0x2b87884b0000
close(6) = 0
open("./tls/x86_64/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./tls/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./x86_64/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./libdl.so.2", O_RDONLY) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\17\0"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0755, st_size=17160, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b87884b6000
getcwd("/tmp/q/t", 128) = 9
mmap(NULL, 1056968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x2b87884b7000
mprotect(0x2b87884b9000, 1048776, PROT_NONE) = 0
mmap(0x2b87885b8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x1000) = 0x2b87885b8000
close(6) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b87885ba000
mprotect(0x2b87885b8000, 4096, PROT_READ) = 0
mprotect(0x2b87881aa000, 4096, PROT_READ) = 0
mprotect(0x2b878801b000, 16384, PROT_READ) = 0
mprotect(0x555555668000, 4096, PROT_READ) = 0
arch_prctl(ARCH_SET_FS, 0x2b87885ba6c0) = 0
brk(0) = 0x55555566a000
brk(0x55555568b000) = 0x55555568b000
open("/dev/zero", O_RDWR) = 6
mmap(NULL, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|0x40, 6, 0) = -1 EPERM (Operation not permitted)
mmap(NULL, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, 6, 0) = -1 EPERM (Operation not permitted)
close(6) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Process 821 detached