Re: 2.6.13-mm1 X86_64: All 32bit programs segfault

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

 



Andi Kleen wrote:

Hmm - not many x86-64 patches in mm1. 2.6.13 definitely works.
2.6.13-git7 works. So something in -mm has gone bad (if not x86_64, may be i386 or arch-independent changes?) It seems it has got something to do with the sys_set_tid_address as evident from the strace output below. Another thing - If I set LD_ASSUME_KERNEL=2.4 and then run the binary, it works fine.

Last lines of strace -f + the kernel message from dmesg might be useful.

dmesg
--------------------
Sep 7 00:14:23 localhost kernel: mozilla-xremote[4492]: segfault at 00000000000002e8 rip 0000000000c40471 rsp 00000000ffffd334 error 4 Sep 7 00:14:24 localhost kernel: thunderbird-bin[4500]: segfault at 00000000000002e8 rip 0000000000c40471 rsp 00000000ffffcfe4 error 4 Sep 7 00:15:02 localhost kernel: mozilla-xremote[4518]: segfault at 00000000000002e8 rip 0000000000c40471 rsp 00000000ffffce84 error 4 Sep 7 00:15:02 localhost kernel: thunderbird-bin[4526]: segfault at 00000000000002e8 rip 0000000000c40471 rsp 00000000ffffbbe4 error 4

strace -f ./thunderbird
---------------------------
[pid  2888] fstat64(0x3, 0xffffb25c)    = 0
[pid 2888] old_mmap(0x12c8c00c7d000, 8804682956805, PROT_READ|PROT_WRITE, 0xc /* MAP_??? */|MAP_FIXED|MAP_ANONYMOUS|MAP_POPULATE|MAP_NONBLOCK|MAP_GROWSDOWN|MAP_EXECUTABLE|MAP_LOCKED|0xfffe0000, 1, 0xb071e0ffffb14c) = 0xc7d000 [pid 2888] old_mmap(0x100000c8f000, 8873402433539, PROT_READ|PROT_WRITE, 0xc /* MAP_??? */|MAP_FIXED|MAP_ANONYMOUS|MAP_POPULATE|MAP_NONBLOCK|MAP_GROWSDOWN|MAP_EXECUTABLE|MAP_LOCKED|0xfffe0000, 1, 0xb071e0ffffb14c) = 0xc8f000
[pid  2888] close(3)                    = 0
[pid 2888] old_mmap(0x100000000000, 146028888067, PROT_READ|PROT_WRITE|PROT_EXEC|PROT_GROWSDOWN|PROT_GROWSUP|0xfcfffff8, 0x4 /* MAP_??? */|MAP_FIXED|MAP_ANONYMOUS|MAP_NORESERVE|MAP_POPULATE|MAP_GROWSDOWN|MAP_DENYWRITE|MAP_EXECUTABLE|0xb00680, 48, 0x800b071e0) = 0x5599e000 [pid 2888] old_mmap(0x100000000000, 146028888067, PROT_READ|PROT_WRITE|PROT_EXEC|PROT_GROWSDOWN|PROT_GROWSUP|0xfcfffff8, 0x4 /* MAP_??? */|MAP_FIXED|MAP_ANONYMOUS|MAP_NORESERVE|MAP_POPULATE|MAP_GROWSDOWN|MAP_DENYWRITE|MAP_EXECUTABLE|0xb00680, 19, 0x800b071e0) = 0x5599f000 [pid 2888] old_mmap(0x100000000000, 146028888067, PROT_READ|PROT_WRITE|PROT_EXEC|PROT_GROWSDOWN|PROT_GROWSUP|0xfcfffff8, 0x4 /* MAP_??? */|MAP_FIXED|MAP_ANONYMOUS|MAP_NORESERVE|MAP_POPULATE|MAP_GROWSDOWN|MAP_DENYWRITE|MAP_EXECUTABLE|0xb00680, 2832, 0x2000b033df) = 0x559a0000
[pid  2888] set_thread_area(0xffffce20) = 0
[pid  2888] mprotect(0xc34000, 8192, PROT_READ) = 0
[pid  2888] mprotect(0xc73000, 4096, PROT_READ) = 0
[pid  2888] mprotect(0xc4a000, 4096, PROT_READ) = 0
[pid  2888] mprotect(0xc79000, 4096, PROT_READ) = 0
[pid  2888] mprotect(0xb0d000, 4096, PROT_READ) = 0
[pid  2888] munmap(0x555d8000, 155672)  = 0
[pid  2888] set_tid_address(0x559a0608) = 2888
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[pid  2888] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
Process 2883 resumed
Process 2888 detached
[pid  2883] <... chroot resumed> )      = 2888
[ Process PID=2883 runs in 64 bit mode. ]
[pid 2883] fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0 [pid 2883] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaada2d000
[pid  2883] open("/usr/share/locale/locale.alias", O_RDONLY) = 3
[pid  2883] fstat(3, {st_mode=S_IFREG|0644, st_size=2528, ...}) = 0
[pid 2883] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaada2e000
[pid  2883] read(3, "# Locale name alias data base.\n#"..., 4096) = 2528
[pid  2883] read(3, "", 4096)           = 0
[pid  2883] close(3)                    = 0
[pid  2883] munmap(0x2aaaada2e000, 4096) = 0
[pid 2883] open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 2883] open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 2883] open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 2883] open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 2883] open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 2883] open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 2883] write(2, "./run-mozilla.sh: line 159: 288"..., 76./run-mozilla.sh: line 159: 2888 Segmentation fault "$prog" ${1+"$@"}
) = 76
[pid  2883] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
[pid  2883] --- SIGCHLD (Child exited) @ 0 (0) ---
[pid 2883] wait4(-1, 0x7fffffe133d4, WNOHANG, NULL) = -1 ECHILD (No child processes)
[pid  2883] rt_sigreturn(0xffffffffffffffff) = 0
[pid 2883] rt_sigaction(SIGINT, {SIG_DFL}, {0x4312b5, [], SA_RESTORER, 0x3116d2f330}, 8) = 0
[pid  2883] rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
[pid  2883] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
[pid  2883] rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
[pid 2883] stat("core", 0x7fffffe138e0) = -1 ENOENT (No such file or directory)[pid 2883] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
[pid  2883] rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
[pid  2883] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
[pid  2883] rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
[pid  2883] read(255, "\nexit $exitcode\n", 8192) = 16
[pid  2883] rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
[pid  2883] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
[pid  2883] munmap(0x2aaaada2d000, 4096) = 0
[pid  2883] exit_group(139)             = ?
Process 2870 resumed
Process 2883 detached
<... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 139}], 0, NULL) = 2883
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
wait4(-1, 0x7fffffbf54e4, WNOHANG, NULL) = -1 ECHILD (No child processes)
rt_sigreturn(0xffffffffffffffff)        = 0
rt_sigaction(SIGINT, {SIG_DFL}, {0x4312b5, [], SA_RESTORER, 0x3116d2f330}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
read(255, "exitcode=$?\n\n## Stop addon scrip"..., 6653) = 91
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("/home/paragw/.thunderbird/init.d/", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOENT (No such file or directory)
open("./init.d/", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
getdents64(3, /* 3 entries */, 4096)    = 80
getdents64(3, /* 0 entries */, 4096)    = 0
close(3)                                = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
access("/home/paragw/.thunderbird/init.d/K*", X_OK) = -1 ENOENT (No such file or directory)
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
access("./init.d/K*", X_OK) = -1 ENOENT (No such file or directory)
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
exit_group(139)

-Andi



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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