[e-lang] Draft "Causeway: A message-oriented distributed debugger" -- please comment
Mike Samuel
mikesamuel at gmail.com
Sat Feb 21 23:14:09 EST 2009
2009/2/21 Terry Stanley <cocoonfx at gmail.com>:
> 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?
Yep.
>> 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
>
>
More information about the e-lang
mailing list