* [Bug libc/11214] invalid opcode in ld.so
2010-01-23 16:39 [Bug libc/11214] New: invalid opcode in ld.so hjl dot tools at gmail dot com
@ 2010-01-25 14:06 ` hjl dot tools at gmail dot com
2010-01-26 23:41 ` hjl dot tools at gmail dot com
` (8 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: hjl dot tools at gmail dot com @ 2010-01-25 14:06 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From hjl dot tools at gmail dot com 2010-01-25 14:06 -------
To reproduce on Fedora 12/x86-64:
1. Get the current gdb.
2. Build gdb.
3. Run "make check RUNTESTFLAGS=server-run.exp". It will
fail at random:
ERROR: tcl error sourcing
/export/gnu/import/git/gdb/gdb/testsuite/gdb.server/server-run.exp.
ERROR: : spawn id exp7 not open
while executing
"expect_background -nobrace -i exp7 full_buffer { } eof {
# The spawn ID is already closed now (but not yet waited for).
wait -i $expect_out(..."
invoked from within
"expect_background {
-i $server_spawn_id
full_buffer { }
eof {
# The spawn ID is already closed now (but not yet waited for).
wait -i $exp..."
(procedure "gdbserver_start" line 67)
invoked from within
"gdbserver_start "" $arguments"
(procedure "gdbserver_spawn" line 11)
invoked from within
"gdbserver_spawn $child_args"
(procedure "gdbserver_run" line 20)
invoked from within
"gdbserver_run """
(file "/export/gnu/import/git/gdb/gdb/testsuite/gdb.server/server-run.exp"
line 38)
invoked from within
"source /export/gnu/import/git/gdb/gdb/testsuite/gdb.server/server-run.exp"
("uplevel" body line 1)
invoked from within
"uplevel #0 source
/export/gnu/import/git/gdb/gdb/testsuite/gdb.server/server-run.exp"
invoked from within
"catch "uplevel #0 source $test_file_name""
Kernel message is
gdbserver[27784] trap invalid opcode ip:3df7414959 sp:173a058 error:0 in
ld-2.11.1.so[3df7400000+1e000]
--
http://sourceware.org/bugzilla/show_bug.cgi?id=11214
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libc/11214] invalid opcode in ld.so
2010-01-23 16:39 [Bug libc/11214] New: invalid opcode in ld.so hjl dot tools at gmail dot com
2010-01-25 14:06 ` [Bug libc/11214] " hjl dot tools at gmail dot com
@ 2010-01-26 23:41 ` hjl dot tools at gmail dot com
2010-01-27 0:04 ` [Bug libc/11214] There is a race condition in ld.so with CLONE_VM hjl dot tools at gmail dot com
` (7 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: hjl dot tools at gmail dot com @ 2010-01-26 23:41 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From hjl dot tools at gmail dot com 2010-01-26 23:40 -------
_dl_x86_64_save_sse was never called. However, sometimes
_dl_x86_64_restore_sse is called via
gdb) bt
#0 _dl_check_restore (avx=622750216) at ../sysdeps/x86_64/dl-check.c:18
#1 0x00007f1924fe4a3b in _dl_x86_64_restore_sse ()
at ../sysdeps/x86_64/dl-trampoline.S:222
#2 0x00007f1924fde315 in _dl_fixup (l=<value optimized out>,
reloc_arg=<value optimized out>) at ../elf/dl-runtime.c:126
#3 0x00007f1924fe43c5 in _dl_runtime_resolve ()
at ../sysdeps/x86_64/dl-trampoline.S:41
#4 0x0000000000410f63 in linux_tracefork_child (arg=0x7f19251e8000)
at /export/gnu/import/git/gdb/gdb/gdbserver/linux-low.c:2587
#5 0x00007f1924b3524d in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
(gdb)
gdb uses
child_pid = clone (linux_tracefork_child, stack + STACK_SIZE,
CLONE_VM | SIGCHLD, stack + STACK_SIZE * 2);
static int
linux_tracefork_child (void *arg)
{
ptrace (PTRACE_TRACEME, 0, 0, 0);
kill (getpid (), SIGSTOP);
clone (linux_tracefork_grandchild, arg + STACK_SIZE,
CLONE_VM | SIGCHLD, NULL);
exit (0);
}
Since 2 processes share the TLS and memory space, there is
a race condition. Maybe gdb shouldn't use CLONE_VM for x86-64
or use "-z now" for linking.
--
http://sourceware.org/bugzilla/show_bug.cgi?id=11214
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libc/11214] There is a race condition in ld.so with CLONE_VM
2010-01-23 16:39 [Bug libc/11214] New: invalid opcode in ld.so hjl dot tools at gmail dot com
2010-01-25 14:06 ` [Bug libc/11214] " hjl dot tools at gmail dot com
2010-01-26 23:41 ` hjl dot tools at gmail dot com
@ 2010-01-27 0:04 ` hjl dot tools at gmail dot com
2010-01-27 4:09 ` hjl dot tools at gmail dot com
` (6 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: hjl dot tools at gmail dot com @ 2010-01-27 0:04 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From hjl dot tools at gmail dot com 2010-01-27 00:04 -------
With CLONE_VM, THREAD_GETMEM (THREAD_SELF, header.rtld_must_xmm_save)
may be updated by 2 processes at the same time since parent and
child share the same TLS.
--
What |Removed |Added
----------------------------------------------------------------------------
Summary|invalid opcode in ld.so |There is a race condition in
| |ld.so with CLONE_VM
http://sourceware.org/bugzilla/show_bug.cgi?id=11214
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libc/11214] There is a race condition in ld.so with CLONE_VM
2010-01-23 16:39 [Bug libc/11214] New: invalid opcode in ld.so hjl dot tools at gmail dot com
` (2 preceding siblings ...)
2010-01-27 0:04 ` [Bug libc/11214] There is a race condition in ld.so with CLONE_VM hjl dot tools at gmail dot com
@ 2010-01-27 4:09 ` hjl dot tools at gmail dot com
2010-01-27 6:50 ` jakub at redhat dot com
` (5 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: hjl dot tools at gmail dot com @ 2010-01-27 4:09 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From hjl dot tools at gmail dot com 2010-01-27 04:09 -------
We can put wrapper of clone in nptl. If clone is
called with CLONE_VM, we mark ld.so TLS is shared.
--
http://sourceware.org/bugzilla/show_bug.cgi?id=11214
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libc/11214] There is a race condition in ld.so with CLONE_VM
2010-01-23 16:39 [Bug libc/11214] New: invalid opcode in ld.so hjl dot tools at gmail dot com
` (3 preceding siblings ...)
2010-01-27 4:09 ` hjl dot tools at gmail dot com
@ 2010-01-27 6:50 ` jakub at redhat dot com
2010-01-27 13:02 ` hjl dot tools at gmail dot com
` (4 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: jakub at redhat dot com @ 2010-01-27 6:50 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From jakub at redhat dot com 2010-01-27 06:50 -------
IMNSHO this is a gdb bug, there is no point hacking up something in this ld.so
case when many other things break equally horribly when using CLONE_VM without
cloning TLS - everything that uses __thread or other thread local area fields is
broken in that case. While the kernel supports all flags for clone, glibc
supports only a limited subset of the combinations.
--
http://sourceware.org/bugzilla/show_bug.cgi?id=11214
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libc/11214] There is a race condition in ld.so with CLONE_VM
2010-01-23 16:39 [Bug libc/11214] New: invalid opcode in ld.so hjl dot tools at gmail dot com
` (4 preceding siblings ...)
2010-01-27 6:50 ` jakub at redhat dot com
@ 2010-01-27 13:02 ` hjl dot tools at gmail dot com
2010-01-27 13:55 ` hjl dot tools at gmail dot com
` (3 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: hjl dot tools at gmail dot com @ 2010-01-27 13:02 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From hjl dot tools at gmail dot com 2010-01-27 13:02 -------
CLONE_VM is used by many applications. What do they have to do
to clone TLS?
--
http://sourceware.org/bugzilla/show_bug.cgi?id=11214
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libc/11214] There is a race condition in ld.so with CLONE_VM
2010-01-23 16:39 [Bug libc/11214] New: invalid opcode in ld.so hjl dot tools at gmail dot com
` (5 preceding siblings ...)
2010-01-27 13:02 ` hjl dot tools at gmail dot com
@ 2010-01-27 13:55 ` hjl dot tools at gmail dot com
2010-01-27 22:14 ` jan dot kratochvil at redhat dot com
` (2 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: hjl dot tools at gmail dot com @ 2010-01-27 13:55 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From hjl dot tools at gmail dot com 2010-01-27 13:55 -------
(In reply to comment #5)
> IMNSHO this is a gdb bug, there is no point hacking up something in this ld.so
> case when many other things break equally horribly when using CLONE_VM without
> cloning TLS - everything that uses __thread or other thread local area fields is
> broken in that case. While the kernel supports all flags for clone, glibc
> supports only a limited subset of the combinations.
Those applications don't use TLS and ld.so uses TLS behind their
back. Shouldn't ld.so use TLS only if libpthread is used?
--
http://sourceware.org/bugzilla/show_bug.cgi?id=11214
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libc/11214] There is a race condition in ld.so with CLONE_VM
2010-01-23 16:39 [Bug libc/11214] New: invalid opcode in ld.so hjl dot tools at gmail dot com
` (6 preceding siblings ...)
2010-01-27 13:55 ` hjl dot tools at gmail dot com
@ 2010-01-27 22:14 ` jan dot kratochvil at redhat dot com
2010-02-01 20:24 ` jan dot kratochvil at redhat dot com
2010-04-04 9:16 ` drepper at redhat dot com
9 siblings, 0 replies; 12+ messages in thread
From: jan dot kratochvil at redhat dot com @ 2010-01-27 22:14 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From jan dot kratochvil at redhat dot com 2010-01-27 22:14 -------
Posted for GCDB:
http://sourceware.org/ml/gdb-patches/2010-01/msg00599.html
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |jan dot kratochvil at redhat
| |dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=11214
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libc/11214] There is a race condition in ld.so with CLONE_VM
2010-01-23 16:39 [Bug libc/11214] New: invalid opcode in ld.so hjl dot tools at gmail dot com
` (7 preceding siblings ...)
2010-01-27 22:14 ` jan dot kratochvil at redhat dot com
@ 2010-02-01 20:24 ` jan dot kratochvil at redhat dot com
2010-04-04 9:16 ` drepper at redhat dot com
9 siblings, 0 replies; 12+ messages in thread
From: jan dot kratochvil at redhat dot com @ 2010-02-01 20:24 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From jan dot kratochvil at redhat dot com 2010-02-01 20:24 -------
For GDB it is now checked in FSF GDB:
http://sourceware.org/ml/gdb-patches/2010-02/msg00028.html
--
http://sourceware.org/bugzilla/show_bug.cgi?id=11214
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug libc/11214] There is a race condition in ld.so with CLONE_VM
2010-01-23 16:39 [Bug libc/11214] New: invalid opcode in ld.so hjl dot tools at gmail dot com
` (8 preceding siblings ...)
2010-02-01 20:24 ` jan dot kratochvil at redhat dot com
@ 2010-04-04 9:16 ` drepper at redhat dot com
9 siblings, 0 replies; 12+ messages in thread
From: drepper at redhat dot com @ 2010-04-04 9:16 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From drepper at redhat dot com 2010-04-04 09:16 -------
Not a glibc problem.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |INVALID
http://sourceware.org/bugzilla/show_bug.cgi?id=11214
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 12+ messages in thread