Автор Тема: 32-x битные приложения на 64-х битном сервере  (Прочитано 7118 раз)

Оффлайн vak

  • Завсегдатай
  • *
  • Сообщений: 70
Определению причин поможет выхов программы через
strace -fff <prg>Там будет очень подробный вывод обращения с файлам.

[bf2@game1 amd-64]$ strace -fff ./bf2
execve("./bf2", ["./bf2"], [/* 35 vars */]) = 0
brk(0)                                  = 0x114c000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3fd571b000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3fd571a000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=34529, ...}) = 0
mmap(NULL, 34529, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f3fd5711000
close(3)                                = 0
open("/lib64/libz.so.1", O_RDONLY)      = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\35\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=92528, ...}) = 0
mmap(NULL, 2187728, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3fd52eb000
fadvise64(3, 0, 2187728, POSIX_FADV_WILLNEED) = 0
mprotect(0x7f3fd5301000, 2093056, PROT_NONE) = 0
mmap(0x7f3fd5500000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f3fd5500000
close(3)                                = 0
open("/usr/lib64/libncurses.so.5", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@o\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=134624, ...}) = 0
mmap(NULL, 2230280, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3fd50ca000
fadvise64(3, 0, 2230280, POSIX_FADV_WILLNEED) = 0
mprotect(0x7f3fd50ea000, 2093056, PROT_NONE) = 0
mmap(0x7f3fd52e9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f000) = 0x7f3fd52e9000
close(3)                                = 0
open("/lib64/tls/x86_64/libdice_py.so", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib64/tls/x86_64", 0x7fff3effc2f0) = -1 ENOENT (No such file or directory)
open("/lib64/tls/libdice_py.so", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib64/tls", 0x7fff3effc2f0)      = -1 ENOENT (No such file or directory)
open("/lib64/x86_64/libdice_py.so", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib64/x86_64", 0x7fff3effc2f0)   = -1 ENOENT (No such file or directory)
open("/lib64/libdice_py.so", O_RDONLY)  = -1 ENOENT (No such file or directory)
stat("/lib64", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
open("/usr/lib64/tls/x86_64/libdice_py.so", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/tls/x86_64", 0x7fff3effc2f0) = -1 ENOENT (No such file or directory)
open("/usr/lib64/tls/libdice_py.so", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/tls", 0x7fff3effc2f0)  = -1 ENOENT (No such file or directory)
open("/usr/lib64/x86_64/libdice_py.so", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/x86_64", 0x7fff3effc2f0) = -1 ENOENT (No such file or directory)
open("/usr/lib64/libdice_py.so", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220U\3\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1846930, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3fd5710000
mmap(NULL, 2710744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3fd4e34000
fadvise64(3, 0, 2710744, POSIX_FADV_WILLNEED) = 0
mprotect(0x7f3fd4f2d000, 1048576, PROT_NONE) = 0
mmap(0x7f3fd502d000, 626688, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf9000) = 0x7f3fd502d000
mmap(0x7f3fd50c6000, 15576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f3fd50c6000
close(3)                                = 0
open("/lib64/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@X\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=125911, ...}) = 0
mmap(NULL, 2204544, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3fd4c19000
fadvise64(3, 0, 2204544, POSIX_FADV_WILLNEED) = 0
mprotect(0x7f3fd4c2e000, 2097152, PROT_NONE) = 0
mmap(0x7f3fd4e2e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f3fd4e2e000
mmap(0x7f3fd4e30000, 13184, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f3fd4e30000
close(3)                                = 0
open("/usr/lib64/libstdc++.so.6", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220U\5\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1007112, ...}) = 0
mmap(NULL, 3186776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3fd490e000
fadvise64(3, 0, 3186776, POSIX_FADV_WILLNEED) = 0
mprotect(0x7f3fd49fb000, 2097152, PROT_NONE) = 0
mmap(0x7f3fd4bfb000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xed000) = 0x7f3fd4bfb000
mmap(0x7f3fd4c04000, 82008, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f3fd4c04000
close(3)                                = 0
open("/lib64/libm.so.6", O_RDONLY)      = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 >\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=530696, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3fd570f000
mmap(NULL, 2625736, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3fd468c000
fadvise64(3, 0, 2625736, POSIX_FADV_WILLNEED) = 0
mprotect(0x7f3fd470d000, 2093056, PROT_NONE) = 0
mmap(0x7f3fd490c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x80000) = 0x7f3fd490c000
close(3)                                = 0
open("/lib64/libgcc_s.so.1", O_RDONLY)  = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@+\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=92456, ...}) = 0
mmap(NULL, 2188280, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3fd4475000
fadvise64(3, 0, 2188280, POSIX_FADV_WILLNEED) = 0
mprotect(0x7f3fd448a000, 2097152, PROT_NONE) = 0
mmap(0x7f3fd468a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f3fd468a000
close(3)                                = 0
open("/lib64/libc.so.6", O_RDONLY)      = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\352\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1342760, ...}) = 0
mmap(NULL, 3451656, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3fd412a000
fadvise64(3, 0, 3451656, POSIX_FADV_WILLNEED) = 0
mprotect(0x7f3fd426c000, 2093056, PROT_NONE) = 0
mmap(0x7f3fd446b000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x141000) = 0x7f3fd446b000
mmap(0x7f3fd4470000, 19208, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f3fd4470000
close(3)                                = 0
open("/lib64/libdl.so.2", O_RDONLY)     = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\r\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=14592, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3fd570e000
mmap(NULL, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3fd3f26000
fadvise64(3, 0, 2109696, POSIX_FADV_WILLNEED) = 0
mprotect(0x7f3fd3f28000, 2097152, PROT_NONE) = 0
mmap(0x7f3fd4128000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f3fd4128000
close(3)                                = 0
open("/usr/lib64/libgpm.so.1", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300!\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=27072, ...}) = 0
mmap(NULL, 2123432, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3fd3d1f000
fadvise64(3, 0, 2123432, POSIX_FADV_WILLNEED) = 0
mprotect(0x7f3fd3d25000, 2093056, PROT_NONE) = 0
mmap(0x7f3fd3f24000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7f3fd3f24000
close(3)                                = 0
open("/lib64/libtinfo.so.5", O_RDONLY)  = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\315\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=135248, ...}) = 0
mmap(NULL, 2231776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3fd3afe000
fadvise64(3, 0, 2231776, POSIX_FADV_WILLNEED) = 0
mprotect(0x7f3fd3b1b000, 2093056, PROT_NONE) = 0
mmap(0x7f3fd3d1a000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c000) = 0x7f3fd3d1a000
close(3)                                = 0
open("/lib64/libutil.so.1", O_RDONLY)   = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=10544, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3fd570d000
mmap(NULL, 2105600, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3fd38fb000
fadvise64(3, 0, 2105600, POSIX_FADV_WILLNEED) = 0
mprotect(0x7f3fd38fd000, 2093056, PROT_NONE) = 0
mmap(0x7f3fd3afc000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f3fd3afc000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3fd570c000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3fd570b000
arch_prctl(ARCH_SET_FS, 0x7f3fd570b710) = 0
mprotect(0x7f3fd3afc000, 4096, PROT_READ) = 0
mprotect(0x7f3fd3d1a000, 16384, PROT_READ) = 0
mprotect(0x7f3fd3f24000, 4096, PROT_READ) = 0
mprotect(0x7f3fd4128000, 4096, PROT_READ) = 0
mprotect(0x7f3fd446b000, 16384, PROT_READ) = 0
mprotect(0x7f3fd468a000, 4096, PROT_READ) = 0
mprotect(0x7f3fd490c000, 4096, PROT_READ) = 0
mprotect(0x7f3fd4bfb000, 28672, PROT_READ) = 0
mprotect(0x7f3fd4e2e000, 4096, PROT_READ) = 0
mprotect(0x7f3fd52e9000, 4096, PROT_READ) = 0
mprotect(0x7f3fd5500000, 4096, PROT_READ) = 0
mprotect(0x7f3fd571c000, 4096, PROT_READ) = 0
munmap(0x7f3fd5711000, 34529)           = 0
set_tid_address(0x7f3fd570b7e0)         = 4166
set_robust_list(0x7f3fd570b7f0, 0x18)   = 0
futex(0x7fff3effcc6c, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7fff3effcc6c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 7f3fd570b710) = -1 ENOSYS (Function not implemented)
rt_sigaction(SIGRTMIN, {0x7f3fd4c1e6d0, [], SA_RESTORER|SA_SIGINFO, 0x7f3fd4c27330}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7f3fd4c1e760, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f3fd4c27330}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
futex(0x7f3fd4c04ba8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
brk(0)                                  = 0x114c000
brk(0x116d000)                          = 0x116d000
brk(0x118e000)                          = 0x118e000
brk(0x11b4000)                          = 0x11b4000
brk(0x11d8000)                          = 0x11d8000
brk(0x11f9000)                          = 0x11f9000
brk(0x121f000)                          = 0x121f000
brk(0x1240000)                          = 0x1240000
brk(0x1261000)                          = 0x1261000
brk(0x1282000)                          = 0x1282000
brk(0x12a3000)                          = 0x12a3000
brk(0x12c4000)                          = 0x12c4000
open("mods/bf2/serverarchives.con", O_RDONLY) = -1 ENOENT (No such file or directory)
open("serverarchives.con", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("mods/bf2/settings/usersettings.con", O_RDONLY) = -1 ENOENT (No such file or directory)
open("settings/usersettings.con", O_RDONLY) = -1 ENOENT (No such file or directory)
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
getuid()                                = 5001
geteuid()                               = 5001
getgid()                                = 5001
getegid()                               = 5001
getuid()                                = 5001
geteuid()                               = 5001
getuid()                                = 5001
geteuid()                               = 5001
getgid()                                = 5001
getegid()                               = 5001
getuid()                                = 5001
geteuid()                               = 5001
getuid()                                = 5001
geteuid()                               = 5001
getgid()                                = 5001
getegid()                               = 5001
getuid()                                = 5001
geteuid()                               = 5001
stat("/lib/terminfo", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
access("/lib/terminfo/x/xterm", R_OK)   = 0
open("/lib/terminfo/x/xterm", O_RDONLY) = 3
read(3, "\32\0010\0&\0\17\0\235\1l\5xterm|xterm terminal"..., 4097) = 3258
close(3)                                = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
brk(0x12e5000)                          = 0x12e5000
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig -icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig -icanon -echo ...}) = 0
                                                                               rt_sigaction(SIGTSTP, NULL, {SIG_DFL, [], 0}, 8) = 0
                                                                                                                                   rt_sigaction(SIGTSTP, {0x7f3fd50dea90, [], SA_RESTORER|SA_RESTART, 0x7f3fd4c27330}, NULL, 8) = 0
                                                                                     rt_sigaction(SIGINT, NULL, {SIG_DFL, [], 0}, 8) = 0
                                                                                                                                        rt_sigaction(SIGINT, {0x7f3fd50de9a0, [], SA_RESTORER|SA_RESTART, 0x7f3fd4c27330}, NULL, 8) = 0
                                                                                         rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, 8) = 0
                                                                                                                                             rt_sigaction(SIGTERM, {0x7f3fd50de9a0, [], SA_RESTORER|SA_RESTART, 0x7f3fd4c27330}, NULL, 8) = 0
                                                                                               rt_sigaction(SIGWINCH, NULL, {SIG_DFL, [], 0}, 8) = 0
      rt_sigaction(SIGWINCH, {0x7f3fd50de990, [], SA_RESTORER, 0x7f3fd4c27330}, NULL, 8) = 0
                                                                                            ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
                                ioctl(1, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig -icanon -echo ...}) = 0
                                                                                                               ioctl(1, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig -icanon -echo ...}) = 0
) = 23                                          write(1, "\33[?1049h\33[1;50r\33(B\33[m\33[4l\33[?7h\33["..., 37
      [pid  4166] ioctl(1, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig icanon echo ...}) = 0
[pid  4166] exit_group(1)               = ?
[bf2@game1 amd-64]$


Вот покороче, на скрипт...
[bf2@game1 bf2]$ strace -fff ./run_bf2
execve("./run_bf2", ["./run_bf2"], [/* 35 vars */]) = -1 ENOEXEC (Exec format error)
dup(2)                                  = 3
fcntl(3, F_GETFL)                       = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1516303000
lseek(3, 0, SEEK_CUR)                   = -1 ESPIPE (Illegal seek)
write(3, "strace: exec: Exec format error\n", 32strace: exec: Exec format error
) = 32
close(3)                                = 0
munmap(0x7f1516303000, 4096)            = 0
exit_group(1)                           = ?
[bf2@game1 bf2]$
« Последнее редактирование: 31.01.2011 13:00:56 от vak »