public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Jay Lan <jlan@sgi.com>
To: linux-ia64@vger.kernel.org
Subject: [BUG] running strace utility can cause system to hang at sys_ptrace
Date: Thu, 13 Jul 2006 17:58:17 +0000	[thread overview]
Message-ID: <44B689B9.3090902@sgi.com> (raw)

We ran into a system hang problem at sys_ptrace.

The system may hang if a user attempts to "strace" a pthreaded
application that is making frequent calls to pthread_create &
pthread_exit.
The hang is caused by a task sleeping (yield()) while holding the
tasklist_lock.

Note that the problem appears to exist ONLY on IA64. IA64 has an
ARCH-specific implementation of sys_ptrace().

The failing path is:

          sys_ptrace
            read_lock(&tasklist_lock);
               find_thread_for_addr(child, addr);
                 thread_matches(p, addr)
                   ptrace_check_attach(thread, 0)
                     wait_task_inactive(child);
                       yield();

Failures always show 1 task sleeping with the backtrace listed
above, plus tasks on all cpus spinning waiting to write_lock the
tasklist lock.

Sleeping
   Stack traceback for pid 31069
   0xe00000343b800000    31069    0    3   R  0xe00000343b8003a0 strace
   0xa000000100981c60 schedule+0x2460
   0xa00000010007d4d0 sys_sched_yield+0x110
   0xa000000100982120 yield+0x40
   0xa000000100082f10 wait_task_inactive+0x170
   0xa0000001000a2570 ptrace_check_attach+0x1d0
   0xa00000010002e9b0 sys_ptrace+0x1f0
   0xa00000010000c900 ia64_ret_from_syscall

CPU 0
   0xe00000343b5f0000     4973    0    3   C  0xe00000343b5f03a0  thdcrex
   0xa00000010000caa0 ia64_leave_kernel
   0xa00000010053d0a0 _raw_write_lock+0x120
   0xa0000001009854d0 _write_lock_irq+0x30
   0xa000000100093a00 do_exit+0xae0
   0xa000000100094560 sys_exit+0x20
   0xa00000010000c900 ia64_ret_from_syscall

CPU 1
   0xe000003038880000     4972    0    1   R  0xe0000030388803a0  thdcrex
   0xa00000010000caa0 ia64_leave_kernel
   0xa00000010053d0a0 _raw_write_lock+0x120
   0xa0000001009854d0 _write_lock_irq+0x30
   0xa0000001000880e0 copy_process+0x1f80
   0xa000000100088e30 do_fork+0x150
   0xa00000010000c160 sys_clone2+0x60
   0xa00000010000c900 ia64_ret_from_syscall


Regards,
  - jay

             reply	other threads:[~2006-07-13 17:58 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-13 17:58 Jay Lan [this message]
2006-07-13 18:24 ` [BUG] running strace utility can cause system to hang at sys_ptrace Jay Lan
2006-07-13 18:45 ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44B689B9.3090902@sgi.com \
    --to=jlan@sgi.com \
    --cc=linux-ia64@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox