[e-lang] Draft "Causeway: A message-oriented distributed debugger" -- please comment
Terry Stanley
cocoonfx at gmail.com
Sat Feb 21 22:35:45 EST 2009
On Fri, Feb 20, 2009 at 5:28 PM, Mike Samuel <mikesamuel at gmail.com> wrote:
> Re causway,
>
> When I'm looking at a debugging framework, my first question is
> usually, can I still use my debugger of last resort, printf (ok, first
> resort)?
>
> You seem to have a _.log() construct.
Yes, it's part of the Waterken ref_send library.
> Is there any way to find an association between a log entry related to
> a message in the source vat, and log entries related to a message in
> the target vat?
Yes. For example, Figure 7 (in the paper) shows that the product vat logged
a "can deliver" comment before sending the run(true) to the callback in the
buyer vat. On receiving that message, the buyer vat logged a "happened: all
true" comment.
I.e., if I'm investigating a message that originated in turn t1 in vat
> a and was handled in turn t2 in vat b, is there a view that lets me
> see log messages in t1 and t2 in sequence?
>
>
> Also, if I do the following,
> vat A logs L1
> vat A sends message M1 to vat B
> vat B handles message M1
> vat B logs L2
> ...
> vat A logs L3
> vat A sends message M2 to vat B
> vat B handles message M2
> vat B logs L4
>
> If I'm debugging a problem with the handling of M2 but have ruled out
> handling of M! as a problem, I have two theories to consider
> (1) something is wrong in vat A that caused it to send a bad M2 so I
> need to look at the messages in A between L1 and L2
> (2) something is wrong in vat B that caused it to mishandle M2, so I
> need to look at the log messages in B between L3 and L4.
>
> Is there a view that lets me find those intervening sequences of events?
Before answering, let me make sure I understand the question. Did you get L2
and L3 swapped in your example?
Also, if I have a large system, I may have lose some log entries due
> to bad disk sectors, lost disks, or chewed tape. If logs have holes
> due to storage degradation, how does that affect debugging?
Causeway works with partial logs -- it builds a graph from whatever log
records it has available. Partial logs are fine. Currently, Causeway does
not indicate in the user interface that there are holes in the log
information. It probably should (and could). Thanks -- good question!
--Terry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.eros-os.org/pipermail/e-lang/attachments/20090221/dc76a276/attachment.html
More information about the e-lang
mailing list