Re: RT patch breaks X86_64 build

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ingo Molnar wrote:
perhaps my mcount stubs dont save enough registers, leading to register corruption on 64-bit userspace? In that case i'd expect more breakage though, so maybe it's something more subtle.

I got an strace of 64-bit bash segfaulting under x86_64 kernel with LATENCY_TRACE. For comparison I also attach an strace output of the same bash running under a kernel without LATENCY_TRACE.

Michal
execve("/bin/bash.real", ["bash.real"], [/* 15 vars */]) = 0
uname({sys="Linux", node="k4-912b", ...}) = 0
brk(0)                                  = 0x5c1000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = -1 ENOENT (No such file or directory)
open("/lib/tls/x86_64/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/tls/x86_64", 0x7fffffb38440) = -1 ENOENT (No such file or directory)
open("/lib/tls/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/tls", 0x7fffffb38440)        = -1 ENOENT (No such file or directory)
open("/lib/x86_64/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64", 0x7fffffb38440)     = -1 ENOENT (No such file or directory)
open("/lib/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\0P\371\1\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0644, st_size=365776, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaac0000
mmap(NULL, 1415952, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2aaaaabc3000
mprotect(0x2aaaaac0b000, 1121040, PROT_NONE) = 0
mmap(0x2aaaaad0a000, 73728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x47000) = 0x2aaaaad0a000
mmap(0x2aaaaad1c000, 2832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2aaaaad1c000
close(3)                                = 0
open("/lib/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`\22\0\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0644, st_size=11464, ...}) = 0
mmap(NULL, 1058136, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2aaaaad1d000
mprotect(0x2aaaaad1f000, 1049944, PROT_NONE) = 0
mmap(0x2aaaaae1f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x2aaaaae1f000
close(3)                                = 0
open("/lib/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`\313\1\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0644, st_size=1287456, ...}) = 0
mmap(NULL, 2345768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2aaaaae20000
mprotect(0x2aaaaaf41000, 1162024, PROT_NONE) = 0
mmap(0x2aaaab041000, 98304, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x121000) = 0x2aaaab041000
mmap(0x2aaaab059000, 15144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2aaaab059000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaab05d000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaab05e000
arch_prctl(ARCH_SET_FS, 0x2aaaab05dd50) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("/dev/tty", O_RDWR|O_NONBLOCK)     = -1 ENOENT (No such file or directory)
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
brk(0)                                  = 0x5c1000
brk(0x5c2000)                           = 0x5c2000
brk(0x5c4000)                           = 0x5c4000
readlink("/proc/self/fd/0", 0x5c2008, 4095) = -1 ENOENT (No such file or directory)
fstat(0, {st_mode=S_IFCHR|0600, st_rdev=makedev(4, 1), ...}) = 0
stat("/dev/pts", 0x7fffffb38a70)        = -1 ENOENT (No such file or directory)
stat("/dev/vc", 0x7fffffb38a70)         = -1 ENOENT (No such file or directory)
stat("/dev/tts", 0x7fffffb38a70)        = -1 ENOENT (No such file or directory)
open("/dev", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/locale-archive", O_RDONLY) = -1 ENOENT (No such file or directory)
brk(0x5c5000)                           = 0x5c5000
open("/usr/share/locale/locale.alias", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/cs_CZ.UTF-8/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/cs_CZ.utf8/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/cs_CZ/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/cs.UTF-8/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/cs.utf8/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/cs/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
getuid()                                = 0
getgid()                                = 0
geteuid()                               = 0
getegid()                               = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
execve("/bin/bash.real", ["bash.real"], [/* 15 vars */]) = 0
uname({sys="Linux", node="k4-912b", ...}) = 0
brk(0)                                  = 0x5c1000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = -1 ENOENT (No such file or directory)
open("/lib/tls/x86_64/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/tls/x86_64", 0x7fffffab5bc0) = -1 ENOENT (No such file or directory)
open("/lib/tls/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/tls", 0x7fffffab5bc0)        = -1 ENOENT (No such file or directory)
open("/lib/x86_64/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64", 0x7fffffab5bc0)     = -1 ENOENT (No such file or directory)
open("/lib/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\0P\371\1\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0644, st_size=365776, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaac0000
mmap(NULL, 1415952, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2aaaaabc3000
mprotect(0x2aaaaac0b000, 1121040, PROT_NONE) = 0
mmap(0x2aaaaad0a000, 73728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x47000) = 0x2aaaaad0a000
mmap(0x2aaaaad1c000, 2832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2aaaaad1c000
close(3)                                = 0
open("/lib/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`\22\0\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0644, st_size=11464, ...}) = 0
mmap(NULL, 1058136, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2aaaaad1d000
mprotect(0x2aaaaad1f000, 1049944, PROT_NONE) = 0
mmap(0x2aaaaae1f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x2aaaaae1f000
close(3)                                = 0
open("/lib/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`\313\1\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0644, st_size=1287456, ...}) = 0
mmap(NULL, 2345768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2aaaaae20000
mprotect(0x2aaaaaf41000, 1162024, PROT_NONE) = 0
mmap(0x2aaaab041000, 98304, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x121000) = 0x2aaaab041000
mmap(0x2aaaab059000, 15144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2aaaab059000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaab05d000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaab05e000
arch_prctl(ARCH_SET_FS, 0x2aaaab05dd50) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("/dev/tty", O_RDWR|O_NONBLOCK)     = -1 ENOENT (No such file or directory)
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
brk(0)                                  = 0x5c1000
brk(0x5c2000)                           = 0x5c2000
brk(0x5c4000)                           = 0x5c4000
readlink("/proc/self/fd/0", 0x5c2008, 4095) = -1 ENOENT (No such file or directory)
fstat(0, {st_mode=S_IFCHR|0600, st_rdev=makedev(4, 1), ...}) = 0
stat("/dev/pts", 0x7fffffab61f0)        = -1 ENOENT (No such file or directory)
stat("/dev/vc", 0x7fffffab61f0)         = -1 ENOENT (No such file or directory)
stat("/dev/tts", 0x7fffffab61f0)        = -1 ENOENT (No such file or directory)
open("/dev", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/locale-archive", O_RDONLY) = -1 ENOENT (No such file or directory)
brk(0x5c5000)                           = 0x5c5000
open("/usr/share/locale/locale.alias", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/cs_CZ.UTF-8/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/cs_CZ.utf8/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/cs_CZ/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/cs.UTF-8/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/cs.utf8/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/cs/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
getuid()                                = 0
getgid()                                = 0
geteuid()                               = 0
getegid()                               = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
brk(0x5c6000)                           = 0x5c6000
open("/etc/mtab", O_RDONLY)             = -1 ENOENT (No such file or directory)
open("/etc/fstab", O_RDONLY)            = -1 ENOENT (No such file or directory)
open("/proc/meminfo", O_RDONLY)         = -1 ENOENT (No such file or directory)
brk(0x5c7000)                           = 0x5c7000
rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0
...and so on, continues without problems

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux