From: Jeff Tyrrill (mail_at_jeff-tyrrill.com)
Date: Wed Feb 04 2004 - 12:55:10 PST
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
This archive was generated by hypermail 2.1.6 : Wed Feb 04 2004 - 13:07:00 PST