RE: [Cse461] Re: Class Node

From: Jeff Tyrrill (mail_at_jeff-tyrrill.com)
Date: Wed Feb 04 2004 - 12:55:10 PST

  • Next message: Jeff Tyrrill: "RE: [Cse461] Re: Class Node"

    You say the simulator sends a broadcast packet back to yourself, but not the
    emulator. This alone isn't so bad, but there seems to be a serious bug in
    the way it sends it back to yourself:

    When sending to a neighbor, it seems to queue the packets to be sent until
    each node's routine finishes, so that we can safely assume our event
    routines are atomic. But when sending back to yourself, it seems to
    interrupt the routine that produced the sendPkt immediately to call the
    onReceive method. At least, that's what seems to be happening. Does this
    make sense?

    We caught this because we add a sequence number to our list of sequence
    numbers/senders we've already seen at the END of our sending routine (after
    sendPkt), so in the simulator only but not the emulator, these get broadcast
    to ourself 10-15 times until the TTL runs out, but in the emulator, this
    does not happen. We "fixed" it by adding the sequence number to the list
    before the sendPkt. However, this violates the atomicity that we are to be
    able to assume exists, correct? If the routines were atomic, it wouldn't be
    necessary to make this change. Also, we haven't really checked our code for
    other possible consequences of the sendPkt breaking atomicity for broadcasts
    on the simulator. I'm not absolutely certain that this bug exists in the
    simulator and not in our code, but if so, that would imply that the emulator
    and iPaq are much better than the simulator for ensuring that everything
    works properly.

    (Note: I sent an email to this list earlier about a problem we were having
    with the simulator but not the emulator. I believe that my problem then,
    which we fixed, and the one described in this message, are unrelated. i.e.
    the cause of the problem in my first message was a bug in our code, but the
    problem described in this message is a problem in the Fishnet code. Even
    though I said that our code for checking sequence numbers was the culprit,
    it was in a different way than for the issue in this message.)

    -----Original Message-----
    From: cse461-bounces_at_cs.washington.edu
    [mailto:cse461-bounces_at_cs.washington.edu]On Behalf Of Janet Davis
    Sent: 2004 February 04, Wednesday 11:01
    To: Crystal Hoyer
    Cc: cse461_at_cs.washington.edu
    Subject: [Cse461] Re: Class Node

    On Wed, 4 Feb 2004, Crystal Hoyer wrote:

    > I've just tried connecting to the class node by going near 391 but
    > couldn't bind to it. Is there anything special I need to do to connect to
    > the class node?

    My bug -- it was losing its own link state record! I think I didn't
    discover the problem before because broadcast in the simulator gets you a
    copy of your own packet back, and broadcast on the iPAQs doesn't. (We'll
    grade gently on this issue.)

    Please try again -- it should work now.

    Thanks for the email,
    Janet

    --
    Janet Davis
    jlnd_at_cs.washington.edu
    http://www.cs.washington.edu/homes/jlnd/
    _______________________________________________
    Cse461 mailing list
    Cse461_at_cs.washington.edu
    http://mailman.cs.washington.edu/mailman/listinfo/cse461
    _______________________________________________
    Cse461 mailing list
    Cse461_at_cs.washington.edu
    http://mailman.cs.washington.edu/mailman/listinfo/cse461
    

  • Next message: Jeff Tyrrill: "RE: [Cse461] Re: Class Node"

    This archive was generated by hypermail 2.1.6 : Wed Feb 04 2004 - 13:07:00 PST