mplayer i nowy glibc

Łukasz 'LCF' Jagiełło lcf w isonews.pl
Pon, 10 Sty 2005, 01:05:34 CET


#v+
[lcf w heaven lcf]$ rpm -qa | grep mplayer
mplayer-1.0-0.pre6.1
[lcf w heaven lcf]$ rpm -qa | grep glibc  
glibc-misc-2.3.4-0.20041122.2
glibc-zoneinfo_right-2.3.4-0.20041122.2
glibc-devel-2.3.4-0.20041122.2
glibc-profile-2.3.4-0.20041122.2
glibc-pic-2.3.4-0.20041122.2
glibc-localedb-all-2.3.4-0.20041122.2
glibc-2.3.4-0.20041122.2
glibc-static-2.3.4-0.20041122.2


[lcf w heaven lcf]$ mplayer test.avi 
Naruszenie ochrony pamięci

[lcf w heaven lcf]$ strace mplayer test.avi 
execve("/usr/bin/mplayer", ["mplayer", "test.avi"], [/* 39 vars */]) = 0
uname({sys="Linux", node="heaven", ...}) = 0
brk(0)                                  = 0x862ee70
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or
directory) open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=65107, ...}) = 0
[...]
open("/lib/libncurses.so.5", 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\0I\0\000"..., 512) =
512 fstat64(3, {st_mode=S_IFREG|0755, st_size=101600, ...}) = 0
mmap2(NULL, 105288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x41659000 mmap2(0x41672000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18) = 0x41672000 close(3)           
                    = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x41673000 mmap2(NULL, 4096,
PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x41674000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x41675000 mprotect(0x41542000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0x41542000, 4096, PROT_READ|PROT_EXEC) = 0
mprotect(0x40e51000, 7081984, PROT_READ|PROT_WRITE) = 0
mprotect(0x40e51000, 7081984, PROT_READ|PROT_EXEC) = 0
mprotect(0x40be8000, 4096, PROT_READ)   = 0
mprotect(0x408f3000, 385024, PROT_READ|PROT_WRITE) = 0
mprotect(0x408f3000, 385024, PROT_READ|PROT_EXEC) = 0
mprotect(0x40872000, 380928, PROT_READ|PROT_WRITE) = 0
mprotect(0x40872000, 380928, PROT_READ|PROT_EXEC) = 0
mprotect(0x402e1000, 155648, PROT_READ|PROT_WRITE) = 0
mprotect(0x402e1000, 155648, PROT_READ|PROT_EXEC) = 0
mprotect(0x4019b000, 573440, PROT_READ|PROT_WRITE) = 0
mprotect(0x4019b000, 573440, PROT_READ|PROT_EXEC) = 0
mprotect(0x40069000, 102400, PROT_READ|PROT_WRITE) = 0
mprotect(0x40069000, 102400, PROT_READ|PROT_EXEC) = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0x41675140, limit:1048575,
seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1,
seg_not_present:0, useable:1}) = 0 munmap(0x40017000, 65107)               = 0
set_tid_address(0x41675188)             = 6711
rt_sigaction(SIGRTMIN, {0x403eb440, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x403eb4c0, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
_sysctl({{CTL_KERN, KERN_VERSION}, 2, 0xbffff1e8, 30, (nil), 0}) = 0
futex(0x403e6064, FUTEX_WAKE, 2147483647) = 0
brk(0)                                  = 0x862ee70
brk(0x864fe70)                          = 0x864fe70
brk(0x8650000)                          = 0x8650000
open("/dev/zero", O_RDWR)               = 3
mmap2(NULL, 1024, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x40017000 close(3)                                = 0
mmap2(NULL, 688128, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x41676000--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
#v-

Wszystko inne działa tylko mplayer przestał po upgradzie do nowego glibc'a na
starym z lipca chyba wszystko działało poprawnie. Ma ktoś pomysł czemu
Segfault'a łapie?


-- 
*|    __   _________                                          |*
*|   / /  / ___/ __/  Łukasz Jagiełło lcf<at>affils<dot>com   |*
*|  / /__/ /__/ _/    Po London Elektricity LIVE! nie bedzie  |*
*| /____/\___/_/      juz nic bardziej spektakularnego....:(  |*




Więcej informacji o liście dyskusyjnej pld-users-pl