summaryrefslogtreecommitdiff
path: root/hurd/debugging/rpctrace.mdwn
blob: f71360565dc88a14df7330d3bf5b9a364f56cf0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
[[!meta copyright="Copyright © 2007, 2008, 2009, 2010, 2011 Free Software
Foundation, Inc."]]

[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]

*rpctrace* is -- roughly -- an equivavlent to Linux's *strace* or Solaris' or
BSD's *truss*.  It is used to trace [[remote_procedure_call|rpc]]s a process is
doing.

See `rpctrace --help` about how to use it.


# Issues and Patches

[[!tag open_issue_hurd]]

* <http://savannah.gnu.org/patch/?2104> -- don't assert that local port names
  are valid
* <http://savannah.gnu.org/bugs/?3939> -- `rpctrace`d program hangs when signal
  that terminates or suspends it is sent
  * <http://savannah.gnu.org/patch/?1633> -- terminated with `C-c` `rpctrace`d
    programs hang
* <http://savannah.gnu.org/patch/?5580> -- more readable output

* IRC, unknown channel, unknown date

        <youpi> how to rpctrace a translator ?
        <youpi> ah, just settrans /usr/bin/rpctrace...
        <youpi> hum, it hung, and killing it got a Mach panic (thread in unexpected
          state) ...

* IRC, unknown channel, unknown date

        <antrik> hm... for a funny effect, try running rpctrace on
          /servers/socket/1, and then use dpkg... ;-)

* IRC, unknown channel, unknown date.

        <youpi> the problem of rpctrace is that it's a man in the middle :)
        <youpi> so in principle, by design authentication stuff shouldn't work
        <antrik> I don't think the Hurd auth mechanism in any way prevents or tries to prevent man-in-the-middle...
        <youpi> maybe, but just try, you'll see all kinds of issue as soon as you have authentication stuff
        <youpi> and the basic reason is that being a man in the middle needs special care
        <youpi> which rpctrace doesn't completely do
        <antrik> it's a while since I have dived into rpctrace; but AIUI, it should work just fine if the proxying is done properly
        <antrik> note that there is a number of known bugs in rpctrace, for which zhengda has sent patches... though I haven't reviewed all of them I think
        <antrik> there are some nasty Mach operations that are really hard to proxy -- but I don't think the auth mechanism needs any of these...


# See Also

See also [[open_issues/librpci]].