public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
To: Mike Becher <Mike.Becher@lrz-muenchen.de>
Cc: linux-kernel@vger.kernel.org, davidm@hpl.hp.com, bjorn.helgaas@hp.com
Subject: Re: ptrace problem on ia64 with kernel 2.4.26
Date: Mon, 9 Aug 2004 21:28:08 -0300	[thread overview]
Message-ID: <20040810002808.GA9121@logos.cnet> (raw)
In-Reply-To: <Pine.LNX.4.58.0408050827430.7618@lxmbe01.lrz.lrz-muenchen.de>


Woh, I've got no clue, but I believe the check you are hitting is:

ia64/kernel/ptrace.c sys_ptrace():

        /* read the word at location addr in the USER area. */
        case PTRACE_PEEKUSR: {
                unsigned long tmp;
                                                                                      
                ret = -EIO;
                if ((addr & 3) || addr < 0 ||
                    addr > sizeof(struct user) - 3)
                        break;
		***********************************
                                                                                      
                tmp = 0;  /* Default return condition */
                if(addr < FRAME_SIZE*sizeof(long))
                        tmp = getreg(child, addr);
                if(addr >= (long) &dummy->u_debugreg[0] &&
                   addr <= (long) &dummy->u_debugreg[7]){
                        addr -= (long) &dummy->u_debugreg[0];
                        addr = addr >> 2;
                        tmp = child->thread.debugreg[addr];
                }
                ret = put_user(tmp,(unsigned long *) data);
                break;
        }

Can you show us the address which is being passed to successful ptrace's 
and to the failed ones?

Bjorn, David?


On Thu, Aug 05, 2004 at 12:06:08PM +0200, Mike Becher wrote:
> Hi,
> 
> on our Linux IA64 cluster we got the problem that tools like strace, gdb, 
> ddd, and other debugging tools, which depend on ptrace system call, don't
> work after some days of uptime of a node. I have searched already in the 
> web about information relating to that problem but haven't found any answer. 
> 
> description:
> ------------
> On a node that got the problem (when it runs longer than 3 days) strace 
> produce this output:
>   [mibe@lxsrv154]# strace /bin/true
>   execve("/bin/true", ["/bin/true"], [/* 38 vars */]) = 0
>   upeek: ptrace(PTRACE_PEEKUSER, ... ): Input/output error
> Instead on a `younger' node or fresh booted node strace works fine.
> 
> To find out what is differnt I have used also the `utrace' tool
> (http://www.gelato.unsw.edu.au/IA64wiki/utrace) with a small
> modification to peek info about register r4.
> 
> diff utrace.c.orig utrace.c
> 62c62
> <   long scnum, result, error, val;
> ---
> >   long scnum, result, result_r4, error, val;
> 74a75
> >   result_r4 = ptrace (PTRACE_PEEKUSER, child_pid, PT_R4, 0);
> 
> With this register starts the critical area of ptrace for debuggers
> when problem exists. They all don't do their work because they cannot
> gather information about some registers like r4, r5, r6, r7.
> Also it doesn't work for user `root'.
> Whether in messages files nor in /proc filesystem nor with dmesg I
> have found any info that can give me a hint what has changed. 
> 
> configuration:
> --------------
> We use the following configuration:
> * kernel 2.4.26 (vanilla kernel) with 
>   - official linux-2.4.26-ia64-040510.diff.bz2 (11-May-2004 11:18)
>   - EXPORT_SYMBOL_NOVERS(iosapic_fixup_pci_interrupt) in
>     linux-2.4.26/arch/ia64/kernel/ia64_ksyms.c
>   - commented out 
>      printk(KERN_WARNING "%s(%d): floating-point assist...)
>     in linux-2.4.26/arch/ia64/kernel/traps.c
>   - BitKeeper patch which fixes x86 "clear_cpu()" macro.
>     on line 34 to >>> asm volatile("fnclex ; fwait");
> * openafs 1.2.11
> * Myrinet driver GM build ID is "1.6.4_Linux_and_AIX
> * PVFS 1.6.2 with pvfs-1.6.2-01292004.patch
> * following modules are loaded:
>   [mibe@lxsrv154 ia64]# lsmod
>   Module                  Size  Used by    Tainted: PF
>   pvfs                  147336   7
>   imb                    43024   0
>   gm                    620176   1  (autoclean)
>   libafs-2.4.26.mp     1296528   2
>   e1000                 170976   1
>   nls_iso8859-1           6000   1  (autoclean)
>   nls_cp437               7680   1  (autoclean)
>   usbkbd                  9040   0  (unused)
>   ehci-hcd               54872   0  (unused)
>   usb-uhci               66888   0  (unused)
>   usbcore               182800   1  [usbkbd ehci-hcd usb-uhci]
>   aacraid                95512   7
>   sd_mod                 33856  14
> 
> Hope someone can help me to solve this problem.
> 
> best regards,
>   Mike
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

      reply	other threads:[~2004-08-10  1:35 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-05 10:06 ptrace problem on ia64 with kernel 2.4.26 Mike Becher
2004-08-10  0:28 ` Marcelo Tosatti [this message]

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=20040810002808.GA9121@logos.cnet \
    --to=marcelo.tosatti@cyclades.com \
    --cc=Mike.Becher@lrz-muenchen.de \
    --cc=bjorn.helgaas@hp.com \
    --cc=davidm@hpl.hp.com \
    --cc=linux-kernel@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