Re: Draft "Causeway: A message-oriented distributed debugger" -- please comment
Mike Samuel <[email protected]>
| Newsgroups | gmane.comp.lang.e.general |
|---|---|
| Message-ID | <[email protected]> |
2009/2/21 Terry Stanley <[email protected]>: > On Fri, Feb 20, 2009 at 5:28 PM, Mike Samuel <[email protected]> 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 > >