The transports we use for IoTivity seldom if ever require retransmission, but 
we have retransmission logic in IoTivity just in case it is needed.

Many months ago I found a bug in the retransmission logic that results in a 
SEGV (crash) when retransmissions are ultimately unsuccessful.  This doesn't 
happen under normal circumstances, so we don't see this bug.

The bug was recently reassigned to me.  Apparently, no work has been done on 
it, and no one else has reported it, so apparently it's now my problem.

I know exactly what causes the failure, though it is hard to reproduce because 
retransmissions are rare.  But I don't know how the retransmission logic is 
supposed to work, so I can't really fix it.  I know how to stop the SEGV, but 
that's not fixing the problem.

What is supposed to happen when the retransmission count is reached?  I don't 
know.  What happens now is that the message is (mostly) bundled up and sent 
back to the RI layer as a received message (which is patently wrong), and 
because the message is incomplete, the RI level fails.  Why is the message 
being sent to the RI layer?  There's no indication why the RI layer's message 
is being sent back to it, or even that that is what the message is.

Is there anyone who understands how the retransmission logic is supposed to 
behave when the retransmission count is reached?  Getting a SEGV seems wrong.

John Light
Intel OTC OIC Development
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20151013/2ec0b1f9/attachment.html>

Reply via email to