fglrxinfo Segmentation fault

Приветствую Всех!

Под обычным юзером fglrxinfo выдает Segmentation fault

#fglrxinfo 
display: :0.0  screen: 0      
OpenGL vendor string: DRI R300 Project
OpenGL renderer string: Mesa DRI R300 20060815 x86/MMX/SSE2 NO-TCL
OpenGL version string: 1.4 Mesa 7.5.2                             

Ошибка сегментирования

#DISPLAY=:0 LIBGL_DEBUG=verbose fglrxinfo
libGL: XF86DRIGetClientDriverName: 5.3.0 r300 (screen 0)
libGL: OpenDriver: trying /usr/lib/dri/r300_dri.so
libGL error: dlopen /usr/lib/dri/r300_dri.so failed (/usr/lib/dri/r300_dri.so: undefined symbol: _glapi_tls_Context)
libGL error: unable to load driver: r300_dri.so
display: :0.0  screen: 0
OpenGL vendor string: DRI R300 Project
OpenGL renderer string: Mesa DRI R300 20060815 x86/MMX/SSE2 NO-TCL
OpenGL version string: 1.4 Mesa 7.5.2

Ошибка сегментирования

Если под рутом

#DISPLAY=:0 LIBGL_DEBUG=verbose fglrxinfo
libGL: XF86DRIGetClientDriverName: 5.3.0 r300 (screen 0)
libGL: OpenDriver: trying /usr/lib/dri/tls/r300_dri.so
libGL: OpenDriver: trying /usr/lib/dri/r300_dri.so
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 4, (OK)
drmOpenByBusid: Searching for BusID pci:0000:01:05.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 4, (OK)
drmOpenByBusid: drmOpenMinor returns 4
drmOpenByBusid: drmGetBusid reports pci:0000:01:05.0
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /root/.drirc: No such file or directory.
display: :0.0  screen: 0
OpenGL vendor string: DRI R300 Project
OpenGL renderer string: Mesa DRI R300 20060815 x86/MMX/SSE2 NO-TCL
OpenGL version string: 1.4 Mesa 7.5.2

Я так понимаю у юзера прав не хватает?

.

$ fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 3850
OpenGL version string: 2.1.9116

$ DISPLAY=:0 LIBGL_DEBUG=verbose fglrxinfo
libGL: XF86DRIGetClientDriverName: 8.67.4 fglrx (screen 0)
libGL: OpenDriver: trying /usr/lib64/dri/tls/fglrx_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/fglrx_dri.so
libGL: XF86DRIGetClientDriverName: 8.67.4 fglrx (screen 0)
libGL: OpenDriver: trying /usr/lib64/dri/tls/fglrx_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/fglrx_dri.so
drmDynamicMajor: found major device number 249
drmDynamicMajor: found major device number 249
drmOpenByBusid: Searching for BusID PCI:1:0:0
drmDynamicMajor: found major device number 249
drmOpenDevice: node name is /dev/ati/card0
drmOpenDevice: open result is 5, (OK)
drmOpenByBusid: drmOpenMinor returns 5
drmOpenByBusid: drmGetBusid reports PCI:1:0:0
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 3850
OpenGL version string: 2.1.9116

$ eselect opengl list
Available OpenGL implementations:
  [1]   ati *
  [2]   xorg-x11

Это подпись, которую невозможно истолковать неправильно

продолжаю тему

Приветствую Всех!

Побороть так и не получилось Segmentation fault, все так же под юзером выпадает.

После запуска fglrxinfo в dmesg | tail:

fglrxinfo[14217]: segfault at 200 ip 4a95fa4d sp bfc22290 error 4 in ld-2.11.so[4a94b000+1d000]

ld-2.11.so относится к glibc, повторная сборка не помогла

Из Википедии:

Ошибка сегментации (англ. Segmentation fault или сокращённо segfault) — ошибка программного обеспечения, возникающая при попытке обращения к недоступным для записи участкам памяти либо при попытке изменения памяти запрещённым способом.
...Microsoft Windows, процесс, получающий доступ к недействительным участкам памяти, создаёт исключение STATUS_ACCESS_VIOLATION...

При запуске игр под wine выпадает и это исключение STATUS_ACCESS_VIOLATION.
Получается что из-за ограничений доступа пользователя не удается обратиться к участку памяти.

Подскажите, как можно получить больше debug-информации при запуске какого либо приложения, например тот же fglrxinfo.

Под текущим пользователем, делаю su этот же юзер, после чего Segmentation fault не выпадает. Почему так?

Ну для debuf-информации можно

Ну для debuf-информации можно использовать dev-util/strace, запускать strace fglrxinfo. Но там уже информация серьёзная ;-)

Истин имперских звезда засияет.

Nirvandil написал(а):Ну для

Nirvandil написал(а):
Ну для debuf-информации можно использовать dev-util/strace, запускать strace fglrxinfo. Но там уже информация серьёзная ;-)

Спасибо!

А вот что происходит:

Когда выпадает Segmentation fault. Юзер не рут.

open("/usr/lib/xorg/tls/i686/sse2/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)           
open("/usr/lib/xorg/tls/i686/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)                
stat64("/usr/lib/xorg/tls/i686", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0                           
open("/usr/lib/xorg/tls/sse2/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)                
stat64("/usr/lib/xorg/tls/sse2", 0xbf8862b8) = -1 ENOENT (No such file or directory)                      
open("/usr/lib/xorg/tls/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)                     
stat64("/usr/lib/xorg/tls", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 

Когда не выпадает, тот же юзер но после su user

open("/lib/libc.so.6", O_RDONLY)        = 3                                                                        
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20-\230J4\0\0\0"..., 512) = 512                           
fstat64(3, {st_mode=S_IFREG|0755, st_size=1342928, ...}) = 0                                                       
mmap2(0x4a96c000, 1345832, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4a96c000                      
mmap2(0x4aaaf000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x143) = 0x4aaaf000         
mmap2(0x4aab2000, 10536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4aab2000            
close(3)  

Подскажите, что отвечает за эти пути к файлам?

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".